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.
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:
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.
- As a learning tool
- as a way to make new compatable products that are cheaper than what's currently on the market.
- for making software interoperate more effectively or to bridge different operating systems or
- to uncover the uncoordinated features of commercial products.
According to A Methodology
for Reverse Engineering, reverse engineering consists of the following steps:
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.
- 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.
3. How is reverse engineering implemented legally?
There are two basic legalities associated with reverse engineering:
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:
- 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.
Commonly, RE is performed using the clean-room or Chinese wall. Clean-room, reverse engineering is conducted in a sequential manner:
- 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.
- 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.
- description is given to another group who has no previous or current knowledge of the product.
- 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
Also reverse engineering can be used as a check so that computer software isn't performing harmful, unethical,
or illegal activities.
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
, 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.