Reverse engineering has its origins in the analysis of hardware for commercial or military advantage.
:13 However, the reverse engineering process in itself is not concerned with creating a copy or changing the artifact in some way; it is only an
analysis in order to
deduce design features from products with little or no additional knowledge about the procedures involved in their original production.
:15 In some cases, the goal of the reverse engineering process can simply be a
 Even when the product reverse engineered is that of a competitor, the goal may not be to copy them, but to perform
 Reverse engineering may also be used to create
interoperable products; despite some narrowly tailored US and EU legislation, the legality of using specific reverse engineering techniques for this purpose has been hotly contested in courts worldwide for more than two decades.
There are various reasons for performing reverse engineering in various fields. For software, reverse engineering can help to improve the understanding of the underlying source code for the maintenance and the improvement of the software. Relevant information can be extracted to make a decision for software development, graphical representations of the code can help to generate alternate views regarding a source code, and to detect and fix a software bug or software vulnerability. Besides, as a software develops over time, information of the software designs and improvements are often lost with time. With reverse engineering, such pieces of lost information can be recovered. Reverse engineering can help to cut down the time required to understand the source code, thus reducing the overall cost of the software production.
 Besides, reversing can be useful in finding a malicious code in a software, thus enable the elimination of the code from the software system with better code detectors. Reversing a source code can also be useful in finding uses of the source code, and detecting the replicating of source code where it is not intended to be used. Reversing is also a good way of learning on how other people's products are being built.
 On the other hand, reverse engineering can also be used to
"crack" software and media to remove their
:7 or to create a (possibly improved)
copy or even a
knockoff; this is usually the goal of a
Malware developer often uses reverse engineering techniques to find vulnerabilities in an
operating system (OS), in order build a
computer virus that can exploit the system vulnerabilities.
:5 Reverse engineering is also being used in
cryptanalysis in order to find vulnerabilities in
symmetric-key algorithm or
- 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
- 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.
Integrated circuits are often designed on proprietary systems, and built on production lines which become obsolete in only a few years. When systems using these parts can no longer be maintained (since the parts are no longer made), the only way to incorporate the functionality into new technology is to reverse-engineer the existing chip and then
redesign it using newer tools, using the understanding gained as a guide. Another obsolescence originated problem which can be solved by reverse engineering is the need to support (maintenance and supply for continuous operation) existing, legacy devices which are no longer supported by their
original equipment manufacturer (OEM). This problem is particularly critical in military operations.
- 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, or circumvention of access restrictions.
- 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, when obsolete objects are reused in a different but useful manner.