GitHub - morluto/rea: Reverse engineer anything with agents, from app behavior down to native binaries.
Service

GitHub - morluto/rea: Reverse engineer anything with agents, from app behavior down to native binaries.

morluto
2026.10.13
·GitHub·by Homin.Lee
#Agent#Binary Analysis#Code Analysis#RE#Reverse Engineering

Key Points

  • 1REA (Reverse Engineer Anything) is an MCP-based platform that enables AI agents to perform local reverse engineering across diverse targets like native binaries, JavaScript applications, and .NET assemblies.
  • 2By integrating with established analysis tools like Ghidra, Hopper, and IDA, it provides agents with actionable pseudocode, assembly, and structural evidence to facilitate feature understanding and reconstruction.
  • 3The system runs analysis locally to ensure privacy and efficiency, offering both a CLI for terminal-based tasks and an agent-compatible interface for automated software investigation.

REA (Reverse Engineer Anything) is a Model Context Protocol (MCP) server designed to bridge the gap between AI agents and the specialized tools required for reverse engineering. It facilitates a standardized interface that allows agents to interact with diverse software targets—ranging from native binaries and Electron applications to firmware and EVM bytecode—to inspect, understand, and document their internal mechanics without requiring direct source code access.

Core Methodology and Technical Framework

REA functions by connecting an LLM-powered agent to a modular suite of analysis providers. The methodology relies on a "request-investigate-verify" cycle, where the agent orchestrates the workflow and REA executes the heavy-duty lifting locally, returning structured evidence and diagnostic data.

  1. Architecture and Integration: REA leverages the Model Context Protocol to register as a local toolset for popular AI agents (e.g., Claude Code, Cursor, Codex). Upon setup, it injects workflow instructions into the agent’s configuration, enabling it to invoke specific REA commands based on the target type.
  2. Multimodal Analysis Engine: REA utilizes a variety of backends to interpret different file formats:
    • Native Binary Analysis: Interfaces with existing installations of disassemblers and decompilers (Hopper, Ghidra, IDA). It maps binary sections and symbols to pseudocode or assembly outputs.
    • JavaScript/Electron Inspection: Operates via static analysis to resolve module dependencies, inter-process communication (IPC) boundaries, and source map relationships, typically without the need for native execution.
    • Specialized Targets: Supports specific domains such as .NET assemblies (CIL instruction analysis), Android APKs (via JADX integration for decompilation), EVM bytecode (dispatch selector and mutability inference), and embedded firmware (using Binwalk/Unblob).
  3. Local Execution and Evidence-Based Feedback: Analysis is performed strictly on the local machine to maintain data privacy and technical integrity. REA ensures that all conclusions are accompanied by "evidence"—specific byte offsets, assembly instructions, or dependency graphs—which the AI agent uses to ground its reasoning. This minimizes hallucination by forcing the model to explain observations based on verified machine-state artifacts.
  4. CLI and Extensibility: Beyond agent integration, REA provides a command-line interface (e.g., npx rea-agents analyze-javascript-application) that allows for automated, scriptable inspection. This modularity permits the addition of new analysis tools (like TShark for network capture or sigrok-cli for logic signals) through standardized plugins.

Analytical Capabilities

The system is built to handle complex software preservation and reconstruction tasks, such as tracing function calls, reconstructing algorithm logic (e.g., sound-pan calculations or bullet-ring trajectories), and mapping the architecture of proprietary applications. It distinguishes between static inspection (reading files/binaries) and runtime capture (observing behavior using user-permitted process interaction).

Constraints and Security

REA is designed specifically for lawful research, software interoperability, and educational purposes. It requires users to maintain legitimate licenses for proprietary tools like IDA Pro or Hopper. The software emphasizes that it acts as an interface for existing engineering environments rather than a replacement, explicitly stating that it provides no license, key, or authorization for commercial reverse-engineering software. Security is maintained through local-first processing and adherence to MCP standards for agent-tool communication.