
morluto /
rea
MCP server that lets AI agents reverse engineer apps, binaries and websites locally
- 367.1k stars
- TypeScript
- Updated today
- Some experience
- Coding agents & dev tools
Sometimes you see a feature in an app and want to know how it works, but you don't have the source. REA gives your AI agent tools to look inside the app: its files, scripts, binaries and network traffic. The agent can then explain the behavior and help you build something similar.
It runs as an MCP server, a standard way for agents to call outside tools. The agent asks about a local target, REA inspects and traces it, and returns code, references and a list of unknowns. The same workflows are available as terminal commands. Analysis runs on your machine.
For native binaries REA can use an existing Hopper, Ghidra or IDA install. Many other formats, such as Go and Rust binaries, GGUF and safetensors model files, Godot PCK archives and static JavaScript, are read by built-in inspectors with no extra software. Results state their evidence and limitations.
What it does
One-command agent setup
A setup command registers REA's MCP server and workflow instructions with Claude Code, Codex, Cursor, Gemini CLI, Grok Build and others. It backs up existing config and asks for approval first.
Wide range of targets
Covers native binaries, JavaScript/Electron apps, .NET assemblies, websites, saved HAR/SAZ captures, SQLite databases, WASM, EVM bytecode and more, per the README's table.
Native binary analysis
Returns pseudocode, assembly, strings, symbols and references through Hopper, Ghidra or IDA.
Terminal commands
Commands such as analyze-javascript-application list modules, imports and Electron boundaries, with optional JSON output.
Evidence with every result
Findings come with the evidence and limitations behind each conclusion, so you can check what the agent tells you.
What you could build
- Investigate how a feature in a desktop app works and ask an agent to build a similar one.
- Map the modules, imports and IPC boundaries of an Electron app from its extracted folder or ASAR.
- Inspect a native binary's strings, symbols and calls through Hopper, Ghidra or IDA.
- Read GGUF or safetensors model metadata without loading the model.
- Analyze a saved HAR capture to see which requests and payloads a web app makes.
Get started
Run the setup command with Node.js 22 or newer, pick your agents, approve the changes and restart the agent. Then ask it to investigate a feature in an app, or run the terminal command on an extracted JavaScript/Electron app.
npx rea-agents setupnpx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonnpm install --global rea-agentsCommands are copied from the project's README. Read it on GitHub for the full setup.
Anything better than rea?
REA is the only candidate aimed at reverse engineering closed-source binaries, Electron apps and sites, so it is the strongest pick for that job. Nothing here really competes. Look elsewhere only if you need to understand source code you already own, or to drive a live browser.
-
agent-browserUse alongside Use it with REA when a website's behavior must be observed live, such as clicking through flows and capturing pages, beyond REA's static inspection. Trade-off: It operates a browser but does no binary or bundle analysis, so you must interpret what it shows yourself.
-
codegraphUse alongside Use it once REA's findings lead you to source you can read, such as decompiled or unpacked code, to query call chains cheaply. Trade-off: It only indexes source code, so it adds nothing for opaque binaries and needs a separate indexing step.
-
codebase-memory-mcpUse alongside Use it to index unpacked or recovered source from an Electron or .NET target and ask structural questions about it. Trade-off: It does no reverse engineering itself and only helps after code is recovered as readable source.