Nepedia
Back to Discover
Advanced Reader
💻

Reverse engineering

technology Maturity 9-11 Next article →

Reverse engineering is a method used to understand how a finished product works. This process is also called backwards engineering or back engineering. It involves using deductive reasoning to figure out how a device, system, or piece of software accomplishes a task. Often, the person performing the analysis has very little insight into the original design. This method allows experts to learn about the inner workings of complex objects without having the original blueprints.

Tupolev Tu-4, Russia - Air Force AN0189663
Tupolev Tu-4, Russia - Air Force AN0189663

Every reverse engineering process follows three fundamental steps. The first step is information extraction. This is the practice of gathering all relevant data needed for the operation. The second step is modeling. In this stage, the gathered information is combined into an abstract model. This model serves as a guide for designing a new object or system. The final step is the review. During this phase, the model is tested to ensure the chosen abstraction is valid and accurate.

In the field of mechanical engineering, reverse engineering often involves creating 3D digital models. Experts use 3D scanning technologies to measure a physical object. These tools include laser scanners, CMMs, structured light digitizers, and industrial CT scanning. This scanning creates a point cloud, which is a collection of data points. Because a point cloud lacks topological information, it is often converted into a triangular-faced mesh. Engineers then aim to recover the original design intent. They do this by creating analytical surfaces, such as planes or cylinders, or by using NURBS surfaces to build a boundary-representation CAD model.

Software reverse engineering, or SRE, focuses on analyzing computer code. In 1990, the Institute of Electrical and Electronics Engineers (IEEE) provided a formal definition for this process. They described it as analyzing a system to identify its components and their relationships. This process creates representations of the system at a higher level of abstraction. SRE is generally divided into two main components: redocumentation and design recovery. Redocumentation involves creating new representations of code to make it easier to understand. Design recovery uses reasoning and general knowledge to understand the underlying design principles.

Gene network inference classes
Gene network inference classes

There are many practical reasons to use these techniques across different industries. In software, it can be used for maintenance, improving code, or detecting software bugs and vulnerabilities. It can also help find malicious code or unauthorized replication of source code. In the gaming industry, developers use it to understand game engines and proprietary protocols. This allows them to create custom tools, mods, or better compatibility between different platforms. Some tools, like ResHax, even help analyze game binaries to understand engine behavior.

Reverse engineering is also vital for managing obsolete technology. Many integrated circuits are designed on proprietary systems that become obsolete in just a few years. When the original parts are no longer manufactured, engineers must reverse-engineer existing chips to redesign them with newer tools. This is especially critical in military operations where legacy devices must be maintained for continuous operation. Similarly, engineers reverse-engineer printed circuit boards (PCBs) to recreate fabrication data. They use images from scans or photographs to rebuild the design in software, which allows them to upgrade or replace outdated boards.

Tupolev Tu-4, Russia - Air Force AN0189663
Tupolev Tu-4, Russia - Air Force AN0189663

Finally, the process has significant implications for business and security. Companies use it for competitor analysis to understand what a rival is actually doing. It can also be used for product security analysis to estimate costs or identify patent infringement. In some cases, it is used for cryptanalysis to find vulnerabilities in encryption algorithms. Even in manufacturing, companies use 3D scanning to work on historical collections. This allows them to optimize their innovation and production processes through 3D re-modeling. Whether it is for saving money or improving security, reverse engineering remains a powerful tool for discovery.

618 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

🖼️ Images & Media (2)
File:Tupolev Tu-4, Russia - Air Force AN0189663.jpg
Tupolev Tu-4, Russia - Air Force AN0189663.jpg
File:Gene network inference classes.png
Gene network inference classes.png
More to explore

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.