
智猩猩AI整理
编辑: 没方
这两天一个名为 REA(Reverse Engineer Anything) 的开源项目火爆了。
今天它登顶了GitHub Trending 趋势榜第一,单日暴涨 25599 Stars,累计获得12万 Stars!


它能够让 AI Agent 帮助开发者研究各种软件,即使没有原始源代码,也可以尝试分析某个功能到底是怎么实现的。
比如,你看到别人 App 里有一个很好用的功能,也想在自己的产品里做一个类似版本。
过去普通开发者可能只能观察界面和交互,再自己摸索技术方案。如果想进一步研究软件内部实现,还需要掌握专业的逆向工程工具。
现在你可以直接告诉 Agent 想研究什么。Agent 会借助 REA 调用逆向工程工具,寻找相关代码和线索、分析运行逻辑,再根据分析结果,帮助你在自己的项目中实现类似功能。
X上的网友“爆裂队长NEXT”昨天发帖,他就用 Codex 配合 REA,逆向了某马桶小程序的蓝牙协议,半小时就做出一个遥控器塞进系统状态栏。电脑上一点,马桶盖真的翻起来了。

一个原本只能通过小程序控制的硬件功能,就这样被研究出来,又做成了自己的电脑端控制工具。
不过,这里需要强调一点,逆向工程本身存在复杂的法律边界。未经授权直接复制他人受版权保护的代码,甚至将这些内容公开传播,可能涉及侵权。
REA 官方也明确声明,工具仅用于合法的逆向研究、分析与重建,用户必须自行确保行为符合当地法律与软件许可协议。
01 没有源代码,也能让AI
研究软件
很多商业软件并不开源,开发者拿到的往往只有安装包或可执行文件。
想知道里面某个功能是怎么实现的,就需要从已经编译完成的程序反过来研究它的内部结构和运行逻辑,这就是逆向工程。
传统逆向工程通常需要使用 Hopper、Ghidra、IDA 等专业工具。它们可以查看程序里的函数、汇编指令、伪代码和调用关系,但真正理解这些内容,依然需要大量专业知识。
REA 想做的,就是把其中大量繁琐的调查工作交给 AI Agent。
它并没有重新发明一个反编译器,而是把现有的专业逆向分析能力整合起来,通过 MCP 接口提供给 AI Agent。
这样一来,开发者不必自己拿着逆向工具一点点寻找线索,而是可以直接用自然语言告诉 Agent:
“帮我看看这个 App 的这个功能是怎么实现的。”
Agent 再自己调用对应工具展开调查。
相当于以前是开发者亲自操作各种逆向工具,现在给 AI 编程助手直接配上了一整套研究现有软件的工具。

02 看上别人 App 的功能,让
Agent 研究怎么实现
REA 把整个过程概括成三个阶段:Decompile(反编译)→ Understand(理解)→ Recreate(重新实现)。
REA 官方 README 就给出了一个很直观的使用示例。
假设你正在开发一款笔记软件,发现 Notes App 的离线搜索功能很好用,也想在自己的产品中实现类似能力。
你可以直接告诉 Agent:
研究 Notes App 的离线搜索功能,解释它是怎么实现的,然后使用 Type 和 SQLite 给我的项目做一个类似版本。
接下来,Agent 会借助 REA 搜索程序中的函数、字符串、符号以及反编译结果,从中寻找可能与离线搜索有关的线索。
通过不断向下调查,Agent 可以尝试把一个原本隐藏在编译程序里的功能流程逐渐梳理出来。等搞清楚大致实现机制后,再进入最后一步:根据你的项目和技术栈,写一个自己的版本。
比如上面的案例中,就可以根据分析结果,使用 Type 和 SQLite 重新设计一套离线搜索功能。
整个过程中,REA 负责给 Agent 提供逆向分析能力,Agent 负责理解需求、寻找线索、分析证据以及最终编写代码。
03 从桌面App到网页,
都能研究
REA 能研究的也不只是传统的二进制程序。
对于原生桌面软件,它可以连接 Hopper、Ghidra 或 IDA 等工具,读取函数、汇编指令、伪代码、字符串以及交叉引用关系,帮助 Agent 追踪程序内部的执行逻辑。
对于 Java 和 Electron 应用,REA 可以分析模块、导入关系、路由、IPC 通信和原生扩展等信息。
这类能力尤其适合研究大量基于 Electron 开发的桌面 App。
比如一个功能从前端界面触发之后,到底调用了哪个模块,又通过哪个 IPC 通道进入主进程,Agent 都可以顺着这些线索继续调查。
除此之外,REA 还提供 .NET 程序、浏览器应用、Android APK,以及 IPA、ASAR、固件等软件包和资源的分析能力。
不过,不同类型的目标支持的分析深度并不相同。例如,APK 的深入分析需要借助 JADX,固件分析可能依赖 Binwalk、Unblob 等工具,部分功能还受到操作系统限制。
04 分析结果尽量给证据,
不让AI瞎猜
这类工具还有一个很现实的问题,AI 告诉你的实现原理,到底是真的分析出来的,还是它根据经验猜的?
因此,REA比较强调基于实际分析结果寻找证据。Agent 可以调用工具查看具体函数、字符串、伪代码、调用关系和交叉引用,再根据这些信息形成判断。
不过逆向工程本身存在不确定性。反编译出来的代码不等于原始源代码,程序还可能存在代码混淆、动态加载、间接调用等情况。
即使有 REA,最终结论仍然需要结合实际证据和测试进行验证。
05 本地运行,不用把整个App
上传给REA
REA 的分析工具主要运行在本地环境中,不需要把目标 App 上传到 REA 提供的云端分析服务。
对于需要研究公司内部软件、旧程序或者其他敏感代码的开发团队来说,这一点比较重要。
开发者可以在自己的电脑上安装 Hopper、Ghidra、IDA 等工具,再让 Agent 通过 REA 调用这些本地分析能力。
不过,本地分析并不等于整个 AI 工作流完全离线。
如果使用云端模型,Agent 的提示词、工具返回结果或者部分上下文仍可能经过对应的模型服务。
06
安装教程
安装 Node.js 和 npm 后,运行:
npx rea-agents setup
安装程序会引导用户选择需要接入的 AI Agent,例如 Codex、Claude Code 或 Cursor。
随后,REA 会展示准备修改的配置内容。用户确认后,程序会自动配置 MCP Server,并安装对应的 Agent Skill。
如果需要分析原生二进制程序,还可以根据提示连接 Hopper、Ghidra 等专业逆向工具。
配置完成后,重启对应的 AI 编程工具,就可以尝试使用 REA。例如:
弄清<***>应用的搜索功能如何工作,展示证据,并为我的项目实现类似功能。
需要注意,REA 并不能保证自动复现任意 App 的功能,实际效果取决于目标程序、分析工具和 Agent 的能力。













