夜雨聆风学习资料网

ARTICLE · 1154429

35.8K Star!rea:让 AI 助理学会逆向工程,把 App 一路拆到原始二进制,全程只读不执行

35.8K Star!rea:让 AI 助理学会逆向工程,把 App 一路拆到原始二进制,全程只读不执行

35,817 Star、6 个月前才建仓、取证当天一天提交 100 次。这份体检数据的持有者叫 rea,它干的事一句话说得清:让 AI 编程助理学会逆向工程。

不过先纠正一件事。选题队列里那条链接指向的是 rea 的一个 fork,也就是复制品:同一个项目,复制品上 662 星,本体 3.5 万星,而且复制品里没有一行原创提交,README 里的徽章还指着本体。所以这篇写的是本体 morluto/rea,这也是判断一个项目值不值得看的第一刀。

它是什么

rea 是一个 MCP 服务器,全称 Reverse Engineer Anything。MCP 可以理解成 AI 助理的扩展插槽——装上它,Claude Code、Codex、Cursor 这些助理就多了一整套逆向工程的操作能力。

你指着一个装好的 App 问「这个功能他们怎么做的」,它会拆开二进制、扒出里面的 JavaScript、翻 .NET 汇编,甚至扫一个已经开着的网页,然后把结论连证据一起交给你。

能干什么

按覆盖面数,它管五层。

原生二进制覆盖 Mach-O、ELF、PE 和 macOS 的 .app,能看函数、伪代码、汇编、字符串和调用图。JavaScript 和 Electron 这一层最有意思:不用运行 App 就能还原模块、import、源码映射、路由和进程间通信。网页层只读观察一个已经开着的 Chrome 页面,抓页面结构、网络元数据、脚本和截图。.NET 层不加载程序集就能看完元数据、CIL 指令和原生依赖。安卓那边支持 APK 的包声明、类搜索和方法反编译。

我把它的 npm 包整个下下来数过:6.1.0 版解包 1,027 个文件,加载包里的工具契约数组,实测 138 个工具。而 README 那张工具表格加起来只写了 133 个——宣传比实际少报 5 个,这条赛道里算罕见的诚实。

怎么工作的

关键设计是「不自己造引擎」。真正干重活的还是 Hopper、Ghidra、IDA 这三个专业反汇编器,rea 做的是把它们接进来,统一成 AI 助理能调用的接口。你手里已有 Ghidra(免费)就直接用;想用 IDA 也行,它甚至适配了社区现成的 IDA 桥接器。

npx rea-agents setup                                              # 接入,先展示改动再要你批准npx rea-agents doctor                                             # 体检npx rea-agents analyze-javascript-application /路径/到/app --json   # 零引擎也能出的第一个结果

第二个设计更像它的性格:它把「不知道」当成正式输出。工具里有专门记录、追踪、验证「未解问题」的一整套接口,官方文档写着「缺少观测不能证明两次运行行为相同」「重建检查会报 unknown,而不是把缺证据当成通过」。做安全工作的人会懂这句话的分量——大多数同类产品都在想办法让答案看起来更确定。

适合谁

想拆竞品、复现功能,又不愿意为此学三个月反汇编的开发者最合适。手里已有 Ghidra、不想再买 Hopper 的个人开发者和学生也合适,静态 JavaScript 那一层只要有 Node 就能跑。做样本静态分析的安全同学可以重点看它的只读边界和证据链。

不太适合三类人:期待「一键出源码」的——官方明说反编译产出的是伪代码而不是原始源码;纯 Windows 用户——原生分析只有一个实验性边界,而且没有写权限;Node 23 或 25 的用户——它的版本要求把这两条线直接排除了。

有没有坑

一是发版太快。89 天发了 28 个版本,6 次大版本跳跃,最近四天里 4.0、5.0、6.0 连着来,当天那版日志里还挂着两条破坏性变更。跟着 main 走,你的脚本会反复被打断。

二是三个人的项目,不是 37 个。账面 37 位贡献者,但前三位加起来占 90.8%,第一位占 54.5%。Bus Factor 是 3,不是 37。

三是围观型热度。3.5 万星只有 108 个关注,比例 0.30%,远低于正常项目的 3% 到 5%。星标来自信息流,不等于长期用户。

四是有已知未修的报错问题。issue 里躺着一条:错误返回的格式不符合 MCP 规范,严格的客户端会把它的报错全部丢掉。截至取证当天仍是打开状态。

五是许可要拆开看。仓库本体是 MIT,但它挂了 5 个 git 子模块指向别人的仓库,那些不在这份 MIT 覆盖范围内,要商用发行得逐个查。

总体判断:能力和文档是 A 级,工程稳定性是 C 级。当它是每天都在动的探索工具,它值得;当它是生产依赖,先别。


项目地址:https://github.com/morluto/rea[1]

这份报告我已经归档进 ima 的「GitHub项目集」知识库,和之前拆过的两百多个项目放在一起。下次想找某个工具时直接问它,比翻浏览器书签快得多。

我是海冰,持续拆解 GitHub 上真正值得用的开源项目,只写我读完源码还敢推荐的那些。如果这篇帮你省了自己翻仓库的时间,欢迎点赞、在看、转发,我们下篇见。

引用链接

[1]https://github.com/morluto/rea

相关学习资料