reverse engineer anything
Understand the software.
Then build what you need.
Reverse Engineer Anything (REA) gives your AI coding agent the tools to inspect native binaries, Electron apps and websites—even without the source code.
Use REA to inspect /absolute/path/to/app.asar. Find the CSV export entry point and trace how the interface reaches the file-writing code. Show the relevant files, call relationships and anything still unverified. Start with static analysis; do not run the app.
Use REA to inspect /absolute/path/to/program. Locate the functions involved in percentage calculations. Explain the behavior using strings, calls and pseudocode. Separate confirmed findings from assumptions, and suggest inputs that would test the explanation.
Use REA to inspect https://example.com, a website I am authorized to examine. Explain how the filter button changes the list. Start with page structure and scripts, and distinguish observations from assumptions. Describe the scope before clicking controls or making requests.
- 01Find the export entry point
- 02Follow preload and IPC
- 03Locate the file-writing code
Illustrative prompts. Analysis runs in your own agent.
What is REA?
You have an application, a useful feature and a question. REA helps your agent look inside and follow the clues.
REA is an open-source inspection tool. It connects your coding agent to software analysis tools through MCP, a common way for agents to use external tools. You can also run the same workflows from the command line.
Your agent asks questions, REA returns findings, and you decide what to investigate next. Each explanation should connect to code, references or observed behavior.
Explore the official projectHow does this feature work?
Inspect. Trace. Collect evidence.
Understand, implement and verify.
Practical examples
Start with one feature in software you own or are authorized to examine.
Electron apps
Follow a feature from the interface through preload and IPC to the main process.
Application folder or app.asarSee the approach
For a CSV export, first identify the UI event. Follow its arguments through the exposed API and IPC channel, then find where the main process creates and writes the file. Ask for the source location behind each link.
A typical renderer → preload → IPC → main route is a starting point, not a guarantee about every app.
Native binaries
Read strings, functions and call relationships to understand a specific behavior.
Executable or shared librarySee the approach
Configure a compatible Hopper, Ghidra or IDA installation first. Start from a small behavior, such as a calculation, and connect each conclusion to a function or instruction range.
Pseudocode makes compiled logic easier to read. It is not the original source, and stripped symbols can limit what you recover.
Websites
Connect visible interactions to page scripts and selected network observations.
A page you are authorized to inspectSee the approach
Use the browser workflow with a Chrome-family browser. Compare the page before and after one action. Check whether the result comes from local filtering or a request for new data.
A visible request and response do not reveal the full server implementation. Keep unobserved behavior marked as unknown.
Where does an app’s CSV export actually happen?
Give REA an application folder or ASAR archive. Map the modules, then trace the export from the interface to the file-writing code.
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app.asar --jsonStatic JavaScript inspection does not need a native analysis engine. This command downloads REA if needed and reads the supplied application files.
Official Notion case studyInstallation
Check Node.js and npm
Use Node.js 22.x (≥22.19), 24.x (≥24.11) or 26+, plus npm. Check the official reference for current requirements.
node --version
npm --versionRun the guided setup
Select your coding agent, review the proposed configuration changes and approve them. Setup registers REA’s MCP server and matching workflow instructions.
npx rea-agents@latest setupRestart your agent and ask a question
Check that REA appears in your agent’s tool list. Choose a small target and copy one of the example prompts above to begin.
Prefer a global CLI, or need to check a connection?
Install the CLI globally
npm install --global rea-agents
rea --helpFor a global npm installation, run rea update and follow its instructions to refresh your agent registration.
Check one agent
npx rea-agents@latest doctor --client codex --jsonThis checks Codex. Replace the client ID for your agent, then restart and check the live tool list.
How to use REA
Start with the behavior you want to understand, and keep the question specific.
Choose a small question
Pick one feature you can observe: an export, a calculation or a filter. Provide the target’s absolute path or URL and its version.
Follow the evidence
Ask your agent to locate the entry point and trace the relevant calls. Keep file locations, observations and assumptions separate.
Build, then check
Turn the explanation into your own implementation. Test normal inputs and edge cases, and revisit the findings when results differ.
Ask for the evidence, not just an answer.
Keep the target version, source locations, observed behavior and open questions in your notes. A string in a binary or a function in a bundle is a clue; it does not prove that path ran. Mark what is confirmed and what still needs a test.
Watch the demo
Watch a coding agent inspect a compiled Mac application and use the findings to explain its behavior.
This independent video by Rob Shocks introduces REA, explains the tool connection and includes a native app demonstration. It is a third-party walkthrough.
Watch a chapter, then try one small question on your own target. Follow the current official setup instructions if the video uses an older version.
Video outline & sourceYouTube loads only after you press play or choose a chapter. Playback depends on your network and the publisher’s settings.
FAQ
What you need to get started—and what to expect from the results.
Official project FAQWhat Is Reverse Engineer Anything (REA)?
Reverse Engineer Anything (REA) is an open-source toolkit that connects AI coding agents to software inspection tools through the Model Context Protocol (MCP). It helps you investigate applications, understand how a feature works, and collect evidence from code and observed behavior. Its tools are also available through a command-line interface.
How Does Reverse Engineer Anything Work?
Your coding agent calls REA through MCP to inspect a target, locate relevant code, and trace relationships. REA returns findings with evidence and limitations. The agent uses those results to ask follow-up questions, explain behavior, or write and test an implementation. Native analysis uses a compatible engine such as Hopper, Ghidra, or IDA.
How to Install Reverse Engineer Anything?
Install a supported Node.js version and npm, then run npx rea-agents@latest setup in your terminal. Select your coding agent, review the proposed configuration changes, and approve them. Restart the agent so it discovers the MCP server and workflow instructions. Configure any analysis engine required by your target; static JavaScript inspection can run without a native engine.
How to Use Reverse Engineer Anything?
Start with one feature in software you are authorized to examine. Give your agent the target’s absolute file path or website URL and a focused question, such as where a CSV export is implemented. Ask it to use REA, trace the relevant code, and show supporting evidence. Review the findings, identify uncertainties, and test any implementation you create.
Is Reverse Engineer Anything Free and Open Source?
Yes. REA-authored code is open source under the MIT license, which permits use, modification, and redistribution subject to its notice requirements. Third-party components keep their own licenses. Your coding agent, model provider, or commercial analysis engines may have separate costs and usage terms; REA does not include licenses for those tools.
What Can You Reverse Engineer with REA?
Supported targets include native executables and libraries, JavaScript and Electron apps, .NET assemblies, websites, and Android APKs. Depending on the workflow, REA can inspect functions, strings, modules, references, application resources, and selected runtime or network behavior. Platform support and required external tools vary by target, so check the official capabilities before starting.
How to Use REA with Claude Code or AI Agents?
Run npx rea-agents@latest setup and choose Claude Code or another supported client, such as Codex, Cursor, or Gemini CLI. Review and approve the MCP configuration, restart the client, and confirm that REA appears in its tool list. Then ask the agent to use REA on a specific target. Other clients that support local MCP servers can use manual registration.
Can REA Recreate an App Without Source Code?
REA can help an agent understand compiled or packaged software without its original source code and build an implementation of an observed feature. The result depends on the target and available evidence. A complete or identical reconstruction is not guaranteed, and recovered pseudocode is not the original source. Check the target’s rights and licenses before reusing or sharing code, assets, or findings.
Is Reverse Engineer Anything Safe and Legal?
Safety and legality depend on the target, permissions, and operations you request. REA is intended for authorized analysis, research, education, and interoperability. Review commands before execution, use an isolated environment for untrusted software, and check your agent provider’s data policy. Local analysis does not make REA a sandbox. Applicable laws, software licenses, privacy obligations, and terms of service still govern your use; possession of an app alone does not authorize every operation.
What Are the Best Alternatives to Reverse Engineer Anything?
Choose tools around your target and workflow: Ghidra offers a free, open-source workspace for native analysis; IDA Pro and Binary Ninja offer specialist binary-analysis environments; Frida supports dynamic instrumentation; and Chrome DevTools helps inspect web applications. Ghidra and IDA can also work as REA analysis providers. Compare the supported platforms, licenses, and automation features that your investigation needs.
Know the limits
REA helps you inspect and explain software. It does not promise to recover the original source or recreate an entire app. This guide provides resources; analysis runs in your own environment.
Official resources
Start with one question
Connect REA to your agent, then start with one question you can test.