morluto/rea

GitHub 2026-10-31T19:00:35.784338

项目简介

REA(Reverse Engineer Anything)是一个把逆向工程能力封装成 MCP 服务、交由 AI Agent 驱动的开源工具链。它让 Claude Code、Codex、Cursor、Gemini CLI 等 Agent 直接对原生二进制、JavaScript/Electron 应用、.NET 程序集和网站发起结构化分析。核心价值在于:无需源码即可定位某个功能是如何实现的,并且每一条结论都会附带证据与已知局限,而不是让 LLM 凭空推测。分析全程在本地执行,同时提供 CLI 入口,方便脚本化与人工复核。

技术亮点

架构解析

整体分为四层。最外层是接入层,包含 MCP server 与 CLI 两条入口,二者共享同一份工具实现与参数校验。其下是工具层,按目标类型切分为原生二进制分析、JavaScript/Electron 静态分析、.NET 反编译、Web 抓取等工具组,每组暴露稳定的输入输出契约。第三层是Provider 适配层,把 Hopper、Ghidra、IDA、Kuna 等异构引擎的调用差异抽象为统一接口,未配置原生 provider 时自动降级为纯静态能力。底层是证据与运行时层,负责本地进程所有权校验(Linux 下依赖 procps 兼容工具)、结果结构化与局限性标注,保证整条链路的可复现性。

适用场景

生态对比

与 Ghidra / IDA Pro 相比,REA 不是反汇编器,而是它们之上的编排层:Ghidra 强在开源反编译与脚本化,IDA 强在交互式分析体验,但两者都假设操作者是人;REA 把操作者换成 Agent,并补上了结果结构化与证据输出。与 radare2 / Binary Ninja 的差异类似——REA 可复用这些引擎,但关注的是“让 Agent 可调用、可验证”。在同类的 MCP 逆向插件中,多数只封装单一引擎的少数命令,覆盖面窄且缺少证据契约;REA 的差异点是多目标面统一 + provider 可插拔 + 显式局限声明。

延伸阅读

项目信息

查看原文