什么是 REA(Reverse Engineer Anything)?

解释 REA 这个开源 MCP Server 与 CLI 如何让编码 Agent 在没有源码的前提下分析二进制、Electron 应用、APK 与网络抓包,并说明如何把 HAR 抓包导入 Apifox 完成 API 逆向。

用 Apifox,节省研发团队的每一分钟

什么是 REA(Reverse Engineer Anything)?

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

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 完成:

  1. 抓一次包。在 Chrome DevTools 中复现流程,把所有请求连内容一起保存为 HAR。请在测试账号上录制,因为 HAR 里带有有效 token。
  2. 让 Agent 梳理。让 Agent 对这份 HAR 运行 REA 并汇总 API 表面。你会得到接口清单、ID 模式、哪些调用返回了错误,以及指回原始记录的指针。
  3. 把同一份 HAR 导入 Apifox。Apifox 会把抓到的请求转成接口,可选择为每个接口生成一个默认测试用例,也可以在导入时丢弃静态资源。清理细节见我们的 HAR import walkthrough。
  4. 把推断出的模板提升为真正的 path 参数。REA 的 {numeric} 和 {uuid} 占位符告诉你,在 Apifox 的接口定义中哪些路径片段应该参数化。
  5. 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 编程的实际用法、开发工作流,还有各种新工具和新玩法。