开发工具#MCP#逆向工程

REA:让编码智能体逆向工程任何应用

REA 把 Hopper、Ghidra、IDA 封成一个 MCP 服务器接进编码智能体:没源码也能拆清应用行为直到二进制,每个结论都带证据。

项目资料

GitHub Ecosystem
仓库地址github.com/morluto/rea
许可证
MIT
主语言
TypeScript
星标
82,583
核查时间
2026-10-11

以上快照资料以核查当日为准,可能随版本或运营策略变化。

看上一个应用里的功能,想知道它到底怎么实现,手里却没有源码——以前你得自己开 Ghidra 一段段啃,现在可以把这件事交给编码智能体。REA(作者 morluto,MIT 协议,TypeScript 编写,2026-04-14 创建,截至 2026-10-11 已 82,583 星)把 Hopper、Ghidra、IDA 这些逆向引擎接成一套 MCP 工具,Claude Code、Codex、Cursor 装上就能拆应用行为,从网页一路拆到原生二进制。它自己不做反编译,做的是两件更难的事:把各家引擎包成 Agent 调得动的统一接口,并且让每个结论都带回证据和局限,而不是模型顺嘴编。

REA 在 Hopper 里启动分析桥检查一个原生二进制

核心功能

  • 一个 setup 接进主流 Agent:npx rea-agents setup 注册 MCP 服务器并安装配套工作流说明,支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等,改动前会备份已有配置;CLI 单独用就是 rea 命令,带快照、结果导入导出和 --json 脚本化输出。
  • 结论带证据链:原生分析返回伪代码、汇编、符号和调用引用,每条结论附证据与局限。官网的演示是把 Windows 计算器的 % 行为查到具体版本——Calculator 11.2508.4.0 x64 上,+ 后按 % 算的是第一个数的百分比(200 + 10% = 220),× 后则按 0.1 处理。
  • 本地运行:分析全部在本机执行,不上传目标程序;Agent 拿到的是工具结果,模型供应商另有自己的数据政策,README 的 FAQ 写得明白。
  • 拆的目标广:从原生二进制到固件,15 类目标各有引擎要求,常用的见下表。
目标能拿到什么需要什么
原生二进制伪代码、汇编、符号、调用引用Hopper / Ghidra / IDA
JS 与 Electron 应用模块、导入、sourcemap、路由、IPC只要 Node.js
网站页面结构、脚本、网络观察、截图Chrome 系浏览器
.NET 程序集元数据、CIL 指令、原生依赖无(纯静态)
Android APK清单、类、反编译方法、引用JADX + JDK
固件分区与提取结果Binwalk / Unblob
抓包记录请求响应、暴露载荷、源码位置HAR 文件
进程行为终端交互、退出状态、文件系统观察Linux 或 macOS

表格取自项目 README 的目标清单,2026-10-11 核对。

REA 的调查流程:Agent 提问,REA 检查目标并返回证据,Agent 再解释、实现并测试

典型使用场景

  • 安全研究与 CTF:Ghidra 支持拆 16 位 DOS 程序,再配上 EVM 字节码分析、ELF 布局诊断和录制崩溃记录的解读,安全研究员常用的几路它都接了。
  • 给自己的项目借一个功能:官网第一课就是让 Agent 查清 Notes 应用怎么导出 CSV,再给项目写一版;Chrome 恐龙游戏的速度规则(6 起步、每次更新加 0.001、封顶 13)也被它完整还原并实测核对。
  • 老游戏与软件保存:社区用它复原了 1996 年 DX-Ball 的音像定位计算——重建的 C 通过 3,205 个原始 x86 用例,63 个编译函数字节逐一吻合;PC-98 游戏 TH04 的弹幕角度计算同样被恢复成可编译的 C++。
  • 弄清电脑里在跑什么:某 Electron 应用在和谁通信、某进程为什么退出,静态 ASAR 分析、HAR 抓包、进程观察三路交叉印证。

DX-Ball 音像定位、Notion 剪贴板桥与 TH04 弹幕环三个官方案例

快速上手

装好 Node.js 22.x(≥ 22.19)、24.x(≥ 24.11)或 26+,外加 npm,然后:

npx rea-agents setup

选好 Agent、确认改动、重启,直接问一句(README 原例):

Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.

深度原生分析要配 Hopper(setup 可经你批准代装)、Ghidra 或 IDA;只拆 JS、Electron 和 .NET 不需要任何逆向引擎。

小结

安全研究员、逆向爱好者和想“借”别人产品交互细节的开发者都值得装;打算逆向商业软件转售的人别来——那是另一个法律问题。MIT 协议,TypeScript 编写。三点提醒:

  • 法律边界自己拿捏:README 只给合法的逆向研究背书,许可协议禁止逆向的商业软件别碰;直接克隆转售更是另一回事。HN 上那份 734 分的讨论(2026-10-10 发起)里,“自动化奢侈抄袭”和“老游戏抢救”两派已经吵翻,前者担心逆向输出不受合理使用保护,后者算了笔账:大量老游戏根本买不到正版,不逆向就永远消失。
  • 热度有水分:10 月 4 日一条演示推文 31 万浏览,六天后项目冲上 GitHub Trending 第一(作者 10-10 发推确认);8 万星里有趋势观光成分,作者自己都发推问“项目好是因为有 star,还是有 star 才好”。README 还专门辟谣:REA 没有发任何代币,冒名代币与项目无关。
  • 没有算法突破,接口是真价值:它不发明新的反编译算法,价值在把现成引擎包成 Agent 好用的接口,并强制返回证据。HN 上也有人展示不用 REA 的路数——Claude 直接修 Windows 远程桌面二进制里的老 bug、给 Insta360 应用补 AMD GPU 加速。工具是放大器,不是入场券。

发版极快:10 月 7 日还是 5.0.0,10 月 11 日已是 6.4.0,作者称这一版“much, much faster”,用前记得 rea update。同路数的还有 universal-modder——让编码智能体给几乎任何 PC 游戏做 Mod;LCU 则把闭源应用里的电脑操控拆成 MCP 工具,方向相反,同样是“拆给别人用”。