In November 1982, three former Texas Instruments managers showed a portable computer that ran IBM PC software. The hard part was not the case or the screen. It was 8 KB of code: the BIOS, the firmware IBM owned and had published in its technical manual. Copy it, and IBM's lawyers would end the company. Ignore it, and nothing would run.
Compaq's answer was a method, not a chip. One team read IBM's code and wrote down what it did. A second team, who had never seen that code, wrote new firmware from the description. Lawyers kept the paper trail. That method, the clean room, launched the PC clone industry and became the template for 40 years of reverse engineering.
This is the full history: the court cases that made it legal, the tools from SoftICE to Ghidra, the volunteers who rebuilt Windows, SMB and Super Mario 64 from the outside, the malware analysts who took apart Stuxnet and the xz backdoor, and the 2024 to 2026 shift in which AI agents started to drive disassemblers over the Model Context Protocol.
TL;DR: Reverse engineering turned shipped software into understanding, from Compaq's 1982 clean-room BIOS to the NSA's free Ghidra in 2019. Since 2025, AI agents drive Ghidra, IDA and Hopper over MCP, and Hex-Rays shipped an official IDA MCP server in September 2026. The last step is new: a behavior spec becomes a live app in Taskade Genesis.
🧩 What Is Reverse Engineering?
Reverse engineering is the study of a finished product to learn how it works, without access to its original design. In software, that means reading a compiled binary, an app bundle or a network protocol to recover behavior, interfaces and data formats. The Oxford English Dictionary dates the term to 1957, in US procurement and patent writing.
Forward engineering goes from idea to specification to code to binary. Reverse engineering walks the same ladder in the other direction. It rarely recovers the original source. It recovers enough understanding to fix, secure, interoperate with, preserve or reimplement a system.
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Binary / │──▶│ Disassembly │──▶│ Pseudocode │──▶│ Behavior spec│──▶│ Live app │
│ ASAR / APK │ │ (IDA 1991) │ │ (Hex-Rays, │ │ (evidence, │ │ (Taskade │
│ │ │ │ │ Ghidra) │ │ unknowns) │ │ Genesis) │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
the artifact instructions readable logic understanding a new system
Static vs. dynamic analysis
Every reverse engineering job mixes two modes. Static analysis reads the program without running it: strings, imports, control flow, decompiled functions. Dynamic analysis runs the program and watches it: breakpoints, memory, system calls, network traffic. Static analysis shows what code could do. Dynamic analysis shows what it did on one run.
| Type | What you study | Typical tools | Typical goal |
|---|---|---|---|
| Static binary analysis | Machine code, without running it | IDA, Ghidra, Binary Ninja, Hopper | Understand logic, find bugs |
| Dynamic analysis | A running process | x64dbg, LLDB, Frida | Confirm behavior, trace data |
| Protocol analysis | Network traffic | Wireshark, mitmproxy | Interoperability (Samba) |
| Mobile and bytecode | APK, DEX, .NET IL, Java | JADX, Apktool, ILSpy | Audit apps, recover logic |
| Firmware and hardware | ROM dumps, chips | Binwalk, logic analyzers | Repair, security research |
| Web and Electron | JavaScript bundles, source maps | Browser DevTools, ASAR tools | Learn how a feature works |
Why people reverse engineer software
The motives have barely changed since 1982. Interoperability (make my product work with yours), security (find the bug before an attacker does), repair (fix a machine the vendor will not), preservation (keep a dead platform alive), and learning (understand how a great feature works so you can build your own). This post covers all five, and it does not cover cracking, DRM bypass or cheating, which courts and this author treat very differently.
Software reverse engineering is older than the PC. In 1960, a team at the US Navy Electronics Laboratory built D-Neliac, the first known decompiler, and 1960s decompilers helped move old programs from one generation of machines to the next. The idea that a machine can be read back into its logic is as old as information theory itself. What changed over the decades is who could afford to do it, and what they could do with the answer. For the wider arc of the machines being studied, see the history of computing.
📜 The Clean Room: How Compaq and Phoenix Cloned the IBM PC (1982-1984)
The clean room is a two-team method for building a compatible product without copying protected code. One team studies the original and writes a functional specification. Lawyers review it. A second team that never saw the original writes new code from the specification. Compaq used it for its 1983 Portable, and Phoenix Technologies sold it to every clone maker from 1984.

The IBM PC 5150 (1981). IBM published the BIOS source listing in its technical reference manual, which made copying easy to prove and clean-room work necessary. Photo: Fried Dough, Wikimedia Commons, public domain.
The problem IBM created
IBM built the 1981 PC from off-the-shelf parts: an Intel 8088 CPU, a Microsoft operating system, standard expansion slots. Anyone could buy the parts. The one proprietary piece was the BIOS, the firmware that sits between the operating system and the hardware. Software that called the BIOS directly, and plenty did, only ran on a machine whose BIOS behaved exactly like IBM's.
IBM also printed the BIOS source listing in the IBM PC Technical Reference Manual. That was generous to programmers and dangerous to competitors. Any engineer who had read the listing was "tainted": if their code resembled IBM's, the resemblance would look like copying.
Who was first?
Compaq gets the credit, but it was not first. Columbia Data Products shipped the MPC 1600 in June 1982, widely cited as the first IBM PC compatible. Compaq announced the Compaq Portable in November 1982 and shipped it in March 1983. Its BIOS was the one that held up, because of how Compaq built it. Rod Canion, Compaq's co-founder, said the clean-room work took about nine months and compared it to deciphering hieroglyphs. Compaq sold 53,000 Portables and booked $111 million in its first year.
How the method works
The specification describes what each BIOS routine does: which register holds the input, what it returns, which errors it reports. It never says how IBM's code did it. Team B writes its own implementation, and testers run real PC software on both machines until the behavior matches.
Phoenix turns the method into a business
In 1984, Phoenix Technologies did the same work once and licensed the result to anyone, for $290,000 a license. HP, Tandy and AT&T were among the buyers. Phoenix's clean-room engineer had never seen IBM's code, and the company documented that fact as carefully as the code itself. Clone makers no longer needed their own lawyers and two teams. They bought a BIOS chip, and the PC clone market exploded.
That is the first lesson of reverse engineering history, and it repeats in every era below: the method is the product. A paper trail that proves independence is worth as much as the code.
| Date | Event | Why it matters |
|---|---|---|
| Aug 1981 | IBM PC 5150 ships, BIOS listing published | Creates the target and the legal trap |
| Jun 1982 | Columbia Data Products MPC 1600 | Usually cited as the first PC compatible |
| Nov 1982 / Mar 1983 | Compaq Portable announced, then shipped | First durable clean-room BIOS |
| 1984 | Phoenix Technologies licenses its clean-room BIOS | The clean room becomes a business model |
| 1989 | NEC v. Intel | The judge calls clean-room work "persuasive evidence" of non-infringement |
The method also had a long life outside PCs. Wartime engineers copied captured machines (the Soviet Tu-4 bomber was a copy of the B-29), but that was copying, not a clean room. What Compaq added was separation, and separation is the idea that later protected emulator makers, Wine developers and, today, teams that write specs with AI before they build.
⚖️ Is Reverse Engineering Legal? The Court Cases That Decided It
Reverse engineering software is legal in many cases. US courts held in 1992 and 2000 that disassembly to reach functional, unprotected elements is fair use. The 1998 DMCA restricts bypassing access controls but carves out interoperability. The EU gives a statutory right to decompile for interoperability. License terms, DRM and local law still matter. This section is history, not legal advice.
The American cases
Two 1992 cases, a month apart, set the rules for a generation of developers.
Atari v. Nintendo (Federal Circuit, September 10, 1992) involved the 10NES lockout chip on the Nintendo Entertainment System. Atari's engineers did study the chip, but Atari also obtained a copy of Nintendo's source code from the Copyright Office under false pretenses. The court drew the line that still guides practitioners:
"Reverse engineering, untainted by the purloined copy of the 10NES program and necessary to understand 10NES, is a fair use."
Atari lost because of the purloined copy, not because it reverse engineered. Sega v. Accolade (Ninth Circuit, October 20, 1992) made the positive case. Accolade disassembled Sega Genesis cartridges to learn the interface that made games run, then wrote its own games. The court held that disassembly was fair use when it was the only way to reach the functional elements needed for compatibility.
Sony v. Connectix (Ninth Circuit, February 10, 2000) extended that logic to emulators. Connectix reverse engineered the PlayStation BIOS to build the Virtual Game Station, an emulator that ran PlayStation games on a Mac. The court called the intermediate copying fair use. Every console emulator since has lived in the space that ruling opened.
The DMCA and its exemptions
The Digital Millennium Copyright Act, signed on October 28, 1998, added a different kind of rule: section 1201 makes it unlawful to circumvent technical protection measures, whether or not you infringe copyright. Section 1201(f) carves out circumvention for interoperability, and courts have read it narrowly.
Every three years the Copyright Office grants temporary exemptions. The 2021 rule widened repair exemptions for consumer devices. The October 2024 rule added commercial food-preparation equipment, the case iFixit and Public Knowledge argued around broken McDonald's ice cream machines.
Europe and the API question
The EU's 1991 Software Directive (now 2009/24/EC) gives a statutory right in Article 6 to decompile a program to achieve interoperability, and Article 8 voids contract terms that try to remove it. In Top System (CJEU, October 6, 2021), the court added that a lawful user may decompile to correct errors.
In the US, Google v. Oracle (Supreme Court, April 5, 2021, 6-2) held that Google's reimplementation of about 11,500 lines of Java API declaring code in Android was fair use. The Court did not decide whether APIs are copyrightable, but the ruling protected the practice of building a compatible implementation of someone else's interface.
| Date | Case or law | Holding | Why it matters |
|---|---|---|---|
| 1991 | EU Software Directive, Art. 6 | Decompilation for interoperability is a right | Contracts cannot remove it (Art. 8) |
| 10 Sep 1992 | Atari v. Nintendo | RE is fair use, tainted RE is not | How you got the code matters |
| 20 Oct 1992 | Sega v. Accolade | Disassembly for compatibility is fair use | Protects compatible products |
| 28 Oct 1998 | DMCA section 1201(f) | Narrow interoperability exemption | Anti-circumvention becomes the real limit |
| 10 Feb 2000 | Sony v. Connectix | Emulator development is fair use | Foundation of console emulation |
| 5 Apr 2021 | Google v. Oracle | API reimplementation is fair use | Protects compatible interfaces |
| 6 Oct 2021 | CJEU Top System (C-13/20) | Decompile to correct errors | EU right goes beyond interoperability |
| 25 Oct 2024 | 9th triennial 1201 rule | Commercial equipment repair exemption | Right to repair reaches restaurants |
Questions to ask before you start
The diagram is a reading aid, not legal advice. The pattern across 30 years of cases is consistent: courts protect reverse engineering that seeks understanding and compatibility, and they punish copying and the use of illicitly obtained code.
🛠️ The Tools: From SoftICE to Ghidra (1987-2019)
Reverse engineering tools evolved from kernel debuggers to interactive disassemblers to free decompilers. SoftICE (1987) let analysts freeze Windows itself. IDA (1991) made disassembly interactive. Hex-Rays (2007) turned assembly into C-like pseudocode. The NSA's Ghidra (2019) made a state-grade decompiler free for everyone.
Debuggers: freezing the machine
SoftICE, from NuMega in 1987, ran beneath the operating system. One hotkey froze all of Windows and dropped the analyst into a text-mode debugger with full control of the CPU. It defined 1990s reverse engineering, and it was discontinued on April 3, 2006. OllyDbg (2000, Oleh Yuschuk) became the standard user-mode debugger for 32-bit Windows. x64dbg (2014, Duncan Ogilvie, known as mrexodia) carried that role into 64-bit, open source. Ogilvie later wrote ida-pro-mcp, one of the first popular reverse engineering servers for AI agents.
Disassemblers and decompilers: reading the machine
IDA, the Interactive Disassembler, shipped its first release on May 21, 1991, by Ilfak Guilfanov. "Interactive" was the breakthrough: the analyst renamed functions, marked data types and added comments, and IDA propagated that knowledge across the whole program. Guilfanov founded Hex-Rays in 2005, shipped the Hex-Rays Decompiler in 2007, and Hex-Rays took over IDA in 2008. For more than a decade, IDA with Hex-Rays was the professional standard.
Alternatives followed. radare (2006) and radare2 (2009) gave the open-source world a command-line framework, which the Rizin fork split from on December 8, 2020, taking the Cutter GUI with it. Hopper (around 2011, Vincent Benony) gave Mac developers an affordable native disassembler. Binary Ninja from Vector 35 went on sale on July 23, 2016, built around a layered intermediate language that made scripting and automation easy.
Then, on March 5, 2019, the NSA walked on stage at the RSA Conference and released Ghidra for free. The full source code followed on GitHub on April 4, 2019, under the Apache 2.0 license. It was a full disassembler and decompiler with collaboration features, developed internally for years, now free. Ghidra's GitHub repository passed 97,000 stars by November 2026.

Ghidra in March 2019, days after its release: the listing on the left, decompiled C-like pseudocode on the right. Screenshot: Philipnelson99, Wikimedia Commons, CC BY-SA 4.0.
Specialist tools for every surface
As software moved to new platforms, each one got its own tools: Ethereal (1998, renamed Wireshark in 2006) for network protocols, Binwalk (2010) for firmware images, Apktool (2010) and JADX (2013) for Android, ILSpy (2011, after .NET Reflector went paid) for .NET, Frida (2013, Ole André Vadla Ravnås) for scriptable instrumentation of running apps, and angr (UCSB, IEEE S&P 2016) for symbolic execution.
| Year | Tool | Author or owner | What it changed |
|---|---|---|---|
| 1987 | SoftICE | NuMega | Kernel-level debugging of Windows |
| 1991 | IDA | Ilfak Guilfanov | Interactive disassembly |
| 1998 | Ethereal / Wireshark | Gerald Combs | Protocol reverse engineering for all |
| 2000 | OllyDbg | Oleh Yuschuk | Standard 32-bit Windows debugger |
| 2006 / 2009 | radare / radare2 | pancake | Open-source RE framework |
| 2007 | Hex-Rays Decompiler | Hex-Rays | Assembly becomes readable pseudocode |
| 2010 | Binwalk, Apktool | Craig Heffner, Apktool team | Firmware and Android |
| 2013 | Frida, JADX | Vadla Ravnås, skylot | Live instrumentation, Dex to Java |
| 2014 | x64dbg | Duncan Ogilvie | Open 64-bit debugger |
| 2016 | Binary Ninja, angr | Vector 35, UCSB | IL-based analysis, symbolic execution |
| 2019 | Ghidra | NSA | Free state-grade decompiler |
| 2020 | Rizin | radare2 fork | Community split |
One quieter lesson sits in this table: single-maintainer tools are fragile. The popular .NET decompiler dnSpy was archived on December 21, 2020, and survives only as the community fork dnSpyEx. Tools become infrastructure long before anyone funds them as infrastructure, a pattern familiar from the history of open-source LLMs and FFmpeg.
🌉 Interoperability and Preservation: Samba, Wine and Game Decomps
Some of the most important reverse engineering projects never opened a disassembler. Samba (1992) rebuilt Windows file sharing by watching network packets. Wine (1993) reimplemented the Windows API from the outside. Game decompilation projects since 2019 rebuilt entire games as source code that compiles to byte-identical binaries.
Samba: reverse engineering from the wire
Andrew Tridgell started Samba in January 1992 so that a Unix machine could serve files to PCs. He did not decompile Microsoft's code. He watched the traffic between a client and a server and wrote software that answered the same way. Tridgell has written that the label reverse engineering "is quite misleading" for this work. His analogy is a French cafe: classic reverse engineering is "like taking a scalpel and dissecting the waiter," while Samba learned the language by listening to orders. Tridgell's later protocol work on BitKeeper, in 2005, led its owner to pull free use for Linux, and Linus Torvalds wrote Git in response. Samba still runs file sharing on millions of NAS boxes and Linux servers.
Wine and ReactOS: reimplementing a platform
Wine started in June 1993 to run Windows programs on Linux by reimplementing the Windows API, one function at a time, through black-box testing. The first beta, Wine 0.9, took until October 2005. Thirty years on, Wine is the base of Valve's Proton, and by August 2026 more than 30,000 games were rated Verified or Playable on the Steam Deck. ReactOS, started as FreeWin95 in 1996 and renamed in 1998, went further and reimplemented the Windows NT kernel itself under strict clean-room rules. Both projects share an idea with virtualization: if the behavior at the interface matches, the software above cannot tell the difference.
Emulators and matching decompilations
Console emulation took off in 1997 with Snes9x and ZSNES, and Sony v. Connectix protected the category in 2000. A different preservation movement began in 2019 with matching decompilation. The n64decomp team rebuilt Super Mario 64 as C source that compiles back to the exact bytes of the original ROM. The zeldaret team completed Ocarina of Time in November 2021, and the Ship of Harkinian native PC port followed in 2022.
Matching decompilation introduced a powerful idea that AI agents now reuse: the original binary is a test oracle. A function is done only when the compiler output matches byte for byte. There is no arguing with a diff.
The legal limit showed up in 2021. Take-Two Interactive filed DMCA takedowns against re3 and reVC, decompilations of Grand Theft Auto III and Vice City, and sued the developers in September 2021. The case settled in 2023. Preservation projects that distribute code depend on the rights holder's tolerance, a recurring theme in the history of GitHub.
| Date | Project | Method | Outcome |
|---|---|---|---|
| Jan 1992 | Samba | Network observation | Standard SMB server for Unix and Linux |
| Jun 1993 | Wine | Black-box API reimplementation | Base of Proton and the Steam Deck |
| 1996 / 1998 | ReactOS | Clean-room NT reimplementation | Long-running open-source Windows clone |
| 1997 | Snes9x, ZSNES | Hardware emulation | Console emulation era |
| 2014 | OpenRCT2 | Hybrid, one function at a time | RollerCoaster Tycoon 2 lives on |
| 2019 | Super Mario 64 decomp | Matching decompilation | First famous byte-identical game decomp |
| Nov 2021 | Ocarina of Time decomp | Matching decompilation | Native PC port in 2022 |
| 2021 | re3 and reVC | Decompilation | DMCA takedown and lawsuit |
🛡️ The Security Era: Stuxnet to the xz Backdoor
From 2010, reverse engineering became a front-line security discipline. Analysts took apart Stuxnet's four zero-day exploits, mapped the Flame espionage platform, and in 2024 found the xz backdoor from a 500-millisecond SSH delay. Malware analysis, vulnerability research and incident response now depend on the same decompilers built for compatibility work.
Stuxnet, found on June 17, 2010, was the turning point. Reverse engineers at several firms spent months proving that the worm targeted specific Siemens industrial controllers driving uranium centrifuges, using four zero-day vulnerabilities to get there. Flame (May 28, 2012) was called by the CrySyS lab "arguably the most complex malware ever found." In both cases, the public understanding of a nation-state operation came entirely from reverse engineering.
The decade that followed widened the target list. The Mirai botnet source leaked on September 30, 2016, and spawned IoT copycats. Meltdown and Spectre (January 3, 2018) showed that even CPU microarchitecture could be reverse engineered into a vulnerability class. The Pegasus Project (July 18, 2021) used mobile forensics to hold spyware vendors to account. Log4Shell (December 9, 2021) scored a maximum CVSS 10.
Then came xz. On March 29, 2024, Andres Freund, an engineer at Microsoft, noticed that SSH logins on a test machine were about 500 milliseconds slower than they should be. He traced the delay to a backdoor hidden in the test files and build scripts of the xz compression library, planted over years by a maintainer persona. The full mechanics came out through binary reverse engineering of the injected object code.
| Date | Event | What reverse engineering revealed |
|---|---|---|
| 17 Jun 2010 | Stuxnet | Centrifuge targets, four zero-days |
| 28 May 2012 | Flame | A modular espionage platform |
| 30 Sep 2016 | Mirai source leak | The IoT botnet template |
| 3 Jan 2018 | Meltdown and Spectre | Speculative execution leaks |
| 18 Jul 2021 | Pegasus Project | Spyware infection chains on phones |
| 9 Dec 2021 | Log4Shell | A CVSS 10 flaw in a ubiquitous library |
| 29 Mar 2024 | xz backdoor | A supply-chain implant in SSH |
The volume problem is the backdrop to everything in the next section. Jerry Gamblin's 2025 CVE data review counted 48,185 CVEs published in 2025, up 20.6% from 2024, about 132 a day. Human reverse engineers cannot read that much code, which is why the industry turned to automation.
📦 New Targets: Electron, Source Maps, WebAssembly and Model Files
Every new software format becomes a reverse engineering target. Source maps (2011) can expose original TypeScript. Electron apps (2014) ship readable JavaScript inside ASAR archives. Unity's IL2CPP (2015) turns C# into native code. WebAssembly (2017) adds a new binary format, and GGUF and safetensors (2022-2023) made AI model files a target too.
Modern apps are often easier to study than 1990s binaries, and harder at the same time. An Electron desktop app such as a note-taking or chat client ships its JavaScript in an ASAR archive that unpacks with one command. A website that publishes a source map hands out its original source tree. But the logic is spread across minified bundles, IPC calls between processes, and server APIs, so understanding one feature means following it across several layers.
| Date | Format | Why reverse engineers care |
|---|---|---|
| 11 Feb 2011 | Source Map Revision 3 (now ECMA-426) | A leaked map exposes original JS and TS |
| Sep 2014 | Electron ASAR archives | Desktop apps ship readable JavaScript |
| Jan 2015 | Unity IL2CPP | C# game code becomes native C++ |
| Mar 2017 | WebAssembly MVP | A new portable binary target |
| Sep 2022 | safetensors | Model weights without pickle code execution |
| 21 Aug 2023 | GGUF | Local model files with readable metadata |
AI models are a reverse engineering target in a second sense too. Mechanistic interpretability is the effort to reverse engineer what a neural network computes from its weights, the same goal as reading a binary, applied to learned circuits instead of compiled ones.
🤖 The Agent Era: LLMs, MCP and Reverse Engineering (2023-2026)
Between 2023 and 2026, AI moved from reading assembly to driving the reverse engineering tools themselves. GPT-4 (2023) explained disassembly. LLM4Decompile (2024) trained open models for decompilation. The Model Context Protocol (November 2024) let agents call Ghidra, IDA and Hopper. By 2026, agents were finding browser vulnerabilities at scale and Hex-Rays shipped an official MCP server.
Phase 1: models that read assembly (2023-2024)
GPT-4 (March 14, 2023) was the first widely available model that could explain a page of disassembly usefully. Researchers followed with specialist work: Nova (November 2023) trained a model for assembly, and LLM4Decompile (March 2024) released the first open model series, from 1.3B to 33B parameters, aimed at turning binaries back into source. In November 2024, Google's Big Sleep agent found an exploitable memory-safety bug in SQLite, the first public example of an AI agent finding such a bug in widely used software.
Phase 2: agents that drive the tools (2024-2025)
The bottleneck was never the model alone. It was the connection between the model and the tool. On November 25, 2024, Anthropic announced the Model Context Protocol, an open standard that lets an AI agent call external tools through one interface, the same shift described in our history of tool use. Within four months, reverse engineers had wired MCP into every major disassembler:
- GhidraMCP (LaurieWired, March 2025) exposed Ghidra's decompiler, cross-references and renaming to agents.
- ida-pro-mcp (mrexodia, March 2025) did the same for IDA. Duncan Ogilvie, the author of x64dbg, built it, and it became the most popular reverse engineering MCP server.
- Hopper 6.0 (September 10, 2025) shipped a built-in MCP server, the first commercial disassembler to do so.
At the same time, coding agents gave analysts a place to run all of this. Claude Code entered research preview on February 24, 2025, and OpenAI's Codex cloud agent followed on May 16, 2025. An analyst could now ask a question in plain English and watch an agent open a binary, search strings, decompile functions and report back. The agent harness around the model mattered as much as the model.
Phase 3: autonomous security research (2025-2026)
In June 2025, XBOW, an autonomous penetration testing system, reached the top of HackerOne's US leaderboard. On August 8, 2025, DARPA announced the results of the AI Cyber Challenge (AIxCC): Team Atlanta won the $4 million first prize. Across 54 million lines of code, the finalist systems found 54 of 63 synthetic vulnerabilities, patched 43, and found 18 real, non-synthetic vulnerabilities along the way. On December 9, 2025, Anthropic donated MCP to the new Agentic AI Foundation under the Linux Foundation, making it a neutral standard.
2026 brought scale. Anthropic reported in March that Claude Opus 4.6 found 22 Firefox vulnerabilities, 14 of them high severity, in two weeks. In April, Mozilla shipped Firefox 150 with fixes for 271 bugs that Claude Mythos Preview had found, a claim that drew scrutiny over method and severity. Firefox CTO Bobby Holley's summary was measured: "we also haven't seen any bugs that couldn't have been found by an elite human researcher." The full story is in our history of Anthropic and Claude.
The incumbent moved last and decisively. In late September 2026, Hex-Rays released an official, free and open-source IDA MCP server, which Hex-Rays says uses about 20% fewer tokens than popular alternatives on its own malware-analysis benchmark. On October 26, 2026, IDA 9.5 added "Assist," a free AI harness that runs on your own model inside the tool that defined the professional market for 35 years.
| Date | Event | Why it matters |
|---|---|---|
| 14 Mar 2023 | GPT-4 | First practical LLM help with disassembly |
| 8 Mar 2024 | LLM4Decompile | First open model series for decompilation |
| 1 Nov 2024 | Google Big Sleep finds a SQLite bug | First public AI-agent find of an exploitable memory bug |
| 25 Nov 2024 | Model Context Protocol announced | A standard tool bus for agents |
| Mar 2025 | GhidraMCP | Agents can drive Ghidra |
| Mar 2025 | ida-pro-mcp | Agents can drive IDA |
| Jun 2025 | XBOW tops HackerOne US | Autonomous offensive security |
| 8 Aug 2025 | DARPA AIxCC finals | 18 real vulnerabilities found, autonomous patching |
| 10 Sep 2025 | Hopper 6.0 built-in MCP | First commercial disassembler with MCP |
| 9 Dec 2025 | MCP joins the Linux Foundation | A neutral standard |
| 6 Mar 2026 | Claude Opus 4.6 Firefox audit | 22 vulnerabilities in two weeks |
| Apr 2026 | Firefox 150 ships 271 AI-found fixes | Agent bug finding at release scale |
| Sep 2026 | Official Hex-Rays IDA MCP server | The incumbent adopts MCP |
| 26 Oct 2026 | IDA 9.5 Assist | AI inside the standard tool |
The pattern from the history of AI agents repeats here: capability arrived first in research, then in open-source glue code, and the incumbent vendor shipped its official version about 18 months after the community proved demand.
🔬 Case Study: REA and the "Evidence Over Vibes" Approach
REA (Reverse Engineer Anything) is an open-source, MIT-licensed CLI and MCP server that started in April 2026 as a wrapper around Hopper's MCP server and grew into a multi-engine investigation tool. Its design choice is the interesting part: every finding is evidence with stated coverage, and anything the agent did not inspect stays explicitly unknown.
REA is not a Taskade product. It is a community project at github.com/morluto/rea that went viral in October 2026, and InfoQ reported more than 200,000 GitHub stars within weeks. It is a useful case study because it shows what agent-era reverse engineering looks like once the novelty wears off. The figures below come from the project's own changelog and git history, so treat them as first-party claims.

REA running an analysis through Hopper Disassembler. Image: the REA project, MIT License.
From one wrapper to many engines
| Version | Date (2026) | Milestone |
|---|---|---|
| First commit | Apr 14 | "betterBinaryMCP", a Hopper MCP wrapper |
| 0.2.0 to 0.3.0 | Jul 12 | Renamed REA, first npm release (0.2.1), evidence-backed investigations |
| 1.5.0 / 1.6.0 | Jul 14 | Website, JavaScript and Electron workflows |
| 1.7.0 | Jul 15 | Ghidra headless provider |
| 2.7.0 | Jul 28 | Android APK, iOS IPA, Windows PE |
| 3.0.0 | Aug 1 | Evidence bundles become canonical MCP resources |
| 4.1.0 | Oct 6 | IDA, JADX, firmware extraction |
| 6.5.0 | Oct 13 | SQLite, PCAP, WebAssembly, Go, Rust, Flutter, Frida |
| 6.8.0 | Oct 25 | IL2CPP, GGUF and safetensors, Streamable HTTP |
The October spike, about 85% of all commits, came as hundreds of contributors joined. The project's showcases include rebuilding one sound function from the 1996 game DX-Ball into C with matching bytes, tracing Notion's clipboard feature through Electron's preload and IPC layers, and reconstructing a login-code calculation in an Android authenticator app. Each showcase covers one function or one feature, not a whole program.
Evidence, not vibes
The idea worth borrowing is the evidence model. REA tags every claim with how it was learned:
| Tag | Meaning | Example |
|---|---|---|
| Observed | Seen directly in the artifact or a run | A string, an import, a captured request |
| Derived | Computed from observed facts | A call graph from cross-references |
| Inferred | A reasoned guess, not proven | "This function probably validates input" |
| Unknown | Not inspected, or contradicted | Code paths the analysis never reached |
Missing coverage is recorded as unknown, never as absence. A static pass does not prove runtime behavior without runtime evidence. That rule is the agent-era version of the clean-room paper trail: it makes an AI's confident summary auditable.
This matters because language models are fluent. A model that reads three functions can describe a whole program convincingly. An evidence ledger separates what was seen from what was guessed, the same discipline our context engineering guide recommends for any agent workflow.
🧬 From Behavior Spec to Live App in Taskade Genesis
For 40 years, reverse engineering produced understanding: notes, specs, pseudocode. Turning that understanding into a working product still took a team of engineers. Taskade Genesis closes that last step. You describe the behavior you learned, in your own words, and one prompt builds a live app with projects, AI agents and automations.
The parallel to 1984 is direct. Phoenix separated "study the original" from "write the new code." The modern version separates "understand how a feature behaves" from "build your own implementation of the job it does." You do not copy screens or code. You write a specification of the job, then build something original that does it, often better fitted to your team.
What a spec becomes
A Taskade Genesis app is not a code export. It runs on Workspace DNA: projects hold the Memory, AI agents supply the Intelligence, and automations handle Execution. That is why we say other tools generate code, and Taskade Genesis generates runtime.
| Spec element | Taskade Genesis layer | Example |
|---|---|---|
| Data the feature stores | Projects (Memory) | Tickets, contacts, inventory rows |
| Decisions the feature makes | AI agents (Intelligence) | Triage, drafting, classification |
| Steps the feature runs | Automations (Execution) | Notify, sync, schedule, 100+ integrations |
| What users see | The app interface | Boards, forms, dashboards |
| Who can use it | Sharing and sign-in | Public link, client logins, custom domain on Pro and up |

One prompt, one live app: Taskade EVE builds the projects, agents and automations behind the interface.
Build a research desk for your next investigation
Every serious reverse engineering effort needs a place to track targets, open questions and the spec you write before you build. Here is a prompt you can paste into Taskade Genesis:
Build a Taskade Genesis app called "Reverse Engineering Research Desk".Projects (memory):
- Targets: App name; Version; Platform; Authorization note; Status (Studying, Specified, Built).
- Questions: Target; Question; Status (Open, Investigating, Answered, Unknown); Evidence ID.
- Specs: Target; Behavior; Inputs; Outputs; Errors; Tag (Observed, Derived, Inferred).
Agent (intelligence):
- Spec Coach answers only from Targets, Questions and Specs. If the answer is not there,
it says it does not know. It flags any spec row tagged Inferred.
Automation (execution):
- When a Questions row moves to Answered, notify the owner.
Interface:
- Board of Targets by Status, a question list per target, and a spec table per target.
Seed only a few rows, label each one Sample data, and never invent findings.
Start from a live research assistant in the Taskade App Factory, then point its knowledge at your own targets and notes.
🛒 App Kits: Rebuild the Job, Then Let Others Clone It
Phoenix's real innovation was distribution: build a compatible BIOS once, license it to every clone maker. App Kits apply the same idea to apps. You build an original Taskade Genesis app for a job, publish it with "Let others clone" set to Free or Paid, and other teams clone a working copy into their own workspace.
| Era | Input | Output | Who could do it |
|---|---|---|---|
| Clean room (1982-1984) | A competitor's ROM | A specification, then new firmware | A company with lawyers and two teams |
| Tool era (1991-2019) | A binary | Disassembly and pseudocode | A specialist with IDA or Ghidra |
| Preservation era (1992-2021) | A game or protocol | A compatible reimplementation | Long-running volunteer projects |
| Agent era (2025-2026) | A binary plus a question | Evidence, unknowns and a behavior spec | An agent with MCP tools |
| Runtime era (2026) | A behavior spec | A live app, published as a cloneable kit | Anyone with a prompt |
The rules that kept clean rooms legal also make good kits. Build for a job, not a pixel-perfect copy of someone's interface. Use your own data model and your own words. Label sample data as sample data. Then publish. The App Kits guide covers the model, and selling App Kits walks through pricing, payouts and kit versions.

Publish an app, choose who can clone it, and share the link. Buyers clone an editable copy, and your original stays in your workspace.
🔭 Eight Lessons From 40 Years of Reverse Engineering
- The method is the product. Compaq's clean room and Phoenix's paper trail mattered as much as the code they produced.
- Courts protect understanding, not copying. From Sega to Google v. Oracle, compatibility wins and purloined code loses.
- Observation is reverse engineering too. Samba was built from packets, not disassembly.
- The original is the best test. Matching decompilation turned "is it right?" into a byte diff, and agents now use the same oracle.
- Free tools change who can participate. Ghidra did for decompilers what open-source compilers did for programming.
- Interfaces beat models. LLMs could read assembly in 2023, but MCP in 2024 is what put them to work.
- Honest coverage beats confident summaries. Unknown is a valid answer, and an agent that says so is more useful than one that guesses.
- Understanding is only half the job. The step from spec to running system used to take a team. In 2026 it takes a prompt.
🔮 Quo Vadis, Reverse Engineering?
Reverse engineering enters 2027 with free decompilers, AI assistants inside the incumbent tools, and agents that can investigate a binary end to end. The open questions are about trust, specialization and law, not capability.
Trust. Agent findings at scale need verification at scale. A September 2026 study (arXiv 2609.05370) found that LLM cleanup of Ghidra output raised the share of code that compiles from 75% to 90%, while the share that behaves like the original fell from 74% to 62%. Code that compiles is not code that is right. Evidence ledgers and byte-level oracles are the likely answer, and obfuscation and misleading context planted in a binary or its workspace are already attacking RE agents.
Specialization. General frontier models drive the tools today. Specialist models trained on compiler feedback, where every guess can be checked by compiling it, are a natural fit for reinforcement learning and are an active research area.
Law. The legal framework was written for humans with disassemblers. Questions about AI-assisted reimplementation, training on decompiled code and automated vulnerability disclosure are still open. In 2026, a maintainer used an AI agent to rewrite the chardet library and relicensed it from LGPL to MIT, and LWN covered the debate over whether an AI rewrite counts as a clean room. No court has ruled. The clean-room principle, keep understanding and implementation separate and document both, is the safest guide available.
The bet. The value of reverse engineering is moving from reading software to rebuilding the job it does. The teams that win will treat understanding as the input to a running system, not a document in a folder. ▲ ■ ●
🔗 Related Reading
- Workspace DNA Architecture: how memory, intelligence and execution turn what you learn into a running system
- What Is Agentic Engineering?: the practice of building software with agents in the loop
- Explore Taskade: AI App Builder, AI Agents, Automations, Taskade App Factory and MCP Client
📚 Sources
- Oxford English Dictionary, reverse engineering, n.
- Wikipedia, Clean-room design, Compaq Portable and Phoenix Technologies
- Atari Games Corp. v. Nintendo of America, 975 F.2d 832 (Fed. Cir. 1992)
- Sega Enterprises v. Accolade (9th Cir. 1992) and Sony v. Connectix (9th Cir. 2000)
- Cornell LII, Reverse engineering and the DMCA and Google LLC v. Oracle America (2021)
- EU Computer Programs Directive and CJEU Top System (C-13/20)
- Public Knowledge and iFixit, the 2024 DMCA repair exemption
- Wikipedia, SoftICE, Interactive Disassembler, Wireshark, OllyDbg, x64dbg and Ghidra; Hex-Rays history; radare history; Rizin announcement
- Samba: myths about Samba, Wine, ReactOS, n64decomp/sm64, zeldaret/oot, TorrentFreak on re3
- Wikipedia, Stuxnet, Flame, Spectre, Log4Shell and XZ Utils backdoor; Krebs on Mirai; Amnesty Pegasus methodology
- Jerry Gamblin, 2025 CVE data review
- LLM4Decompile (arXiv 2403.05286), Nova (arXiv 2311.13721), Google Big Sleep
- Anthropic, Introducing the Model Context Protocol and donating MCP to the Agentic AI Foundation
- GhidraMCP releases, ida-pro-mcp on PyPI, Hopper changelog
- XBOW on HackerOne and DARPA AIxCC results
- Anthropic, Mozilla Firefox security partnership, Mozilla on AI-found zero-days; SecurityWeek on Claude Mythos and Firefox
- Hex-Rays, IDA MCP server and IDA 9.5 release
- InfoQ on REA, LWN on the relicensing of chardet, arXiv 2609.05370 on LLM decompiler fidelity, Quarkslab on attacking AI-assisted RE
- REA on GitHub and rea.tools (first-party project materials)
- Image credits: Compaq Portable, Tiziano Garuti, public domain. IBM PC 5150, Fried Dough, public domain. Ghidra screenshot, Philipnelson99, CC BY-SA 4.0. All via Wikimedia Commons. REA screenshot, the REA project, MIT License.
💬 Frequently Asked Questions About Reverse Engineering
What is reverse engineering in software?
Reverse engineering is the study of a finished program to learn how it works without its source code. Analysts read the binary with disassemblers and decompilers such as IDA and Ghidra, watch it run with debuggers, and inspect its files and network traffic. The output is understanding: a description of behavior, interfaces and data formats.
Where does the term reverse engineering come from?
The Oxford English Dictionary dates the earliest recorded uses to 1957, in US government procurement writing and a patent journal. The practice of copying a rival machine by taking it apart is much older, but the phrase itself came from procurement and patent policy, not from World War II.
Is reverse engineering legal?
In the US, courts held that disassembly to reach functional, unprotected elements can be fair use, in Sega v. Accolade (1992) and Sony v. Connectix (2000). The DMCA adds limits on bypassing access controls, with a narrow interoperability exemption in section 1201(f). The EU allows decompilation for interoperability under Article 6 of the Software Directive. Laws differ by country, so this is not legal advice.
What is clean-room reverse engineering?
Clean-room reverse engineering splits the work between two teams. One team studies the original and writes a functional specification. A second team that never saw the original writes new code from that specification. Compaq and Phoenix Technologies used this method to build legal IBM PC compatible BIOS chips in 1982 to 1984.
What are the most important reverse engineering tools?
The core tools are IDA (1991) and its Hex-Rays decompiler, Ghidra (released by the NSA in 2019), Binary Ninja, radare2 and its fork Rizin, Hopper for macOS, the x64dbg debugger, Frida for dynamic instrumentation, JADX and Apktool for Android, and Wireshark for network protocols.
When did the NSA release Ghidra?
The NSA released Ghidra on March 5, 2019, at the RSA Conference in San Francisco, and published the full source code under the Apache 2.0 license on April 4, 2019. Ghidra gave everyone a free disassembler and decompiler of the kind that used to cost thousands of dollars a seat, and it became one of the most starred security projects on GitHub.
Can AI do reverse engineering?
AI agents can now call decompilers through the Model Context Protocol, read pseudocode, rename functions and trace a feature across a binary. Projects such as GhidraMCP, ida-pro-mcp and the built-in MCP server in Hopper 6 made this practical in 2025. Results still need evidence, and any part of a program the agent did not inspect stays unknown.
What is the Model Context Protocol and why does it matter for reverse engineering?
Anthropic announced the Model Context Protocol (MCP) on November 25, 2024. It gives AI agents one standard way to call tools. For reverse engineering, MCP means an agent can drive Ghidra, IDA or Hopper the way an analyst does, and the incumbent vendor Hex-Rays shipped an official IDA MCP server in September 2026.
What is clean-room design in the age of AI agents?
The clean-room idea still applies. An agent studies a program and writes a behavior specification with cited evidence. A separate build step writes an original implementation from that specification, without copying the original code. Keeping the specification and the implementation apart is the same paper trail Phoenix used in 1984.
How do you turn what you learn from reverse engineering into an app?
Write the behavior in your own words as a specification: inputs, outputs, states and errors. Then build an original implementation. In Taskade Genesis, one prompt builds a live app with projects, AI agents and automations, and you can publish it as an App Kit that others clone. The Free plan includes 3 Taskade Genesis apps, and Pro is $10 a month billed annually.
For 40 years, reverse engineering ended with a document. Now it can end with a running system. One prompt. One app. Built from what you learned.







