Reverse engineering a disassembler and weeks of patience. REA (Reverse Engineer Anything) hands that job to the AI agent you already use. You name an app and a feature, and the agent inspects the compiled program, traces the code behind the feature and reports what it found, with the evidence attached.
The project went up on GitHub on April 14, 2026. Six months later it had about 357,000 stars, which puts it among the fastest-growing developer tools of the year. It is free, MIT-licensed and runs on your own machine.
What REA is
REA is an MCP server, the plug-in format that lets agents such as Claude Code and Codex call outside tools. One command, npx rea-agents setup, registers it with your agent and installs a set of workflow instructions that teach the agent how to run an investigation.
REA is not a decompiler, it is a layer that drives existing analysis tools such as Hopper and Ghidra. It adds its own parsers for formats that need no heavy tooling, like JavaScript, .NET assemblies, Go and Rust binaries, Unity game metadata and AI model files. The same tools work from the terminal through a rea command, so the agent is optional.

How it works
You ask in plain language. The project’s own example prompt is: “Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.”
The part that matters is step three. Every REA result comes back with the code, the references it followed and a list of what it could not confirm. That changes the agent’s job from guessing to citing. An agent that says “search uses a SQLite full-text index” has to point at the function that proves it, and you can check the claim yourself.
Analysis runs locally. REA does not upload the app you are inspecting, though the findings go to whichever model provider powers your agent.
The range of targets is wide. A partial list from the project’s documentation:
Desktop and native apps: pseudocode, assembly, strings and call references through Hopper, Ghidra or IDA
JavaScript and Electron apps (Slack, Notion, VS Code and most modern desktop software): modules, routes and the messages passed between the window and the system
Mobile: Android APKs, Flutter apps and live Android devices over adb
Websites and network captures: page scripts, network requests and saved HAR files
Games: Unity metadata, Godot archives and 16-bit DOS binaries
AI model files: GGUF and safetensors headers, without loading the weights
Firmware and hardware: firmware images, packet captures and logic-analyzer recordings
Use cases
The project publishes three worked case studies, and they show the range better than any feature list.

Learning how a product feature works. In the Notion case study, the prompt was “trace how Notion copies text and HTML to the system clipboard. Show the code at each step.” The agent followed the call from the page, through Notion’s desktop bridge, to Electron’s clipboard writer. Along the way it found why pasted Notion blocks keep their structure: the copied HTML carries a hidden copy ID that points to block data stored locally. That is the core pitch of REA. You see a feature you like and get a map of how it was built.
Preserving old software. The DX-Ball case study took a classic Windows brick-breaker game and rebuilt its stereo sound-panning function in C. The rebuild passes 3,205 test cases against the original x86 code and reproduces all 63 bytes of the compiled function. The TH04 study did the same for a bullet pattern in a 1990s Japanese PC-98 game. For games and programs whose source code is lost, this is how they stay playable and understood.
Beyond the showcases, the project’s documentation names other uses:
Security research. Check what a closed-source app actually sends over the network, or analyze a malware sample without running it.
Interoperability. Work out an undocumented file format or protocol so your software can read it.
Auditing what you depend on. Confirm which libraries and versions a vendor binary really ships, using the embedded build data in Go and Rust programs.
Debugging your own builds. Inspect a shipped Electron or .NET app when the source map or symbols are gone.
Checking AI model files. Read a model file’s declared architecture and tensor sizes before you load it.
Limits and rules
REA is honest about its gaps, and it’s worth reading them. In the Notion study, the authors note that the code excerpts were simplified, that one link in the chain came from reading wrapper code by hand, and that the probes ran pulled-out modules rather than the live app. The evidence trail is the product, and it includes the parts the tool could not prove.
Deep native analysis also still needs a real disassembler. Ghidra is free, while Hopper and IDA are commercial, and REA grants no license for any of them.
The legal line is drawn plainly in the project’s disclaimer. REA is for lawful research, education, interoperability, preservation and software you own or may examine. The project refuses to help with cracking DRM or license checks, building game cheats, bypassing logins or copying proprietary code. Reverse engineering is restricted in some countries and by many software licenses, so understanding how a feature works is one thing, and lifting its code is another. Use what you learn to write your own.
What it means
For most of software history, compiled code was a locked box. You could see what an app did but not how, unless you had rare skills. REA’s 357,000 GitHub stars in six months show that box is opening. Any developer with an agent can now ask a closed program how it works and get a cited answer in minutes.
That will change how products get built and how they get checked. Competitors will study each other’s features faster. Security researchers and journalists will audit apps that never published their code. Software that would have been lost will be rebuilt. The companies that ship compiled code should assume their apps can now be read.
To try it: install Node.js, run npx rea-agents setup, restart your agent and ask it how a feature in an app you own works.
Sources
REA on GitHub (README, disclaimer and repository data, read October 21, 2026)




