Reverse Engineering
Reverse Engineering
ROHIT BHILAVE
1ST YEAR OF DIPLOMA IN MECHANICAL ENGINEERING
INSTITUTE OF CIVIL AND RURAL ENGINEERING
GARGOTI, KOLHAPUR
MAHARASHTRA
Design is not just what it looks like and feels like,
Design is how it works like
STEVE JOBS
Reverse engineering, also called back
engineering, is the processes of extracting
knowledge or design information from anything
man-made and re-producing it or reproducing
anything based on the extracted information. The
process often involves disassembling something
(a mechanical device, electronic component,
computer program, or biological, chemical, or
organic matter) and analyzing its components and
workings in detail.
The reasons and goals for obtaining such
information vary widely from everyday or
socially beneficial actions, to criminal actions,
depending upon the situation. Often
nonintellectual property rights are breached,
such as when a person or business cannot
recollect how something was done, or what
something does, and needs to reverse
engineer it to work it out for themselves.
Reverse engineering is also beneficial in crime
prevention, where suspected malware is
reverse engineered to understand what it does,
and how to detect and remove it, and to allow
computers and devices to work together
("interoperate") and to allow saved files on
obsolete systems to be used in newer systems.
By contrast, reverse engineering can also be
used to "crack" software and media to remove
their copy protection, or to create a (possibly
improved) copy or even a knockoff; this is
usually the goal of a competitor.
Reasons for reverse engineering
• Interfacing. Reverse engineering can be used when a
system is required to interface to another system and
how both systems would negotiate is to be
established. Such requirements typically exist for
interoperability
• Military or commercial espionage. Learning about
an enemy's or competitor's latest research by
stealing or capturing a prototype and dismantling it.
It may result in development of similar product, or
better countermeasures for it.
• Product security analysis. To examine how a
product works, what are specifications of its
components, estimate costs and identify
potential patent infringement. Acquiring
sensitive data by disassembling and analysing
the design of a system component. Another
intent may be to remove copy protection,
circumvention of access restrictions
• Bug fixing. To fix (or sometimes to enhance)
legacy software which is no longer supported
by its creators (e.g. abandonware).
• Competitive technical intelligence.
Understand what one's competitor is actually
doing, versus what they say they are doing.
• Saving money, when one finds out what a
piece of electronics is capable of, it can spare a
user from purchase of a separate product.
• Repurposing, in which opportunities to
repurpose stuff that is otherwise obsolete can
be incorporated into a bigger body of utility.
Reverse engineering of protocols
• Protocols are sets of rules that describe message formats and how
messages are exchanged (i.e., the protocol state-machine).
Accordingly, the problem of protocol reverse-engineering can be
partitioned into two subproblems; message format and state-
machine reverse-engineering.