Reverse engineering
To reverse-engineer (RE) something (a device, an electrical component, a
software program, etc.), is to take it apart and analyze its workings in
detail, and after that to reconstruct a new device/program/etc. that does
the same thing, without actually copying anything from the original. The
verb form is to reverse-engineer, spelled with a hyphen.
Reverse-engineering is commonly done to avoid copyrights on desired
functionality, and may be used for avoiding patent law, though this is a bit
risky: patents apply to the functionality, not a specific implementation of it.
Reverse-engineering things (like software) for interoperability (i.e.
supporting file formats etc.) is mostly believed to be legal, though patent
owners often agressively pursue their patents.
Reverse engineering of electronic components
Coordinate-measuring machines (CMM) can be used to digitise a circuit and
the information can be utilised in computer-aided modelling. New and
improved techniques in reverse engineering include laser scanning which, as
the name implies, uses laser beams to scan across the surface of components
of any shape and display the results in real time.
Reverse engineering of software
Reverse engineering can also apply to software. For example, reverse
engineering of binaries for the Java platform can be accomplished using
ARGOuml.org. One very famous case of reverse engineering was the first
non-IBM implementation of BIOS.
In the United States, the Digital Millennium Copyright Act exempts from the
circumvention ban some acts of reverse engineering aimed at interoperability
of file formats and protocols (17 USC 1201(f)), but judges in key cases have
ignored this law.
The Samba software, which allows systems that are not running Microsoft
Windows systems to share files with systems that are, is a classic example
of software reverse engineering, since the Samba project had to reverse
engineer unpublished information about how Windows file sharing worked, so
that non-Windows computers could emulate this. The WINE project does the
same thing for the Windows API, and OpenOffice.org is one party doing this
for the Microsoft Office file formats.
Reverse engineering of software can be accomplished by decompilation or
disassembly. The leading product for disassemblying binaries is
InteractiveDisAssembler.
Reverse engineering as business research
Reverse engineering is also used by businesses to assess competitors'
products. It is used to analyze, for instance, how a competitor's product
works, what it does, who manufactures it, what components it consists of,
estimate costs, identify potential patent infringement, etc.
Value engineering is a related activity also used by business. It involves
deconstructing and analysing products, but the objective is to find
opportunities for cost cutting.
This content from Wikipedia is licensed under the GNU Free Documentation License.
|
|