Science  People  Locations  Timeline
Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Home > Reverse engineering


 Contents
Reverse engineering (RE) is the process of taking something (a device, an electrical component, a software program, etc.) 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. 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 is a often used by military, in order to copy other nations technology, parts of which have been obtained by intelligence operations. It was often used during Second World War and Cold War.

Reverse-engineering software or hardware systems for the purposes of interoperability, for example in order to support undocumented file formats or hardware peripherals, is mostly believed to be legal, though patent owners often aggressively pursue their patents.

Other purposes of reverse-engineering include security auditing, removal of copy protection (" cracking"), circumvention of access restrictions often present in consumer electronics and customization of embedded systems, for example engine management systems.

1 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.

2 Reverse engineering of software

Reverse engineering can also apply to software. For example, reverse engineering of binaries for the Java platformThe Java platform consists of: The Java virtual machine The Java API In addition to Java itself, the following languages were specifically designed for the platform: Groovy Pizza GJ Java platform. can be accomplished using ARGOuml.org. One very famous case of reverse engineering was the first non- IBM implementation of BIOSIn computing, the Basic Input-Output System or BIOS is computer interface code that locates and loads the operating system into RAM. It provides low-level communication, operation and configuration to the hardware of a system, which at a minimum drives th.

In the United StatesThe United States of America also referred to as the United States U. America ¹ or the States is a federal republic in central North America, stretching from the Atlantic in the east to the Pacific Ocean in the west. It shares land borders with Canada in, the Digital Millennium Copyright ActThe Digital Millennium Copyright Act DMCA is a controversial United States copyright law which criminalizes production and dissemination of technology that can circumvent measures taken to protect copyright, not merely infringement of copyright itself, an 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, since it's acceptable to circumvent restrictions for use, but not for access.

The Samba softwareSamba is a free software implementation of Microsoft's networking system. As of version 3, samba not only provides file and print services for various Microsoft Windows clients but can also provide domain services, either as a Primary Domain Controller (P, which allows systems that are not running Microsoft WindowsImage use policy. Microsoft Windows is a range of commercial operating environments for personal computers. The range was first introduced by Microsoft in 1985 and eventually has come to dominate the world personal computer market. All recent versions of 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 various methods. The two main groups of reverse engineering is analysis through observation of information exchange (most prevalent in protocol reverse engineering) and decompilation or disassembly using a disassembler.



Read more »

Non User