夜雨聆风学习资料网

ARTICLE · 1162272

没有源码,也能把功能拆给你:REA 如何让 AI Agent 逆向分析任意软件

没有源码,也能把功能拆给你:REA 如何让 AI Agent 逆向分析任意软件
   公众号 | Tears的AI日常 | 2026年10月12日 | 深度解读 
深度解读

没有源码,也能把功能拆给你:REA 如何让 AI Agent 逆向分析任意软件

一个 11 天冲到 48k 星的开源 MCP 项目,让 AI Agent 不需要源码就能逆向分析任意软件,从二进制到 Electron 到 Android APK,还能把功能复刻给你的项目。

GitHub 上有个项目叫 REA,全称 Reverse Engineer Anything,翻译过来就是"逆向分析一切"。4月创建,前几个月不温不火,10月7日发了 4.1.0 版本后突然爆发——单日新增 star 一度冲到 GitHub Trending 全榜第一。到今天为止总星数超过 48,000,fork 3,000 多, Contributors 31 人。

这个增长曲线比今年2月的 OpenClaw 还陡。

这个项目的定位一句话能说清:给 AI 编程助手装上逆向工程的能力。你把它当成一个 MCP 服务器,装完之后跟 Claude Code、Cursor 或者 Codex 说一句"帮我看看这个 APP 的登录模块是怎么做的",它就能在没有源码的情况下,把二进制文件扒开、反编译、追踪调用关系,最后告诉你这个功能到底怎么实现的,甚至顺手帮你写一个自己的版本。

01 为什么这件事值得认真看

逆向工程不是新东西。Ghidra 是 NSA 开发的,81,000 多颗星,Apache 2.0 开源,专业逆向工程师用了好多年。IDA Pro 是行业标杆,收费不低。Hopper 是 macOS 上的商业化反编译工具。这些工具的问题不是功能不够,而是门槛太高——你需要懂汇编、懂调用约定、懂链接器行为,还得手动在几千个函数里找到你关心的那个。

它做的事情不是重新造一个反编译器。自己不反编译任何东西。它是一个 MCP 桥梁,把 AI Agent 和这些已有工具连起来。Agent 负责理解你的意图、调度分析流程、解释结果;Ghidra/Hopper/IDA 负责底层反编译;REA 负责在中间做协议转换、证据收集和流程编排。

这个分工很关键。模型提供推理能力,专业工具提供原始数据,MCP 提供连接通道。三件事各司其职,没有谁替代谁。

△REA 核心数据:48,510 颗星,134 个 MCP 工具,11 天爆发

02 134个工具,12个家族

项目 README 里有一张工具目录表,把所有能力分成 12 个家族,加起来 134 个工具。最大的家族是原生二进制检查,41 个工具,驱动 Ghidra、Hopper 或 IDA 做反汇编、伪代码提取、字符串搜索、符号解析、函数调用追踪。第二大是工作区和观察类,21 个工具,管的是文件加载、快照管理、分析上下文。

剩下的按规模排:调查工作流 14 个、应用工作流 13 个、浏览器观察 12 个、托管 PE/CLI 7 个、macOS 原生工具 7 个、工件图 5 个、Android APK 5 个、Electron 分析 5 个、固件 2 个、JavaScript 运行时 2 个。

从支持的目标类型看,覆盖面确实广:

目标类型
底层工具
是否需要额外安装
---------
---------
--------------
原生二进制(Mach-O/ELF/PE)
Ghidra/Hopper/IDA
需要(Ghidra 免费,IDA 收费)
Electron 应用
内置
不需要
JavaScript
内置
不需要
.NET 程序集
内置
不需要
Android APK
JADX + Java
需要
固件镜像
Binwalk/Unblob
需要
网站
Chrome 浏览器
需要
EVM 字节码
EVMole
不需要

如果你只分析 JavaScript 和 Electron 应用,连反编译工具都不用装,Node.js 22.19 以上就能跑。

△REA 从创建到 GitHub Trending #1 的增长时间线

03 三个案例:从 1996 年的游戏到 2026 年的 Notion

官方展示了三个案例,每个都把完整调查过程和代码放在 GitHub 上,可以自己拉下来跑。

第一个是 DX-Ball,1996 年的 Windows 打砖块游戏。目标是从编译后的可执行文件还原出可维护的 C 源码。开发者追踪了游戏里的一个声音定位函数。当砖块被击中时,它的水平坐标如何转换成左右声道的声像值。这个过程涉及三个 REA 查询:先用 analyze_function 拿到 0x406400 处函数的伪代码和汇编指令,发现反编译器只输出了一个 __ftol() 调用,输入参数丢失;再看指令列表,发现 [EBP+8] 通过 FILD 加载了一个整数;接着追到调用者 0x411f40,它把 tile_x 乘以 30 再加 20,算出砖块的屏幕坐标;最后用 read_bytes 从两个内存地址读出三个常量:1.5625、500.0 和 1.0(初始声像缩放)。

还原出来的 C 函数长这样:把屏幕坐标转成 double,乘以 1.5625,减 500.0,乘以声像缩放系数,截断为整数。在缩放为 1 时,左边缘返回 -500,中心返回 0,右边缘返回 500。

验证方式很硬核。用 VC4.0 工具链编译还原后的 C 代码,和原始 x86 二进制做字节级对比——63 个字节完全一致。行为层面跑了 3,205 个测试用例,覆盖 0 到 640 每个整数位置在 5 个缩放系数下的返回值,全部通过。整个 DX-Ball 项目目前已维护 55 个 C 函数,做了 45,380 次与原始代码的对比。

第二个案例是 Notion 桌面版 7.6.1 的剪贴板处理。Notion 是 Electron 应用,静态分析揪出了它的打包代码,追踪了一条完整的调用链:页面调用 clipboard.write → preload 脚本暴露的 API → ipcRenderer.invoke 发送到 IPC 通道 notion:clipboard:write → 主进程的 ipcMain.handle 接收 → 校验发送者来源 → Electron 的 clipboard.write 写入系统剪贴板。

两个发现值得一提。Notion 的主进程会检查请求来源,只有 Notion 自己的 web contents 才能到达剪贴板写入,这是 Electron 应用该有的安全模式。另外 Notion 的 HTML 剪贴板数据里嵌了一个自定义 MIME 类型 text/_notion-blocks-v3-production,粘贴时通过 ID 匹配恢复块数据。如果保存的数据过期了,就退回到纯文本和 HTML。

第三个案例是 TH04,PC-98 上的东方风神录,16 位 DOS 代码。Ghidra provider 支持 16 位 DOS 分析,开发者恢复了一个弹幕环的角度计算逻辑,用 C++ 重建后和历史编译器输出做了对比。

三个案例有一个共同点:每个都只问一个很小的、可回答的问题——一个声像函数、一条剪贴板调用链、一个弹幕角度计算。没有一个说"重建整个应用"。

△REA MCP 架构:Agent 提供推理,专业工具提供数据,MCP 提供连接

04 安装和使用

安装过程比较标准。前提条件是 Node.js 22.19 以上和 npm。跑一行命令:

npx rea-agents setup

Setup 向导会问你用哪个 Agent,列出 Claude Code、Cursor、Codex、Gemini CLI、Grok Build 等选项。选完之后它会显示要改的配置,你确认,它备份原有配置、写入新的工作流指令,然后提示你重启 Agent。

其他支持本地 MCP 服务器的客户端可以手动注册。npm 包版本目前 pin 在 rea-agents@5.0.0 以上。

装完之后,使用方式就是跟你的 Agent 说自然语言。比如:"帮我分析这个 APK 的网络请求是怎么做的",Agent 会调用 REA 的 MCP 工具,REA 调度 JADX 反编译 APK、提取 Retrofit 调用、OkHttp 客户端配置、硬编码 URL 和 HTTP 调用流程,最后把结果连同证据返回给 Agent,Agent 解释给你听。

同时也提供了终端命令,通过 rea CLI 直接调用,不经过 Agent,适合写脚本做批量分析。

△目标类型与工具依赖:哪些开箱即用,哪些需要额外安装

05 Process Capture 不是沙箱

安全方面有一个必须说清楚的点。项目有一个 Process Capture 功能,可以启动目标程序并观察它的运行时行为——函数调用、Objective-C 方法调用、网络请求等。README 里明确写了一句话:"Process Capture records behavior and is not a security sandbox."

翻译过来:你让 Agent 观察一个未知可执行文件时,Agent 会用你的权限在你的机器上启动它。如果那个文件是恶意的,它跑起来就是你亲自放它跑的。

静态分析(JavaScript 和 .NET)不存在这个问题,只是读文件不运行。但 Process Capture 是动态的。研究可疑软件时必须区分这两种模式。

免责声明也很直接:工具用于"合法的逆向工程研究、分析和重建",使用者自行负责取得授权和遵守法律,项目"不支持非法或未授权使用"。MIT 许可证,没有发过任何加密货币代币——用 REA 名义发的代币都和项目无关。

10月8日,项目发布了 v6.0,距离 4.1.0 只隔了一天。v6.0 新增了:通过 pwntools 做离线 ELF 布局检查、通过 pwntools 和 pwndbg 检查记录的崩溃信息、通过 Ghidra 在 Windows 上做原生 x86 PE 分析、通过 EVMole 检查 EVM 字节码、通过 LLDB 观察 Objective-C 方法调用、Apple bundle 中 Mach-O dylib 的解析。还有一个 breaking change:MCP 文件系统输入现在要求绝对路径。v6.0 之后 24 小时内又发了 v6.1 到 v6.3 三个版本,更新速度很猛。

△DX-Ball 案例研究:从二进制到 C 代码的声像函数还原

06 这东西到底改变了什么

逆向工程的门槛一直是"人"的门槛。Ghidra 免费开源,功能强大,但你要会用——得懂 x86 汇编、懂函数调用约定、懂如何在几千个函数里定位你关心的那个、懂怎么读伪代码和汇编的差异。这些知识过去只在安全研究员和专业逆向工程师手里。

REA 把这个门槛降低了一个数量级。不是消除——你仍然需要理解 Agent 返回的结果,判断哪些线索有价值、哪些是噪音。但从"我需要学三个月才能开始"变成"我跟 Agent 说一句话就能开始",这个落差是实在的。

对国民级 App 来说,真正的核心壁垒不在客户端。支付的风控模型在服务器上,微信的社交关系链在服务器上,抖音的推荐算法在服务器上。REA 能扒的是安装包:客户端逻辑、本地存储策略、接口调用方式、交互细节。这些东西扒出来不能复制出第二个微信,但对于做竞品分析、安全审计、遗留系统维护的开发者来说,省掉的是大量手工反汇编的时间。

但它也是双刃剑。Agent 能 24 小时连轴转,把成千上万个函数过一遍,把"可疑点"列出来。大厂的 App 有代码混淆、加壳、反调试、完整性校验和风控 SDK 做防护,但 Agent 的耐力比人强。客户端层面的漏洞——某个校验只在客户端做了、某个本地存储没加密、某个接口默认信任了客户端参数——这些恰恰是 Agent 擅长筛查的方向。

07 往哪走

issue tracker 里有几个值得关注的线索。#740 是一个有 20 条评论的 roadmap 提案,讨论模块化集成外部工具的方式,后面排着 Frida、pwntools、pwndbg、WABT 和 EVM 字节码分析。#746 报告了在分析一个 24 MB 的 Obsidian Electron 包时几分钟无输出然后失败。#919 说 REA 的工具 schema 超出了某个模型的 function-calling 限制——递归引用和超过 10 层的嵌套。

这些 issue 暴露了两个问题:一是大规模 Electron 应用分析的稳定性还不够;二是工具 schema 的复杂度对模型的 function-calling 能力有要求,不是所有模型都能跑。

但整体方向是清楚的。它代表的不只是"逆向工程 AI 化"这一个项目,而是一种模式:专业工具的调用权从人手里转移到 Agent 手里。反编译器、网络抓包工具、调试器、固件提取工具——这些工具的接口如果都通过 MCP 暴露给 Agent,"跟 AI 说一句话就能做安全分析"就不只是一句营销话。

GitHub 仓库地址:github.com/morluto/rea。MIT 许可证。如果你做客户端开发、安全审计或遗留系统维护,值得装上找个二进制试一下。

 专业工具的调用权,从人手里转移到 Agent 手里

反编译器、网络抓包工具、调试器、固件提取工具,这些工具的接口如果都通过 MCP 暴露给 Agent,"跟 AI 说一句话就能做安全分析"就不只是一句营销话。

GitHub 仓库地址:github.com/morluto/rea。MIT 许可证。如果你做客户端开发、安全审计或遗留系统维护,值得装上找个二进制试一下。关注公众号,获取更多深度技术内容。

△REA:让 AI Agent 逆向分析任意软件

参考资料:详细来源见下方参考来源列表

关注公众号,获取更多深度技术内容

参考来源

参考:REA GitHub 仓库(morluto/rea)     链接   

参考:Cybersecurity News - REA Tool Connects AI Agents to Reverse Engineering Tools     链接   

参考:The Terminal Space - REA reverse engineering MCP: 134 agent tools     链接   

参考:ExplainX - REA Case Studies: DX-Ball, Notion, TH04     链接   

参考:REA 官方案例展示(DX-Ball)     链接   

参考:GitNova - morluto/rea 星数增长分析     链接   

相关学习资料