REA 是 Reverse Engineer Anything 的缩写,它是一个开源 MCP server 兼 CLI,让编码 Agent 在没有源码的情况下也能拆解软件。把 Claude Code、Codex、Cursor 或其他 Agent 指向一个原生二进制、一个 Electron 应用、一个 .NET assembly、一个 Android APK、一个网站或一份已保存的网络抓包,问它某个功能是怎么实现的,REA 会返回伪代码、模块依赖图、请求日志,以及每条结论背后的证据。Agent 随后解释它,或者把它重建出来。
morluto/rea 仓库创建于 2026 年 4 月,此后一直没什么人注意,直到 10 月第一周。到 10 月 12 日,它的 Star 数突破 115,000、Fork 数超过 25,000,是 GitHub 上最快的增长之一。本文介绍 REA 能做什么、如何安装、它的强项在哪里、哪些宣传言过其实,以及大多数报道都跳过的一点:REA 能读取 HAR 和 mitmproxy 抓包,这使它成为 API 逆向工程的前端,而这项工作可以在 Apifox 中收尾。
AI Coding 交流群
如果你也在用 AI 写代码,或者正在研究 Cursor、Claude Code 这些工具,欢迎加入以下交流群。群里平时会聊一些 AI 编程的实际用法、开发工作流,还有各种新工具和新玩法。
热度背后的数字
Trendshift 的每日追踪呈现了这次爆发的形状。REA 于 10 月 4 日首次进入趋势榜,当天新增约 1,400 个 Star,此后连续一周加速增长。
| 日期 | 当日新增 Star |
|---|---|
| 10 月 4 日 | 1,373 |
| 10 月 7 日 | 5,602 |
| 10 月 9 日 | 19,375 |
| 10 月 10 日 | 26,572 |
| 10 月 11 日 | 31,255 |
在 10 月 6 日到 12 日的七天里,该仓库有五天占据 GitHub Trending 榜首。发版节奏同样惊人:3.2 于 10 月 3 日发布,4.0 于 10 月 5 日,5.0 于 10 月 7 日,6.0 于 10 月 8 日,6.1 到 6.4 集中在 10 月 9 日至 11 日。这个节奏对采用者很重要,后文会再展开。
这次暴涨并非某条推文或发布帖带来的,真正起作用的是那句宣传语:“看到喜欢的功能,就理解它的实现,直到二进制层面。” Agent 从二进制重建桌面应用的演示视频迅速传播,随之而来的还有那些老生常谈的“软件已完成”论调。更有价值的解读要克制得多:REA 只是把 Agent 与早已存在的逆向工具之间做了一个封装良好的连接器。
REA 能做什么
REA 以本地 MCP server 的形式运行。你的 Agent 调用它的工具,REA 用合适的引擎检查目标,Agent 拿到结构化结论,以及这些结论的局限和未解之处。同样的工作流也提供 CLI 命令,因此你完全可以不用 Agent,直接脚本化。

它可以分析的对象,来自 README 的目标表:
| 分析对象 | REA 返回的内容 | 依赖 |
|---|---|---|
| 原生二进制 | 伪代码、汇编、字符串、符号、交叉引用 | Hopper、Ghidra 或 IDA |
| Go 二进制 | 编译器版本、模块、构建配置 | 无需额外依赖 |
| JavaScript 与 Electron 应用 | 模块、import、source map、路由、IPC 边界 | 仅需 Node.js |
| 网站 | 页面结构、脚本、网络观测、截图 | Chrome 系浏览器 |
| 已保存的网络抓包 | 请求、响应、载荷、来源位置 | HAR;mitmproxy 需 Linux 上的 mitmdump |
| .NET assembly | 元数据、CIL、原生依赖 | 无需额外依赖 |
| Android APK 与设备 | Manifest、反编译方法、日志、屏幕截图 | JADX 加 JDK;adb |
| 固件 | 分区、提取结果 | Linux 上的 Binwalk 或 Unblob |
| WASM 与 EVM 字节码 | section、import 与 export、dispatch selector | WABT;Linux x64 |
让 REA 区别于浅层封装的设计选择,是它的证据模型。每个结论都带有溯源信息:文件摘要、字节区间、指向抓包的 JSON pointer,以及一份明确列出“分析无法确认什么”的清单。项目文档反复强调这一点。分析在你的机器上运行,README 的 FAQ 也直言:Agent 使用的模型提供方仍会按自己的数据政策收到工具结果。
如何安装 REA
你需要 Node.js 22.19 或更高版本(23 和 25 不受支持)以及 npm。一条命令即可注册 MCP server,并为你的 Agent 安装配套的 skill 说明:
npx rea-agents setup
安装过程会先展示计划、备份现有配置,只有在你确认后才写入。根据 installation guide,它支持 Claude Code、Claude Desktop、Codex、Cursor、Gemini CLI、Windsurf、Devin、OpenCode、Antigravity、GitHub Copilot CLI、VS Code、Grok Build、Hermes 等,每个都可以用 --client 参数选择。安装后重启 Agent,然后这样提问:
Understand how search works in the Notes app, show me the evidence,
and build a similar feature for my project.
如需全局 CLI:
npm install --global rea-agents
rea doctor --json
静态的 JavaScript、.NET、网站和抓包分析不需要额外引擎。深度原生分析则需要 Hopper、搭配 JDK 21 或更高版本的 Ghidra 12.1,或 IDA。安装程序可以在你同意后安装 Hopper,但 Hopper 是独立的商业软件,有自己的授权。Windows 上的 Ghidra 被标记为实验性。
从官方案例看它的强项
项目自己的案例研究是最诚实的基准。在 DX-Ball 案例中,Agent 沿着一次音效调用追进 position-to-pan 辅助函数,把不完整的伪代码还原为 C,重建结果通过了 3,205 个原始 x86 测试用例,并完整复现了 63 个编译函数的字节。在 Notion 案例中,它把剪贴板 API 从 renderer 经 preload、IPC 一路追踪到 Electron 主进程。第三个案例则从一款 1990 年代 PC-98 游戏的 16 位指令中还原出弹幕环角度计算。
注意其中的规律:这些都是针对单个函数或单条数据通路的、范围很窄的问题,并且都有办法验证答案。这正是当下 Agent 驱动逆向工程真正奏效的场景。“重建整个应用”的演示视频效果很好,产物也确实和目标相似,但一份早期评测在一款简单的 Mac 应用上把 REA 与普通 Agent 对比,发现两者差距很小,而 REA 跑得更慢。价值出现在问题足够具体、目标足够复杂的时候。
REA 在 API 场景中的用法:从抓包到可测试的规范
下面这部分对所有基于 API 做开发的人都相关。REA 的 inspect_web_network_capture 工具离线读取 HAR 文件(或 Linux 上的原生 mitmproxy 抓包),不会重新请求已记录的 URL。它会校验每一条记录,连同摘要一起保留请求与响应 body,并从证据中结构性排除 authorization header、cookie 和 URL 中的凭据。
接下来它做的事情 API 团队会非常熟悉。把保留下来的证据传给 inspect_analysis_view 并使用 api-surface 视图,REA 会按 method、origin 和推断出的 path 模板对每个请求分组。数字 ID 变成 {numeric},UUID 变成 {uuid},长十六进制字符串变成 {hex},日期变成 {iso-date}。每个分组都会引用它来自的记录,并标出状态码或 content type 混杂的情况。capture guide 特意说明该视图不对 schema 或 handler 做任何断言。它是一份推断出的清单,不是规范。
这份清单正是我们 reverse engineering APIs guide 中工作流的起点,而收尾由 Apifox 完成:
- 抓一次包。在 Chrome DevTools 中复现流程,把所有请求连内容一起保存为 HAR。请在测试账号上录制,因为 HAR 里带有有效 token。
- 让 Agent 梳理。让 Agent 对这份 HAR 运行 REA 并汇总 API 表面。你会得到接口清单、ID 模式、哪些调用返回了错误,以及指回原始记录的指针。
- 把同一份 HAR 导入 Apifox。Apifox 会把抓到的请求转成接口,可选择为每个接口生成一个默认测试用例,也可以在导入时丢弃静态资源。清理细节见我们的 HAR import walkthrough。
- 把推断出的模板提升为真正的 path 参数。REA 的
{numeric}和{uuid}占位符告诉你,在 Apifox 的接口定义中哪些路径片段应该参数化。 - Mock 与测试。打开 Apifox 的智能 mock,让客户端代码在接触真实接口之前就能针对重建出的 API 运行;然后基于抓到的响应结构编写断言,并在 CI 中通过 Apifox CLI 运行。
分工很清晰:REA 擅长读取证据并解释它;Apifox 则让这些接口变成团队可以共享的、有文档、有 mock、有测试的契约。两者互不越界。
采用之前的注意事项
发版速度是双刃剑。九天里发了七个 minor 版本,而项目的 always-bump-minor 策略意味着 minor 升级也可能是破坏性的。6.2 迁移指南就改变了每个 MCP 结果的形态。如果你对 REA 的 JSON 输出写脚本,请锁定版本,并在升级前先读 changelog。
它是连接器,不是沙箱。项目的安全策略明确指出,它的本地 provider bridge 不是沙箱,打开不受信任的二进制会以你的用户权限执行解析。请在隔离环境中分析不受信任的目标,和隔离任何 Agent 工具调用的做法一样。
平台限制很具体。原生 mitmproxy 解码需要 Linux 上、恰好为 12.2.3 版本的 mitmdump,且需你自行提供。固件提取、EVM 和 WASM 路径要求 Linux x64。Hopper 没有 Windows 版本。
法律责任仍在你身上。README 把 REA 限定于合法的研究、分析和重建,并说明授权由你负责。复制竞品功能在法律上仍然是同一个问题,工具的出现并没有改变它。项目还不得不声明:它从未发行任何 token,使用其名义的币种与它无关。
项目还很早期。截至本文写作时已有 100 多位贡献者,170 多个未关闭的 issue 和 PR。文档相当详尽,但在官方示例之外的路径上,要做好遇到粗糙边缘的准备。
常见问题
REA 免费吗?免费。代码采用 MIT 许可,npm 包也不收费。如果你选择用 Hopper 做原生分析,它是付费产品;Ghidra 免费。
REA 会上传我的应用或二进制吗?不会。分析在本地运行。工具结果会发送给你的 Agent 所使用的模型,因此适用该模型提供方的数据政策。
上手需要 Ghidra 或 IDA 吗?分析 JavaScript、Electron、.NET、网站或抓包都不需要。只有原生二进制反编译才需要引擎。
REA 能从流量生成 OpenAPI 规范吗?不能。它的 api-surface 视图只是带 path 模板的推断清单。把 HAR 导入 Apifox 才能得到可编辑的接口定义,再从那里导出 OpenAPI。
结论
REA 之所以能拿到这么多 Star,是因为它把真正的逆向引擎封装在一个 MCP server 之后,并把它返回的证据写清楚了。把它用在范围明确的问题上:某个函数如何工作、哪条 IPC 通道传递消息、应用流量长什么样。至于“重建一切”的演示,就把它当演示看待。
对 API 团队来说,真正实用的收益在抓包这条路径上:让 Agent 用 REA 读 HAR,然后把同一份文件导入 Apifox,把这份清单变成可以 mock、可以测试、可以写文档的接口。
HiFox :将 Agent 变成真正的队友
另外,我们也在思考,AI 如何从个人提效走进团队协作。
HiFox 是一个让人和 AI Agent 在同一个工作现场协作的平台:你可以像给同事分派任务一样指派 Agent,在任务看板中跟踪进度、查看结果,让 Agent 成为团队里的队友。
👉 立即体验 Hifox:https://hifox.com
AI Coding 交流群
如果你也在用 AI 写代码,或者正在研究 Cursor、Claude Code 这些工具,欢迎加入以下交流群。群里平时会聊一些 AI 编程的实际用法、开发工作流,还有各种新工具和新玩法。