ARTICLE · 1161883
REA 火了:AI 能看懂别人软件的功能,技术门槛会消失吗?
GitHub爆火的rea究竟是什么?为何star数涨的如此之快?
想弄明白别人软件里的一个功能,光看界面,我只能猜它大概怎么实现。看到 GitHub 上的 REA,我关心的是另一件事:能不能让 AI 顺着程序里的线索,帮我查出原来的做法?
REA 的全名叫 Reverse Engineer Anything。你给 AI Agent 一个调查问题,它借助分析工具去找文件、调用关系和运行线索,再用找到的材料解释结果。

图:REA 官方项目介绍页截图。
项目介绍列出的对象有桌面应用、网页、JavaScript/Electron 和 .NET 程序,也包括原生二进制文件。
1.查代码,和猜代码有多大区别
把一张软件截图发给 AI,问它某个功能怎么做,通常会得到一套看起来合理的方案。但原软件未必用的就是这套方案。
REA 让 Agent 调用分析工具,从可观察到的线索往下查。回答时,最好能指出找到了什么代码、为什么这样判断,还有哪些地方没查实。这样人才能回头核对。REA 对工作流程的说明



图:REA 官方调查流程示意,展示 Agent 如何提问、追踪和查看证据;不是本文实测画面。
对开发者来说,代码位置和调用关系能拿来继续分析;对只想知道功能怎么来的读者,这至少让 AI 的解释有个可查的出处。
前提是目标里确实有可分析的材料,相关工具也能在你的环境里运行。REA 接通了 Agent 和分析工具,服务器上没有暴露的代码,它也看不到。
2.Notion 的复制功能,官方查到了哪里
REA 官方展示的 Notion 案例选了一个很小的功能:在桌面版 Notion 里复制文字和带格式内容,系统剪贴板最后是谁写入的?
案例给出了一条调用链。Notion 页面调用预加载脚本暴露的 clipboard.write。
预加载脚本再用 ipcRenderer.invoke 把请求送到 Electron 主进程。
主进程检查发送者,然后调用 Electron 的剪贴板接口写入文本和 HTML。案例与证据位置
REA 帮 Agent 在打包代码里定位相关位置。沿着通道名往下找,页面、预加载脚本、主进程这几段就接上了,官方也标出了供人核对的代码位置。
“复制内容会用剪贴板”很好猜。我更在意的是,这个请求究竟怎样从页面到了主进程。只给一张界面截图,回答不了这一步。
案例也有范围:展示代码经过简化,变量名做了整理;部分结果来自保存的模块测试,并没有记录一次完整的桌面 UI 操作。案例说明
所以这是一条有证据的调用链,不能由此说整款 Notion 都被破解了。
另一个例子是老游戏 DX-Ball。重建项目借助 REA 访问 Ghidra 的伪代码、指令和引用。
他们把理解出的逻辑写成 C/C++,再和原始程序的测试结果比较。DX-Ball 重建项目



图:根据 REA 官方 DX-Ball 声像计算案例整理的流程示意;案例结果来自项目资料,非本文独立复现。
找出线索只是开头。逻辑要恢复,代码要编译,结果还得比对、修正。问 AI 一次,并不会拿到原程序的完整源码。
3.看懂功能容易,做出来却很难
以前调查一个陌生功能,可能很长时间都花在找入口、读打包代码、串调用上。REA 想让 Agent 先做一段这样的工作,把可疑位置连同证据交给人。
如果它在更多目标上都能这样工作,靠“别人看不懂实现”形成的那部分门槛,可能会低一些。我会把这看作理解功能的门槛变化,还不敢说技术之间已经没有门槛。
Notion 案例只追到剪贴板调用链。要做出同样好用的产品,还得处理稳定性、边界情况、数据、性能和维护成本;没暴露的服务端部分也拿不到。
REA 自己也有使用条件。官方写明需要 Node.js,深入分析原生程序还需要 Hopper、Ghidra 或 IDA 等引擎,具体得看目标。安装要求
项目强调合法研究、分析和重建。真要动手,还得自己确认授权和适用规则。项目声明
我现在的判断是:REA 可能替人省下最初找线索的时间;可靠地做出一个同样的功能,依然要靠工程和验证。至于到底省多少时间,我想等拿一个有权限分析的目标亲自跑过,再下结论。
如果让你挑一个软件功能追根究底,你会选哪个?留言告诉我。
资料来源:REA 官方仓库、Notion 案例、DX-Ball 重建项目。