夜雨聆风学习资料网

ARTICLE · 1194587

最近爆火的 REA:丢一个软件进去,它告诉你怎么做的

最近爆火的 REA:丢一个软件进去,它告诉你怎么做的
最近爆火的 REA:丢一个软件进去,它告诉你怎么做的

最近 GitHub 上有个项目传得挺凶,叫 REA。

四月才建的仓库,前半年基本没人搭理。10 月 8 号发了个 6.0 版本,之后就收不住了,九天涨了二十万星。到现在二十八万多,七万多个 fork。这个速度在 GitHub 历史上都不多见。

它火的原因也不复杂,因为它干的事有点犯规。

你丢一个软件给它,它告诉你这个软件是怎么做出来的。不是"大概是用了某某框架"那种糊弄人的话,是把人家的实现逻辑一层层拆开,函数、调用链、关键判断全给你找出来,还附上证据。仓库名字也直白,Reverse Engineer Anything,逆向一切。

做产品的人看到这,心里多少会有点不舒服。你花半年打磨的一个交互细节、一套加密方案、一个自认为别人抄不走的算法,别人拿着这东西,一个下午可能就把原理摸明白了。

它到底是个什么东西

仓库在 github.com/morluto/rea,MIT 协议,不要钱。npm 上的包叫 rea-agents,现在是 6.5.0。

有一点得先讲清楚:REA 自己不会反编译。它干的事是当个接线员,把 Ghidra、IDA Pro、Hopper 这些专业逆向工具,通过 MCP 协议接到你的 AI 编程助手上。

装完之后,你不用再对着反编译器吐出来的伪代码发呆。你对 Claude Code 或者 Cursor 说一句人话就行。

它会自己翻机器码、追函数调用、定位核心逻辑,然后把结论连着出处一起还给你。哪几条结论没把握,它也会老实写"未能确定",不会瞎编。

它能拆哪些东西

我翻了一遍它的文档,能处理的东西比我想的多:

原生二进制,x86、ARM、MIPS、PowerPC 都行。

Electron 和 JS 应用,这个最实用,市面上的桌面 App 一大半是它。

.NET 程序集、安卓 APK、固件、抓包文件(HAR、SAZ、pcap)、SQLite 数据库、WASM。

6.0 之后还能离线拆以太坊合约的字节码。

还有网站。给它一个网址,它能从前端代码往下挖。

照着做,五步跑通

下面这套流程是我自己跑通的,你照着做就行。每一步我都标了"看到什么算成功",卡住了好排查。

第 1 步:先看你的环境够不够

要 Node.js,22.19 以上,或者 24.11 以上,或者 26 以上。命令行敲这行看一眼:

node -v

另外看你打算拆什么。只想拆 JS、Electron、.NET 这类,什么都不用装。要拆原生二进制,得另外装 Ghidra(免费,NSA 放出来的)、Hopper 或者 IDA Pro 中的任意一个。第一次弄的话我建议先拿个 Electron 应用练手,省掉这一步。

第 2 步:一条命令装完

npx rea-agents setup

它会自动扫你电脑上装了哪些 AI 编程工具(Claude Code、Codex、Cursor、Gemini CLI、VS Code 这些都支持),把 MCP 配置写进去。改配置之前会先备份,也会问你同不同意,不会偷偷改你东西。

屏幕上出现哪个工具被连上了,就说明这一步成了。

装完一定要把你那个 AI 工具整个关掉重启一次。不重启不生效,我第一次就是卡在这,以为没装上,白折腾了十来分钟。

第 3 步:直接用嘴问

重开你的 AI 工具,直接说一句人话。这段可以直接复制,把 App 名字换成你要看的那个:

用 REA 分析 /absolute/path/to/app,告诉我它的搜索功能是怎么实现的,每一步都要给出证据,最后帮我写一个类似的实现。

然后等着就行。它会自己调工具、翻代码、来回验证,最后给你一份带出处的分析报告。第一次跑可能要几分钟,别以为它卡死了。

第 4 步:不想开 AI 工具,命令行也能跑

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

加 --json 是让它把结果输出成结构化数据,方便你自己再处理。

想长期用,装成全局命令更省事:

npm install --global rea-agents rea --help

以后升级敲 rea update。这项目迭代快得离谱,隔几天就一版修复,建议隔一阵就更一下。

第 5 步:拿到结果之后能干嘛

光看报告没意思,真正有用的三个用法:

看竞品是怎么做的。别人某个交互做得顺手,你不用猜,直接让它把实现路径挖出来。

救自己公司的老项目。没人维护、文档全丢、原作者早跑了那种,让它把调用关系先梳理一遍,比人肉读代码快太多。

查自己写的程序有没有留后门。这个听起来别扭,但确实是最合规也最实用的用法。

三个一定会踩的坑

路径必须写绝对路径。6.0 之后改的规矩,写相对路径直接报错。Windows 上要写成 "D:/apps/example" 这种。

AI 工具里看不到 REA。九成是没重启。剩下的一成是 MCP 配置写进去了但被别的配置覆盖,让它把配置文件打开看看。

跑一半卡住不动了。工具描述特别吃上下文窗口,程序一复杂就爆。别一上来扔整个大项目,先给单个文件或单个模块,一块一块来。

先别激动,它有三个硬伤

一是只会静态分析,不会动态调试。网上有人拿真实 Electron 应用实测过:459 个文件、24MB,52 秒扫完,30 个函数位置全对。但同一份测试里,它报了 18 个 IPC 通道,实际只有 17 个;8 处窗口创建和 2 个 preload 入口,它一处都没找到。

二是碰到强壳就歇菜。无壳、轻度加壳的程序它看得挺明白,遇上 VMP 这类高强度虚拟化加壳基本没戏。

三是服务端的业务逻辑它完全看不到。你逆一个客户端,后端在服务器里跑的那部分它一无所知。现在稍微像样点的产品,核心逻辑都在服务端。

争议也得摆出来

《Practical Reverse Engineering》的合著者 Elias Bachaalany 转发这个项目的时候,只给了一个词:炒作。

这话有他的道理。把 AI 接上逆向工具不是 REA 首创,2025 年 GhidraMCP、IDA Pro MCP 就有人做了,Hex-Rays 官方也出过 MCP 服务。

REA 真正的变化不在技术,在于谁能用。以前这是安全研究员的专属活,现在是个开发者就能上手。门槛一降,事情的性质就变了。

法律这条线,别踩

REA 自己的免责声明写得挺明确:只用于合法研究、教育、互操作性、软件保存,以及你有权检查的软件。

几个现实情况:

欧盟法律认定,为了实现互操作做的反编译,合同里写"禁止逆向"也没用。

按美国法律,某些场景下用户协议里的禁止逆向条款是有效的。

IDA Pro、Hopper 这类商业工具你得自己合法买,REA 不给你任何授权,也不提供激活。

我的建议挺朴素:拿它看你自己写的、公司授权的、或者明确允许研究的东西就行。想看别人付费软件的内部实现再照着做一版,风险不在技术上,在法院里。

最后

我不觉得软件行业要完。REA 没发明什么新东西,它只是把一件很专业的事,变成了几句对话。

但对做产品的人来说,有个事实得接受:靠"别人看不懂我是怎么做的"建立起来的优势,正在快速失效。

那靠什么?靠你比别人跑得快,靠你对用户的理解比别人深。这些东西,是拆不出来的。

工具我放上面了,五步流程照着做一遍,大概二十分钟能跑通。跑完你会对"软件没有秘密"这句话有更具体的感受。

相关学习资料