Retro-engineering
The retro-engineering (literal translation of English reverse engineering ), also called retro-design or reversed engineering , is the activity which consists in studying an object to determine of it the inner working or its manufacturing method.
Several objectives can be aimed by this analysis:
- to include/understand the operation of this object, to be in measurement to use it correctly or to modify it
- to manufacture a copy of this object whereas one can obtain neither the plans from them nor the manufacturing methods (generally illegal activity on a legal level)
- to create a new object having functionalities identical to the starting object, without violating patent
- to analyze an object produced by a competitor, either within the framework of an activity of competing day before or to detect potential patent violations
According to the nature of the object and the had aim, various methods and techniques are used. For physical objects, it is possible to dismount the system up to a certain point to analyze the components of them. In electronics and data processing, the step can be that of the study of a block box: one isolates the object to be studied, one determines the active entries and exits. One then tries to determine the answer of the system according to the variations of the signals in entry.
Short history of retro-engineering
One finds several examples of retro-engineering in the military field. For example, at the end of the years 1940, Soviet built the bomber Tupolev You-4, which is in fact a copy of the American bomber Boeing B-29 Superfortress. This copy was carried out by retro-engineering of three B-29 captured after an emergency landing in the USSR.
August 1st
Retro-engineering of the physical objects
August 1st
Retro-engineering in electronics
August 1st
Retro-engineering in data processing
Retro-engineering also applies to the Logiciel. This can be carried out by using tools for analysis like the Désassembleur or the Décompilateur. The methods employed are similar to that of the Débogage.
The project Samba is a typical example of retro-engineering. The team had to determine the operation of the resource sharing in network of the Operating system Microsoft Windows without having access to the official technical specifications. They thus had to determine them then to translate them in the form of a computer program. The same applies to the filing system NTFS.
Retro-engineering Logiciel is frequently applied to the structures of data: it acts, in this case of figure, to carry out a retro-documentation structures of badly documented data physical little or (growing old applications). One tries to reconstitute a data model starting from the physical structures of the files or the tables.
Retro-engineering Logiciel it was popularized with the diversion of protections anticopie video games. This activity is called ace ing.
To write pilots for certain peripherals (will cybercaméra, scanner,…), the developers of free software are found often constrained to make retro-engineering on the pilot by intercepting the exchanges between the chip and the pilot, thus discovering how to dialog with the chip. It is then a question of simulating the pilot, then to better do (cf controls Linux of will cybercaméra spca, pwc, etc). An example is the project Nouveau aiming at producing free pilots 3D for charts NVIDIA.
In Cryptography, retro-engineering takes several forms with cryptanalytic attacks . The goal is to extract from secret information since the “block box” symbolizing the procedure of coding. These types of attacks are named attacks by auxiliary channels. It is thought that retro-engineering is also at the origin of the escape of the algorithms RC2 and RC4 which was diffused on Internet via the newsgroup Sci.crypt. The algorithm Arcfour is a clone of RC4 besides.
Programs in intermediate languages
The computer programming languages semi-compiled (compiled in a binary code interpreted by a virtual machine) such as Java and .NET make easier retro-engineering.
Thus, the retro-engineering of binary files achievable intended for the platform Java can be carried out with the program ArgoUML.
For the programs .NET, Microsoft provides out of standard ILDASM, and there exist also decompilers .NET
Retro-engineering like defense
-
study of binary malicious (Rootkit) within the framework of an computer attack.
- study of Computer virus for the improvement of an antivirus or in order to bring a means of eradication
- study and the search for vulnerabilities in the software, in order to improve their safety
Retro-engineering like activity of technological survey
Retro-engineering is also an activity of Technological survey. It is directed towards:
-
the study of the competing products,
- the comprehension of the methods used by the competitor,
- the research of the suppliers,
- determination of the components used,
- the estimate of the cost price starting from whole or part of preceding information,
- to detect potential patent violations made by a competitor or to avoid.
See too
-
Tools for the retro-engineering of the software: Decompiler, Disassembler, Debugger
External bonds
-
OpenRCE: A gate of retro-engineering
- Site of the project Samba
- MoDisco: (Model Discovery), a project Eclipses on the retro-engineering directed by the models
- Site of ArgoUML: The retro-engineering of achievable binary files Java
- Reverse allows Codes Engineering Community
- French Reverse Engineering TEAM
- Ligue of Assoiffés de Bricolage on Computer.
| Random links: | Monocorps | Jonathan Potts | Peter, Paul and Mary | Groesbeek | Alice Cooper' S Greatest Hits | Ludwig_Wittgenstein |