2026 年 10 月初,一个叫 REA(Reverse Engineer Anything)的开源项目在 GitHub 上悄然走红。14.9k stars,单日增长 1.6k,成了 AI 工具领域最被低估的黑马。
它的核心能力听起来像科幻小说:你把一个 app 扔给你的 AI coding agent,告诉它"我想知道这个功能是怎么实现的",agent 就能帮你逆向分析到二进制级别,还能给你写一个类似的实现。
这不是玩具 demo。官方已经展示了三个完整案例:重建一个 1990 年代 DOS 游戏的声音算法、追踪 Notion 的剪贴板数据流、恢复一款弹幕游戏的弹道计算逻辑。每一步都有证据,每一步都能跑通。
技趣星球 · 用技术创造乐趣。
日期:2026-10-08
REA 是什么:一个 MCP 服务,把逆向工具全接上
REA 本质上是一个 MCP(Model Context Protocol)服务器,把你的 AI coding agent(Claude Code、Codex、Cursor、Gemini CLI)和一整套逆向工程工具连接起来。
以前,你要逆向分析一个 app,得自己:
- 找对工具(Hopper、Ghidra、IDA、JADX......)
- 学习每个工具的 CLI 和 API
- 手动导出结果、交叉对比、追踪调用链
- 把 pseudocode 翻译成可运行代码
现在,REA 把这些全封装了。你的 agent 通过 MCP 调用 REA,REA 返回带证据的分析结果,agent 再据此写实现。
一句话:REA 不是让 AI 学逆向工程,而是把逆向工程工具接上 AI。
能分析什么:从二进制到网页,覆盖 8 大目标
| 目标类型 | 能拿到什么 | 依赖工具 |
|---------|-----------|---------|
| Native binaries | Pseudocode、汇编、字符串、符号、调用关系 | Hopper、Ghidra 或 IDA |
| JavaScript / Electron | 模块结构、import 关系、source maps、路由、IPC | Node.js + npm |
| .NET assemblies | 元数据、CIL 指令、原生依赖、构建对比 | 静态分析,无需额外工具 |
| Android APKs | Manifest 声明、类结构、反编译方法、引用关系 | JADX + JDK |
| Firmware | 固件分区、提取结果、 handed off to native analysis | Binwalk / Unblob |
| Websites | 页面结构、脚本、网络请求、截图 | Chrome 系列浏览器 |
| Saved network captures | 请求/响应、暴露的 payload、源代码位置 | HAR、mitmdump |
| Process behavior | 终端输出、交互、退出状态、文件系统观测 | Linux/macOS PTY |
静态分析(JavaScript、.NET)直接读文件,不需要运行目标。动态分析(runtime capture)会用你的用户权限运行目标,每个指南里都写了具体影响。
实际案例:不是"能跑",而是"有证据地跑通"
REA 官网展示了三个 showcase,每一个都有完整的 reconstructed repository 和 case study。
案例 1:DX-Ball 的声音平移计算
DX-Ball 是一款 1990 年代的 PC 弹球游戏。REA 的开发者追踪了游戏里的一个声音调用,找到了 position-to-pan 的 helper 函数,反推了 x86 汇编指令,最后用 C 重写了整个算法。
结果:重建的代码通过了 3,205 个原始 x86 测试用例,复现了所有 63 个编译后的函数字节。
这意味着什么?你不需要原游戏的源代码,也不需要文档,仅靠逆向 + AI,就能精确还原一个 30 年前商业游戏的音频逻辑。
案例 2:Notion 的剪贴板桥接
Notion 是 Electron 应用。REA 追踪了 renderer 进程的剪贴板 API,跟着它穿过 preload 脚本和 IPC,进了 main process,最后看到了 Notion 用的 rich clipboard format。
这不是"大概知道 Notion 用了剪贴板",而是把完整的调用链和数据结构都挖了出来,包括 IPC 消息的 payload 格式。
案例 3:TH04 的弹道计算
TH04 是日本弹幕游戏系列东方 Project 的第 4 作,运行在 PC-98 上。REA 分析了游戏的 16 位指令,恢复了固定角度和瞄准角度的计算逻辑,然后把重建的 C++ 和历史上编译器输出做了对比。
硬核到这种程度:不仅逆向,还能验证逆向结果的准确性。
一个判断:REA 的价值不在"破解",而在"理解"
很多人看到 REA 第一反应是"这能破解 app 吗?"或者"这能盗版游戏吗?"
这些场景确实存在,但不是 REA 的设计目标,也不是它最有价值的应用场景。
REA 真正有价值的场景是:
1. 竞品分析
你想实现某个 app 里的某个功能,但没有源代码。用 REA 让 agent 帮你分析实现原理,理解数据结构和算法,然后自己写一个兼容实现。这是合法的,也是很多公司做竞品分析的标准做法。
2. 遗留系统维护
你接手了一个 10 年前的老系统,源码丢了,文档也没有。用 REA 分析二进制,恢复关键逻辑,为重构提供依据。
3. 安全审计
你自己开发的 app,想确认没有暴露敏感信息在二进制里。用 REA 做静态分析,检查 strings、symbols、网络请求,确保没有意外的凭证泄露。
4. 学习与教育
想理解一个开源 app 的内部机制,但源码太复杂看不懂。用 REA 让 agent 帮你追踪关键路径,生成带注释的 pseudocode,降低学习曲线。
5. 互操作性研究
某个 app 的协议没有公开文档,你想开发第三方客户端。用 REA 分析网络请求和二进制逻辑,还原协议规范。
这些场景的共同点是:你需要"理解"一个系统,而不是"攻击"它。
技术架构:MCP 把 50+ 工具统一成一个接口
REA 的技术核心是 MCP 服务器 + 工具目录。
官方维护了一个 product-catalog.json,里面列出了所有可用的工具、provider 和 CLI 命令。目前已经有 50+ 个工具,覆盖静态分析、动态追踪、二进制诊断、网络抓包等多个维度。
工作流程:
- 你给 agent 一个目标("分析 Notes app 的搜索功能")
- Agent 通过 MCP 调用 REA
- REA 启动对应的分析引擎(Hopper/Ghidra/JADX/Chrome......)
- REA 返回带证据的分析结果(代码片段、调用图、字符串、引用)
- Agent 基于这些结果回答你的问题,或者写一个实现
关键设计:分析在本地运行。REA 不会把你的 app 上传到任何服务器。你的 agent 收到的是工具结果,模型提供商的数据政策由各自决定。
支持的 agent:Claude Code、Codex、Cursor、Gemini CLI,以及其他支持本地 MCP 服务器的 agent。Setup 命令会自动配置 MCP 注册和 workflow instructions。
给开发者的三条建议
1. 先搞清楚你的使用场景是否合法
REA 的免责声明写得很清楚:你负责获取必要的授权,遵守适用法律。分析你自己开发的产品、分析开源软件、分析你有权访问的应用,这些都是合法的。分析商业软件的 DRM 或盗版,是违法的。
2. 从 JavaScript/Electron 开始,门槛最低
静态分析 JavaScript/Electron 应用不需要 Hopper 或 Ghidra,只要有 Node.js 和 npm 就能跑。如果你之前没接触过逆向工程,从 Electron 应用入手最容易建立直觉。
3. 把 REA 当成"理解工具",不是"破解工具"
REA 最强大的地方不是它能破解什么,而是它能帮你理解一个系统到底是怎么工作的。这种能力在维护遗留系统、做安全审计、学习复杂开源项目时,价值远超你的想象。
收个尾
REA 走红的背后,是一个更深层的趋势:AI agent 正在从"写代码"扩展到"理解代码和系统"。
以前,agent 能帮你写新功能,但不能帮你读一个没有源码的 app。现在,REA 把这扇门打开了。
当然,这门技术是一把双刃剑。它能帮维护者拯救遗留系统,也能被用来破解商业软件。但它本身只是一个工具,和 Hopper、Ghidra、IDA 没有本质区别------关键是你拿它来做什么。
对于技术团队来说,REA 的价值在于:当你面对一个黑盒系统时,你终于有了一个 systematic 的方法去理解它,而不需要靠猜或靠文档。
AI 不仅能帮你写代码,还能帮你读懂任何代码。
技趣星球 · 用技术创造乐趣。
参考来源:
- REA 官方仓库 --- GitHub: morluto/rea $TRAE_REF(https://github.com/morluto/rea)
- REA 官方网站 --- morluto.github.io/rea $TRAE_REF(https://morluto.github.io/rea/)
- REA npm 包 --- rea-agents $TRAE_REF(https://www.npmjs.com/package/rea-agents)
- CSDN 报道:《rea:1万星开源AI逆向工程框架,用Agent从应用行为一路看到原生二进制》$TRAE_REF(https://blog.csdn.net/weixin_42116348/article/details/167258712)
- AICoder 报道:《REA goes viral: one MCP server lets Claude Code, Codex and Cursor reverse-engineer binaries, APKs and Electron apps》$TRAE_REF(https://aicoder.com/news/news-20261008-rea-reverse-engineer-anything-mcp-agents)
- Trendshift 实时趋势 $TRAE_REF(https://trendshift.io/)
- GitHub Hot 热榜 $TRAE_REF(https://github.hot/)