ARTICLE · 1158459
看懂别人的 App 有多难?这个 8 万 Star 的开源项目,让 AI 替你逆向任何
逆向工程的终点,不是拆开别人的作品,而是理解这个世界的运行方式。
一个程序员的深夜困境
凌晨一点,你盯着屏幕。
对面是一个 App,它的某个功能做得实在太漂亮了——动画丝滑、逻辑清晰,你越看越心动:"要是我的项目里也有这个功能就好了。"
但你没有源码。
你手里只有一堆编译好的二进制文件、一个打包压缩的 ASAR 目录、或者一个混淆过的 JS 文件。打开一看,是天书。
你想过去逆向。然后你打开了 IDA,看到了这个:
mov rbp, rsplea rdi, [rel _msg]call _printf
你默默关掉了窗口。
逆向工程,一直是程序员世界里门槛最高的技能之一。 汇编、反编译、动态调试、加壳脱壳……每一项都值得啃上几年。它是安全研究员的专属领地,是极客圈层的"黑话"。
直到最近,一个开源项目把这些门槛几乎夷为平地。
它叫 REA,GitHub 上已经拿下 80,000 Star,MIT 开源协议。它的口号简单粗暴:
Reverse engineer anything with agents. 用智能体,逆向工程任何东西。
REA 到底是什么?
一句话讲清楚:REA 是给你的 AI 编程助手装上的一整套"逆向工程工具箱"。

你已经习惯了让 Claude Code、Cursor 帮你写代码。但当你问它"这个闭源 App 的搜索功能是怎么实现的",它只能耸耸肩——因为它没有眼睛,没有手,看不到二进制里的世界。
REA 补上的,正是这双眼睛和这双手。
它以 MCP 服务器的形式接入你的 AI Agent,让 Agent 可以直接调用一整套逆向分析工具:检查原生二进制、追踪 JavaScript 调用链、解析 .NET 程序集、抓取网站行为……然后把分析结果连同证据一起返回给 Agent。
它的整个工作流是这样的:

注意两个关键设计:
全本地分析:你的 App 不会被上传到任何服务器,分析都在本机完成。 证据可溯:每个结论都附带证据和局限性说明,AI 不许"瞎猜"。这在 AI 幻觉泛滥的今天,堪称一股清流。
REA 的工作原理
智能体通过 MCP 调用 REA,检查目标并追踪相关代码。REA 返回发现及对应证据。智能体据此提出后续问题、解释行为,或编写并测试实现。CLI 命令使用同样的工作流。

它能拆什么?答案是:几乎一切
很多人以为逆向就是拆 exe。REA 的覆盖面远超你的想象:

从 Windows 桌面软件到安卓 APK,从 Electron 应用到智能合约字节码,甚至 1996 年 DOS 游戏的 16 位机器码——都在射程之内。
原生分析可以对接你已有的 Hopper、Ghidra 或 IDA;而静态 JavaScript 和 .NET 分析完全不需要任何原生分析引擎,装完就能用。
三个真实案例,看完我沉默了
README 里列出的三个实战案例,个个硬核。
案例一:复活一款 1996 年 DOS 游戏的弹幕算法
TH04,一款诞生于 PC-98 平台的经典弹幕射击游戏。
REA 检查了游戏的 16 位指令,成功还原了"固定角"与"瞄准角"两种弹幕角度计算逻辑,重建成 C++ 代码后,与当年历史编译器的输出逐字节对比验证。
30 年前的机器码,被 AI 考古式复原。
案例二:把 Notion 的剪贴板拆了个底朝天
Notion 是典型的 Electron 应用。REA 从渲染进程的剪贴板 API 入手,一路穿透 preload 脚本、跨过 IPC 通道,直抵主进程,完整还原了富文本剪贴板格式的实现路径。
一条从"看得见"到"看得懂"的完整证据链。
案例三:还原 DX-Ball 的声道计算,3205 个用例全过
最惊艳的是这个:REA 沿着一次声音调用,定位到"坐标转声道"的辅助函数,把不完整的伪代码重建成 C 语言——
通过 3,205 个原始 x86 测试用例 逐字节复现全部 63 字节的编译后函数
这不是"差不多像",是数学意义上的完全一致。
上手有多简单?5 分钟
不需要安全专家背景,只要你有 Node.js 22+,一条命令:
npx rea-agents@latest setup安装器会自动把 REA 的 MCP 服务器和工作流指令注册到你的 Agent 里(改配置前会先给你确认并备份)。支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等主流 Agent。
然后,你只需要对 Agent 说一句人话:
搞清楚 Notes 这个 App 的搜索功能是怎么实现的,给我看证据,然后给我的项目做一个类似的功能。
就这么简单。过去需要一个逆向团队干一周的活,现在是一句 prompt 的事。
不想接 Agent?也可以直接在终端用:
npx -y rea-agents@latest analyze-javascript-application /path/to/app --json总结
我总觉得,REA 的意义被"逆向工程"这四个字低估了。
它真正做到的,是把"理解权"还给了每一个普通开发者。
过去,闭源软件对我们来说是一个黑盒——你只能用,不能懂。懂的权利,掌握在少数握着 IDA 许可证、读得懂汇编的人手里。
现在,一句自然语言,就能撬开黑盒的一角。
AI 时代最稀缺的能力,从来不是使用工具,而是提出好问题。 当"拆开来看看"的成本趋近于零,真正拉开差距的,是那个看着屏幕说"这个功能是怎么实现的"的好奇心。
保持好奇,保持敬畏。
项目地址:github.com/morluto/rea