Reverse engineering is widely used in the fields of new product development and product modification design, product imitation, quality analysis and detection. Its role is:
1. Shorten the design and development cycle of products and speed up the upgrading of products;
2. Reduce the cost and risk of developing new products;
3. Accelerate product modeling and seriation design;
4. It is suitable for the manufacturing of single and small batches of parts, especially the manufacturing of molds, which can be divided into direct mold making and indirect mold making. Direct mold making method: The rapid direct mold making method based on RP technology is to directly manufacture the results of mold CAD by RP system. This method does not need to use RP system to make samples, nor does it rely on traditional mold manufacturing technology. It is particularly fast for metal mold manufacturing, and is a promising mold manufacturing method; Indirect mold making method: indirect mold making method is to use RP technology to manufacture product parts prototype, and use the prototype as the mother mold, mold core or mold making tool (grinding mold), and then combine with the traditional mold making process to produce the required mold
There are many ways to implement software reverse engineering, including three main methods:
1. Analyze the observations obtained through information exchange.
It is most commonly used in protocol reverse engineering, involving the use of bus analyzer and packet sniffer. After accessing the computer bus or network connection and successfully intercepting the communication data, the bus or network behavior can be analyzed to create a communication implementation with the same behavior. This method is especially suitable for reverse engineering of device drivers. Sometimes, tools specially made by hardware manufacturers, such as JTAG ports or various debugging tools, also help reverse engineering of embedded systems. For Microsoft's Windows system, the popular underlying debugger is SoftICE.
2. Disassembly is to use the disassembler to translate the original machine code of the program into assembly code that is easier to read and understand. This applies to any computer program, and is especially useful for people who are not familiar with machine code. Popular related tools include OllyDebug and IDA.
3. Decompile, that is, use the decompiler to try to reproduce the source code in high-level language form from the machine code or bytecode of the program.