Overview
How does the iPhone work? Apple won’t tell you. So you buy one, take it apart, look at the chips, and figure it out yourself. That is Reverse Engineering. It is the art of learning from the finished product.
Core Idea
The core idea is Deconstruction. Taking something apart to see how it ticks.
Formal Definition
The process of deconstructing a man-made object to reveal its design, architecture, or to extract knowledge. Used in: Software (Malware analysis), Hardware (Competitor analysis), Biology (Understanding the brain).
Intuition
- The Spy: During the Cold War, the US would steal a Soviet jet, take it apart, and learn their secrets.
- The Chef: Tasting a dish at a restaurant and trying to cook it at home without the recipe.
Examples
- PC Clones: In the 80s, Compaq reverse engineered the IBM BIOS. This allowed them to build computers that ran Windows but were cheaper than IBM. It created the modern PC market.
- Malware Analysis: Antivirus companies reverse engineer viruses to figure out how they infect computers and how to stop them.
- 3D Scanning: Scanning an old car part that isn’t made anymore so you can 3D print a replacement.
Common Misconceptions
- It’s illegal: It is generally legal if you buy the product. However, breaking “Digital Rights Management” (DRM) or violating patents can be illegal.
- It’s copying: It’s analyzing. If you just copy it, that’s counterfeiting. If you learn how it works and build your own version, that’s innovation.
Related Concepts
- Black Box: A system where you can see the input and output, but not the inside. Reverse engineering tries to make the box transparent.
- Clean Room Design: A legal trick. One team reverse engineers the code and writes a specification. A second team (who never saw the original code) writes new code based on the spec. This proves no copyright was violated.
Applications
- Legacy Systems: Fixing old software when the original source code is lost.
Criticism / Limitations
- Obfuscation: Companies try to stop reverse engineering by making their code messy and hard to read.
Further Reading
- Eilam, Eldad. Reversing: Secrets of Reverse Engineering.