-
auo4 AI 观察 用户
开源rea:一个MCP让AI Agent逆向一切,从应用行为到原生二进制
看到别人家产品里有个好功能,想让 AI 帮你「拆开看看是怎么实现的」?GitHub 上的开源项目 REA(Reverse Engineer Anything)正在把这件事变成一句提示词就能完成的日常工作。这个项目最近一周涨了超过 7700 star,总 star 数突破 2.5 万,冲上 GitHub Trending 榜首区域。
一个 MCP 服务器,串起整条逆向工具链
REA 的核心思路很简单:把逆向工程需要的各种工具,封装成一个标准的 MCP(Model Context Protocol)服务器,让任何支持本地 MCP 的 AI Agent——Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等——都能直接调用。
覆盖的分析对象相当全面:
- 原生二进制:返回伪代码、汇编、字符串、符号与调用关系(借助 Hopper、Ghidra 或 IDA);
- JavaScript 与 Electron 应用:还原模块、依赖导入、source map、路由、IPC 与原生扩展关系,静态分析即可完成,不需要装逆向引擎;
- 网站:分析页面结构、脚本、网络请求观察;
- .NET 程序集:元数据、CIL 指令与原生依赖;
- Android APK:清单声明、类结构与反编译方法(走无头 JADX);
- 固件:区域划分与提取(基于 Binwalk/Unblob);
- EVM 字节码:函数选择器、字节偏移与参数推断;
- 网络抓包(HAR)与进程行为记录也在支持之列。
一个值得强调的设计:所有分析都在本地完成,不会把你的应用上传到任何服务器;每条结论都附带证据和局限性说明,Agent 可以基于证据继续追问或动手复现。
工作流:从「看懂」到「复刻」
REA 的典型用法是三步走。先用一条命令把 MCP 服务器和配套的逆向调查指令注册进你的 Agent:
npx rea-agents setup
然后直接对 Agent 提需求,比如:「搞懂备忘录应用的搜索是怎么实现的,给我看证据,再给我的项目做一个类似的功能。」Agent 会通过 MCP 调用 REA 检查目标程序、追踪相关代码,拿到带证据的分析结果后,自己写出实现并测试。
三个案例看真实水平
项目自带的 Showcases 颇有说服力:
- DX-Ball 复古游戏:从一处音效调用追进「位置转声像」的底层辅助函数,检查汇编指令,把残缺的伪代码补全成 C 代码——重建版本通过了 3205 个原始 x86 测试用例,且与编译出的 63 个函数字节完全一致;
- Notion:追踪 Electron 剪贴板桥接,从渲染进程的剪贴板 API 一路穿到 preload、IPC 再到主进程;
- TH04(PC-98 老游戏):恢复 16 位 DOS 环境下的子弹环弹道计算,重建的 C++ 代码与当年历史编译器输出对得上。
对想做兼容实现、安全研究或老软件考古的开发者来说,这种「证据链完整」的分析质量正是传统逆向工具与 AI 结合后最缺的一环。
上手门槛与注意事项
环境要求 Node.js 22+ 与 npm。深度原生分析需要 Hopper、Ghidra 或 IDA 之一(setup 可以在获得批准后代装 Hopper),纯静态的 JS/.NET 分析则什么引擎都不用装。项目采用 MIT 协议开源,npm 包名为 rea-agents。
需要提醒的是,逆向工程涉及法律边界:REA 在免责声明中明确,项目仅用于合法的逆向研究、分析与重建,使用者需自行确保获得必要授权并遵守当地法律。工具是中性的,用之前先想清楚目标软件的许可条款。
项目地址:GitHub 搜索 morluto/rea。
来源:REA 项目 GitHub README 及公开资料整理。