ARTICLE · 1183136
REA:让 AI 帮你拆解软件,看看功能是怎么实现的
看到一个好用的功能,你有没有想过:它背后到底是怎么实现的?
比如,Notion 复制的内容为什么能保留块结构?老游戏又是如何根据画面位置,让声音从左边或右边传出来的?
开源工具 REA,就在尝试让 AI 帮你回答这些问题。
REA 的全称是 Reverse Engineer Anything。它通过 MCP,把 AI 助手接入逆向分析工具,让助手能够查看应用内部的代码线索、调用关系和运行行为,再根据证据解释实现原理。
它可以配合 Claude Code、Codex、Cursor 等助手使用,也支持命令行。分析范围包括原生二进制、JavaScript/Electron 应用、网站、.NET 程序集和 Android APK 等,不同类型需要的环境和工具有所区别。
它的价值,用两个案例就能说明白。
在项目公开的 Notion 案例中,REA 帮助助手追踪了一次剪贴板调用:从页面接口,经过预加载脚本和进程通信,最终到达主进程的系统剪贴板操作。
案例还展示了保留块结构的机制:在本地保存结构化数据,在复制的 HTML 中放入标识,粘贴时通过标识找回对应内容。
另一个案例来自老游戏 DX-Ball。助手借助 REA 查看汇编、追踪调用者、读取常量,重建了一个将横坐标转换为左右声像的 C 函数。按照官方记录,该函数通过了 3,205 组与原始函数的结果对比。
从这两个例子可以看出,REA 的工作方式是:找到线索,追踪实现,给出证据,再验证结论。
想体验的话,准备好符合项目要求的 Node.js 和 npm,运行:
npx rea-agents setup按提示接入助手、完成配置并重启后,就可以围绕具体功能提问。例如:
使用 REA 分析这个应用的导出功能,找到入口,追踪数据转换和文件写入过程,列出关键代码位置,并说明哪些结论还需要验证。
第一次使用,建议从自己拥有或获准分析的小型应用开始。问题越具体,越容易判断分析结果是否可靠。
也要对它的能力保持合理预期:原生程序分析通常返回伪代码和汇编,无法保证恢复完整原始工程。REA 在本地分析目标,但结果会交给 AI 助手处理,数据如何流转取决于助手和模型配置。
REA 值得关注的地方,是让开发者能从一个具体问题出发,借助 AI 和专业工具,逐步理解软件内部的实现。
下次再遇到一个让你好奇的功能,或许可以让 AI 带着证据,陪你往里看一层。
项目地址:github.com/morluto/rea















































































