REA: Let AI agents help you take apart software without source code
The open-source project REA (Reverse Engineer Anything) connects reverse-engineering tools to AI coding agents such as Claude Code, Codex, and Cursor. If you see a useful feature in someone else’s app, you can ask an agent to take the program apart, explain how the feature is implemented, provide evidence, and then write something similar in your own project. Reverse engineering means figuring out how a program was written by examining the compiled software when you don’t have its source code.
REA itself is an MCP service. MCP is a standard interface that lets AI agents call external tools. Once connected, agents can call REA’s analysis features directly in a conversation. Installation takes just one command: npx rea-agents setup. It registers REA with agents such as Claude Code, Codex, Cursor, Gemini CLI, and Grok Build, backing up the existing configuration and asking for your confirmation before changing it. You can also run commands directly in the terminal if you don’t use an agent.
REA can analyze a wide range of things. Native programs (software compiled directly into machine code) require disassemblers such as Hopper, Ghidra, or IDA to turn machine code into assembly and approximate C-like pseudocode. Electron apps (desktop software built with web technologies, such as Notion) can be taken apart by directly unpacking the ASAR archive inside the installer, then mapping out modules and inter-process communication—no extra tools required. REA also supports .NET programs, Android APKs, firmware, websites, packet captures, Ethereum contract bytecode, and recording program behavior at runtime on Linux and macOS.
Analysis happens locally, and REA does not upload the target program. However, the results are sent to the model provider behind the agent, and how that data is handled depends on each provider’s policies.
The project includes three case studies. The first is the classic brick-breaker game DX-Ball: starting from a call that plays a sound effect, the analysis traces through to the function that calculates left and right audio channels based on the ball’s position. It reconstructs incomplete pseudocode into C code, with all 3,205 test cases matching the original. The compiled output is also exactly the same as the original: 63 bytes. The second is the Notion desktop app: tracing copy-and-paste from the interface through the preload script and inter-process communication to the main process. The third is the game Touhou Fuumaroku (TH04), originally released for the Japanese PC-98 computer: reconstructing the angle algorithm for rings of danmaku bullets from 16-bit instructions.
For security researchers and people recreating classic games or preserving software, the old process meant reading disassembly line by line and tracing calls layer by layer. Now, an agent can do the initial tracing, and a person can verify the evidence it provides. Everyday developers looking to learn how a competitor implemented a particular feature have another option, too.
According to its README, the project has already reached 50,000 stars on GitHub. The npm package was first published in July this year, and the latest version, 6.3.0, was released today.
Two things to keep in mind before using it. The project states that it supports only lawful reverse-engineering research; users are responsible for authorization and compliance. Reverse engineering someone else’s software may violate its terms of service or copyright law. The project also says it has never issued or endorsed any cryptocurrency, and that any tokens using the REA name are unrelated to it.
https://github.com/morluto/rea
The open-source project REA (Reverse Engineer Anything) connects reverse-engineering tools to AI coding agents such as Claude Code, Codex, and Cursor. If you see a useful feature in someone else’s app, you can ask an agent to take the program apart, explain how the feature is implemented, provide evidence, and then write something similar in your own project. Reverse engineering means figuring out how a program was written by examining the compiled software when you don’t have its source code.
REA itself is an MCP service. MCP is a standard interface that lets AI agents call external tools. Once connected, agents can call REA’s analysis features directly in a conversation. Installation takes just one command: npx rea-agents setup. It registers REA with agents such as Claude Code, Codex, Cursor, Gemini CLI, and Grok Build, backing up the existing configuration and asking for your confirmation before changing it. You can also run commands directly in the terminal if you don’t use an agent.
REA can analyze a wide range of things. Native programs (software compiled directly into machine code) require disassemblers such as Hopper, Ghidra, or IDA to turn machine code into assembly and approximate C-like pseudocode. Electron apps (desktop software built with web technologies, such as Notion) can be taken apart by directly unpacking the ASAR archive inside the installer, then mapping out modules and inter-process communication—no extra tools required. REA also supports .NET programs, Android APKs, firmware, websites, packet captures, Ethereum contract bytecode, and recording program behavior at runtime on Linux and macOS.
Analysis happens locally, and REA does not upload the target program. However, the results are sent to the model provider behind the agent, and how that data is handled depends on each provider’s policies.
The project includes three case studies. The first is the classic brick-breaker game DX-Ball: starting from a call that plays a sound effect, the analysis traces through to the function that calculates left and right audio channels based on the ball’s position. It reconstructs incomplete pseudocode into C code, with all 3,205 test cases matching the original. The compiled output is also exactly the same as the original: 63 bytes. The second is the Notion desktop app: tracing copy-and-paste from the interface through the preload script and inter-process communication to the main process. The third is the game Touhou Fuumaroku (TH04), originally released for the Japanese PC-98 computer: reconstructing the angle algorithm for rings of danmaku bullets from 16-bit instructions.
For security researchers and people recreating classic games or preserving software, the old process meant reading disassembly line by line and tracing calls layer by layer. Now, an agent can do the initial tracing, and a person can verify the evidence it provides. Everyday developers looking to learn how a competitor implemented a particular feature have another option, too.
According to its README, the project has already reached 50,000 stars on GitHub. The npm package was first published in July this year, and the latest version, 6.3.0, was released today.
Two things to keep in mind before using it. The project states that it supports only lawful reverse-engineering research; users are responsible for authorization and compliance. Reverse engineering someone else’s software may violate its terms of service or copyright law. The project also says it has never issued or endorsed any cryptocurrency, and that any tokens using the REA name are unrelated to it.
https://github.com/morluto/rea