ARTICLE · 1166740
不给源码,AI也能拆软件?这个爆火的REA是什么
JEALOUSY AI · 开源工具介绍
不给源码,AI也能拆软件?这个爆火的REA是什么
只有一个装好的软件,没有它的源码,AI还能研究它的功能是怎么做的吗?
最近火起来的开源项目 REA,做的就是这件事:让 AI 编程助手检查程序本身,追踪具体功能,再解释它的工作方式,或据此重新实现。
截至 10 月 12 日晚,它的官方 GitHub 页面已超过 13 万 Star。名字也很直接:Reverse Engineer Anything,意为“逆向一切”。
但比“逆向一切”这个名字更值得看的,是它具体能帮 AI 查出什么。

REA官方GitHub仓库
01-REA官方仓库-v2.png
图 1:REA 官方仓库原页,截图于 10 月 12 日;星标数量会继续变化。
●●●
◆它给AI配了一套“拆软件”的工具
先把“逆向”讲简单一点。
写软件,是从代码做出一个程序;逆向分析,是拿着已经做好的程序,反过来研究它如何工作。
比如,一个导出按钮究竟调用了什么?一个计算规则藏在哪里?复制粘贴为什么能保留原来的内容结构?
REA 用 MCP 把这些分析工具接给编程助手。你可以把 MCP 理解为助手调用外部工具的连接方式。REA 负责提供分析材料,AI 负责串起线索、解释结果,再编写和验证实现。
它覆盖的对象包括:
•可执行文件和程序库:借助 Hopper、Ghidra 或 IDA,查看函数、反编译伪代码、字符串和调用关系。
•JavaScript、Electron 应用:研究打包后的模块、依赖、路由,以及不同部分之间怎样通信。
•网页:检查页面结构、脚本和网络请求,观察相关功能的运行行为。
此外,还有 Android APK、.NET 程序集、固件等分析流程,但不同对象需要不同的配套工具。
例如,官方的 .NET 分析工具可以比较两个构建版本中的成员,查找方法与结构层面的变化线索。
●●●
◆不只是研究文件,也能看软件运行时发生了什么
REA 有两种很容易理解的用法。
一种是直接研究文件:把应用目录、安装包或程序库交给它,看功能分布在哪些代码里。JavaScript 和 .NET 的静态检查可以读取文件,而不运行应用。
另一种是观察一次实际操作:你在网页上点一个按钮,REA 记录相关请求,助手再去找对应脚本,解释这一步怎样完成。这里可以结合computer use来使用
官方就提供了一个 Notes 网页示例:点击“导出”后,页面读取笔记数据,再由脚本整理成 CSV 并下载。REA 把按钮操作、请求和导出代码连起来,让助手能回答“这个文件到底是怎么生成的”。
●●●
◆具体案例
最容易理解的,是 Windows 计算器的百分比按钮。
为什么 200 + 10% 得到的是 220,而 200 × 10% 得到的是 20?
项目方通过检查已安装计算器的程序库,追踪百分比处理函数,并对照微软公开源码核对规则:加法场景取第一个数的百分比,乘法场景则先把 10% 转成 0.1。
官网还按这套规则做了可交互的小计算器。这个案例展示的是:从程序里的具体逻辑,走到能解释、能重新实现的功能。

官方计算器案例
02-官方计算器案例-v2.png
图 2:REA 官网的计算器案例与交互示例;为项目方演示。
第二个例子是 Notion 的复制粘贴。
官方案例分析了 Notion 桌面应用的打包代码,追踪文本和 HTML 怎样从页面进入系统剪贴板;还解释了复制内容中的标记,如何关联本地保存的内容块数据,让粘贴时可以找回结构。
看起来只是一次复制,背后其实有一条可以追下去的代码链路。

官方Notion复制粘贴案例
03-官方Notion案例-v2.png
图 3:REA 官方 Notion 案例原页,展示页面到系统剪贴板的调用链。
安卓应用也有案例:身份验证器里的六位验证码,为什么每 30 秒换一次?
项目方拿 Aegis 的正式发布 APK 做静态分析,从 3,077 个类中找到验证码生成逻辑,再追踪到显示和复制操作。
它查出的规则是:应用把时间切成每段 30 秒的时间块,再结合账户密钥生成数字。同样的密钥和时间块,会得到同样的验证码。
官网据此做了可调时钟的演示:时间从 59 秒跨到 60 秒,验证码随之变化。项目方还记录了 133 个对照测试用例。
这里很直观地展示了完整链条:从安装包定位功能,读懂规则,再做一个可以验证的实现。

官方安卓验证码案例
04-官方安卓验证码案例.png
图 4:REA 官方 Aegis 案例,分析的是验证码计算规则;演示使用公开测试密钥。
还有一个更硬核的例子:1996 年的打砖块游戏 DX-Ball。
项目方从可执行文件中研究“砖块位置怎样影响声音的左右声像”,再还原成 C 函数。案例记录了 3,205 组与原始指令执行结果的对照,以及该函数全部 63 字节的编译匹配。
如果你熟悉 CTF,也可以看官网的逆向解题案例:助手分析一个比赛用的小程序,把输入检查规则整理成方程,求出答案,再交回原程序验证,得到 Correct!。这展示的是比赛环境中的完整分析与验证过程。
●●●
◆最近的更新,已经把能力往安卓设备上扩了
10 月 11 日发布的 REA 6.4.0,不只继续分析软件文件,也新增了通过 ADB 检查安卓设备、获取分包 APK、查看日志和截取屏幕等能力。
ADB 可以简单理解为电脑与安卓设备或模拟器通信的工具。这意味着分析对象不再只有一个离线安装包,还可以包括已经连接的设备及其应用状态。当然,需要先准备好 ADB 和相应设备连接。
这一版还新增了 Qwen Code、Pi、Hermes 的安装配置支持。它是一套可以接进不同编程助手的工具。
●●●
◆想用它,从一个具体功能开始
REA 可以接入 Claude Code、Cursor、Gemini CLI、OpenCode 等支持本地 MCP 的助手。准备好符合版本要求的 Node.js 和 npm 后,安装入口是:
npx rea-agents@latest setup
只装一个 Skill,还不等于助手已经能调用 REA。官方 FAQ 专门解释了这一点:Skill 提供调查方法,setup 则负责连接 MCP 工具并安装匹配的说明。两者配好,助手才能实际调用分析能力。
接下来,把自己拥有或获准研究的应用路径交给助手,再给一个清楚的问题。比如:
请用 REA 分析我提供的应用,找到它导出数据的实现。解释入口、关键步骤和相关代码位置,再说明这套逻辑怎样用于我的项目。
这是一个可改写的起步提问,不需要一上来就要求“克隆整个软件”。
如果不想接编程助手,也能通过 REA 的命令行直接调用分析工具;只不过“读懂结果、串起线索”这部分,需要你自己处理,或再交给模型。
JavaScript、.NET 的静态检查不需要原生反编译引擎;深入分析原生程序则要配好 Ghidra、Hopper 或 IDA。Windows 的原生 Ghidra 路径目前仍标为实验性支持
REA 开源,不等于模型调用和商业分析工具也免费;反编译结果也不等于原作者的完整源码。
我觉得 REA 最值得关注的,是这个很具体的用法:看上一项功能,不只让 AI 模仿外观,也可以让它拿着工具,去研究这个功能究竟怎么工作。
入口已经放在下面,想了解的可以先翻翻官网案例。
资料与入口:
•REA 官网(中文)https://rea.tools/zh-CN/
●●●
AI 资讯、工具实测与真实踩坑帮你看懂变化,也把 AI 真正用起来
希望对你有帮助