Reverse Engineering

1. What is reverse engineering (RE)?

  • Reverse Engineering (RE): "disassemble or analyze in detail in order to discover concepts involved in manufacture." - "reverse engineer." The Merriam-Webster Dictionary, New ed. 2004.
  • Reverse engineering is "the process of discovering the technological principles of a mechanical application through analysis of its structure, function and operation. That involves sometimes taking something apart and analyzing its workings in detail, usually with the intention to construct a new device or program that does the same thing without actually copying anything from the original." - Wikipedia

2. What are some common uses for reverse engineering?

According to the Computer World, reverse engineering is commonly used:
  1. As a learning tool
  2. as a way to make new compatable products that are cheaper than what's currently on the market.
  3. for making software interoperate more effectively or to bridge different operating systems or databases.
  4. to uncover the uncoordinated features of commercial products.
This kind of inquiry engages individuals in a constructive learning process about the operation of systems and products. The process of taking something apart and revealing the way in which it works is an effective way to learn how to build a technology or make improvements to it.

According to A Methodology for Reverse Engineering, reverse engineering consists of the following steps:

  • Observe and assess the mechanisms that make the device work.
  • Dissect and study the inner workings of a mechanical device.
  • Compare the actual device to your observations and suggest improvement.
Through reverse engineering, a researcher can gather the technical data necessary for the documentation of the operation of a technology or component of a system. When reverse engineering software, researchers are able to examine the strength of systems and identify their weaknesses in terms of performance, security, and interoperability. The reverse engineering process allows researchers to understand both how a program works and also what aspects of the program contribute to its not working. Independent manufacturers can participate in a competitive market that rewards the improvements made on dominant products. For example, security audits, which allow users of software to better protect their systems and networks by revealing security flaws, require reverse engineering. The creation of better designs and the interoperability of existing products often begin with reverse engineering.

3. How is reverse engineering implemented legally?

There are two basic legalities associated with reverse engineering:
  • a. Copyright Protection - protects only the look and shape of a product.
  • b. Patent Protection - protects the the idea behind the functioning of a new product.
According to npd-solutions a patent is no more than a warning sign to a competitor to discourage competition. Also npd-solutions says that if there is merit in an idea, a competitor will do one of the following:
  • Negotiate a license to use the idea.
  • Claim that the idea is not novel and is an obvious step for anyone experienced in the particular field.
  • Make a subtle change and claim that the changed product is not protected by patent.
Commonly, RE is performed using the clean-room or Chinese wall. Clean-room, reverse engineering is conducted in a sequential manner:
  1. a team of engineers are sent to disassmble the product to investigate and describe what it does in as much detail as possible at a somewhat high level of abstraction.
  2. description is given to another group who has no previous or current knowledge of the product.
  3. second party then builds product from the given description. This product might achieve the same end effect but will probaby have a different solution approach.

4. What are some legal cases and ethical issues involving reverse engineering?

New court cases reveal that reverse engineering practices which are used to achieve interoperability with an independantly created computer program, are legal and ethical. In December, 2002, Lexmark filed suit against SCC, accusing it of violating copyright law as well as the DMCA. SCC reverse engineered the code contained in Lexmark printer cartidge so that it could manufacture compatible cartiges. According to Computerworld , Lexmark "alleged that SCC's Smartek chips include Lexmark software that is protected by copyright. The software handles communication between Lexmark printers and toner cartidges; without it, refurbished toner cartidges won't work with Lexmark's printers." The court ruled that "copyright law shouldn't be used to inhibit interoperability between one vendor's products and those of its rivals. In a ruling from the U.S. Copyright Office in October 2003, the Copyright Office said "the DMCA doesn't block software develpers from using reverse engineering to access digitally protected copyright material if they do so to achieve interoperability with an independently created computer program."

5. Is reverse engineering unethical?

This issue is largely debated and does not seem to have a clear cut answer. The number one argument against reverse engineering is that of intellectual property. If an individual or an organization produces a product or idea, is it ok for others to "disassemble" the product in order to discover the inner workings? Lexmark does not think so. Since Lexmark and companies like them spend time and money to develop products, they find it unethical that others can reverse engineer their products. There are also products like Bit Keeper that have been hurt by reverse engineering practices. Why should companies and individuals spend major resources to gather intellectual property that may be reversed engineered by competitors at a fraction of the cost?

There are also benefits to reverse engineering. Reverse engineering might be used as a way to allow products to interoperate. Also reverse engineering can be used as a check so that computer software isn't performing harmful, unethical, or illegal activities.

6. Conclusion

Although reverse engineering is legal as long as another person or group does not explicitly copy another product, the ethical debate is sure to endure. One argument for reverse engineering is summed up by an analogy offered by Jennifer Granick , director of the law and technology clinic at Stanford Law School, "You have a car, but you're not allowed to open the hood." Other companies, such as Lexmark will argue that reverse engineering infringes upon their intellectual property.
Table of Contens - Index of Topics - Old Study Guide