REA:讓 AI agent 幫你逆向分析二進位檔與應用程式
REA(Reverse Engineer Anything)是一個面向 AI agent 的逆向工程 MCP 服務,以 TypeScript 編寫,透過 npm 套件 rea-agents 發佈。它把原生二進位檔、JavaScript 與 Electron 應用、.NET 組件和網站的分析能力統一接入 Claude Code、Codex、Cursor、Gemini CLI 等 agent,也能在終端機直接使用。原生分析可呼叫已安裝的 Hopper、Ghidra 或 IDA,靜態 JavaScript 分析則不需要原生引擎。分析在本機執行,每個結論都附帶證據與限制說明。適合想弄清無原始碼應用的功能原理、做競品研究、排查相容問題或做資安分析的開發者與研究者。
逆向工程一直是门槛很高的手艺。想弄清楚一个应用里的某个功能是怎么实现的,你往往要同时面对原生二进制、打包过的 JavaScript、Electron 应用、.NET 程序集和线上网站。每一类目标都有自己的工具链,每个工具的用法也各不相同。过去的做法是研究者在 Hopper、Ghidra、IDA 这类反汇编器之间来回切换,手动记录线索,再把结论整理成文字。REA(Reverse Engineer Anything)想改变的正是这个流程。它把这些分散的分析能力包装成一个 MCP 服务,让 Claude Code、Codex、Cursor、Gemini CLI 这类 AI agent 可以直接调用。项目的口号很直接:看到一个喜欢的功能,就去弄懂它怎么工作,一直追到二进制层面。
在生态位置上,它并不想再造一个反编译器,而是站在现有反编译器之上,提供一层面向 agent 的接入层。项目由 morluto 维护,用 TypeScript 编写,通过 npm 包 rea-agents 分发,并配有官网、指南和案例展示。README 还提供了简体中文、日语、韩语等十多种语言版本,说明它面向全球使用者。REA 的核心是一个统一的 MCP 入口,覆盖原生二进制、JavaScript 与 Electron 应用、.NET 程序集以及网站。做原生分析时,它可以使用你已经装好的 Hopper、Ghidra 或 IDA,安装时也可以在你批准后顺带装上 Hopper。静态 JavaScript 分析则不需要任何原生分析引擎,这让前端和 Electron 方向的入门成本很低。第二个特点是同一套工具既能给 agent 调用,也能在终端里直接使用,所以你可以先让 agent 跑一遍,再自己用命令行复核。
第三个特点是分析在本地运行,结果会附带支撑每个结论的证据和局限说明。这一点很关键。大模型做逆向最怕一本正经地编造,而 REA 要求每个结论都带上依据,读者可以顺着证据去核对,而不是只能选择相信。再往下,安装步骤不只注册 MCP 服务,还会写入与之匹配的工作流指令,让 agent 知道该按什么顺序使用这些工具。项目 topics 里列出了 agent-skills、binary-analysis、decompiler 等标签,也印证了这种把工具和工作方法一起交付的思路。相比只提供一个反编译器插件的方案,这更接近一整套可复用的逆向流程。上手路径很短。
机器上有 Node.js 和 npm,就运行 npx rea-agents setup,选择要接入的 agent,查看安装程序列出的改动并确认。安装程序会为已有配置做备份,完成后重启 agent 即可使用。README 列出的支持对象包括 Claude Code、Codex、Cursor、Gemini CLI 和 Grok Build,其他 agent 另有安装文档说明。典型用法是这样:你在某个桌面应用里看到一个想借鉴的功能,就让 agent 用 REA 去调查。它会在没有源码的情况下检查应用,解释功能原理,给出证据,再按你的项目写出一个对应的实现。有一个细节要留意:在 Linux 上,Ghidra、JADX、固件工具启动以及静态 JavaScript 与 Electron 分析,需要 PATH 里有兼容 procps 的 ps,用来检查进程归属,恢复步骤写在 docs/installation.md 的相关章节。文档方面,项目有官网指南、案例展示、FAQ、MCP 契约文档和多语言 README,还设有 Discord 社区,包含问答和作品分享板块。
README 也特别提醒,应只从 morluto/rea、rea.tools 或 npm 包获取,名字相近的仓库不能证明是官方下载。REA 的意义在于,它把逆向工程从少数专家的手工活,推向了 agent 可以协助完成的工作流。对独立开发者和小团队来说,能研究一个没有源码的功能如何实现,意味着竞品分析、兼容性排查、遗留软件理解都可以更快开始。对安全研究者而言,统一的 MCP 接口让不同分析引擎的能力可以组合起来,而不是各自孤立。风险同样要看清。第一,逆向他人软件涉及授权与合规问题,使用者需要自己确认许可协议和当地法律。第二,agent 给出的解释即使附有证据,也需要人来复核,尤其是基于反编译结果的推断。第三,项目依赖 Hopper、Ghidra、IDA 等外部工具,原生分析的效果与这些工具的状态有关。另外,这类工具的分发渠道容易被仿冒,README 里的官方来源提示值得认真对待。未来值得观察的方向有三个:对更多目标类型的覆盖,社区贡献的案例和 skills 能否沉淀成可复用的方法库,以及证据与局限说明这套约定能否成为同类 agent 工具的通行做法。
Sources
FAQ
REA 是什么?
REA(Reverse Engineer Anything)是面向AI智能体的逆向工程MCP服务,用TypeScript编写,以npm包rea-agents分发,可分析原生程序与网站。
REA 对开发者和安全研究者有什么影响?
REA让逆向工程从少数专家的手工活,变成智能体可协助的流程。独立开发者和小团队能更快研究无源码功能,用于竞品分析、兼容性排查和遗留软件理解,每个结论还附带证据与局限说明供复核。
使用 REA 时需要注意什么?
使用前要留意三点:逆向他人软件涉及授权与法律合规,需自行确认;智能体的解释仍要人工复核;原生分析效果取决于Hopper、Ghidra、IDA等外部工具。安装请只用morluto/rea、rea.tools或npm包。