FOUNDATIONS / 5 MIN READ
What is REA? A practical introduction
Understand how REA connects AI agents to reverse engineering tools, what it can inspect, and where its capabilities end.
A bridge between your agent and analysis tools
REA stands for Reverse Engineer Anything. It provides a CLI and an MCP server that let a coding agent inspect software artifacts and gather evidence. MCP is the connection that allows an agent to call external tools and read their results.
The useful workflow is a sequence of focused questions: find the relevant code, inspect its callers and dependencies, check the available evidence, then implement and test your own version. REA supplies analysis capabilities; the agent interprets the findings.
Different targets need different approaches
JavaScript and Electron analysis can inspect local application files, modules, imports, routes and inter-process communication. Native binary analysis can expose assembly, pseudocode, symbols, strings and references through a configured engine such as Ghidra, Hopper or IDA.
Website inspection can observe browser-visible structure and activity. It does not reveal a remote server's private source code or database. Other supported target types have their own tools, platform requirements and limits; check the official documentation for your exact target.
Ask about one behavior
A narrow question makes the investigation easier to verify. Instead of asking for an entire application to be recreated, choose one behavior with observable inputs and outputs.
Investigate how this application's export feature works.
Identify the entry point and relevant dependencies.
Show source locations or instruction addresses for each conclusion.
Separate observed facts from hypotheses and unresolved questions.Evidence still needs interpretation
Pseudocode is a reconstruction of compiled behavior, not the original source. Minified JavaScript may have lost meaningful names. A static call candidate is not proof that a path ran in a particular session.
Keep the original artifact and record its version or hash. Confirm important conclusions with a runtime observation or a controlled input/output comparison. A convincing explanation is only a starting point for validation.
CHECK THE PRIMARY SOURCES