不会逆向也能让 AI 帮忙分析?REA 开源工具,把逆向能力接入 AI Agent
原创
morluto
morluto
只会看监控的实习生
2026年10月14日 17:00
广东
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
逆向分析也能接入 AI?这个开源工具 REA,让 AI 帮你拆解程序内部逻辑
做逆向的朋友应该都清楚,分析一个没有源码的程序,往往不是打开反编译工具就能搞定的。
先找字符串和关键函数,再追踪调用关系、分析汇编和伪代码,最后才能慢慢理清程序的执行逻辑。遇到大型应用,光是定位功能入口就可能花费不少时间。
最近发现一个开源项目 REA(Reverse Engineer Anything),它尝试把 AI 编程助手和逆向分析工具连接起来,让 AI 根据实际分析证据理解程序的运行逻辑,而不只是凭经验猜测。
一、REA 到底能做什么?
简单来说,REA 是一个面向 AI Agent 的逆向分析工具集,通过 MCP 将分析能力提供给编程助手,也支持在终端中直接使用。
它可以帮助分析人员研究没有源码的应用,查找关键函数、追踪调用关系、查看反编译结果,再根据这些证据解释某个功能是如何实现的。
比如,你想研究一款软件的搜索功能,可以让 AI 调查搜索入口、相关字符串、调用链和底层实现,再根据分析结果尝试在自己的项目中实现类似功能。
整个过程不需要你一开始就知道目标程序的内部结构,AI 可以根据工具返回的结果继续追踪线索。
需要注意的是,REA 提供的是逆向分析能力和证据,具体分析过程仍然需要结合目标程序及分析工具的实际表现。
二、支持哪些分析场景?
1. 原生二进制逆向
这是 REA 比较核心的应用场景之一。
项目可以配合 Hopper、Ghidra 或 IDA 等分析工具,检查原生程序中的函数、字符串、符号、汇编指令、交叉引用和调用关系,并获取反编译伪代码。
这些能力可以用于:
- 定位程序中的关键函数
- 分析函数之间的调用关系
- 查找字符串及其引用位置
- 阅读汇编和反编译伪代码
- 梳理某个功能的执行流程
- 辅助分析程序中的关键逻辑
以前需要手动在反汇编工具中不断切换窗口、查找引用和追踪函数,现在可以让 AI 协助整理线索,再由分析人员核对具体代码和证据。
需要说明的是,反编译得到的是伪代码,并不是开发者最初编写的完整源码。
2. JavaScript 与 Electron 应用分析
除了传统二进制,REA 还支持对 JavaScript 和 Electron 应用进行静态分析。
对于相关应用目录或 ASAR 包,可以分析模块、导入关系、路由、IPC 通信、存储结构、Source Map 和原生扩展等信息。
这对研究桌面客户端尤其有用。
例如,想弄清楚一个 Electron 应用的前后端如何通信,可以从模块依赖和 IPC 通道入手,再沿着相关代码继续追踪。
项目支持在不运行目标应用的情况下开展这类静态分析,有助于减少直接执行未知程序带来的风险。不过,静态分析无法自动还原所有动态行为,部分调用关系仍然可能无法确定。
3. .NET 与其他应用分析
项目还覆盖 .NET 程序、应用资源和部分软件包格式。
根据目标类型和当前环境,可以检查程序集、资源文件、应用目录及相关结构,辅助理解程序的组成方式。
需要注意,不同目标所需的工具和运行环境并不相同。原生二进制分析通常需要配置对应的反编译工具,而 JavaScript 静态分析不一定需要这些工具。
三、它是怎么和 AI 配合的?
REA 的核心思路,是让 AI 不再只根据用户描述推测程序的实现方式,而是能够调用分析工具,逐步收集证据。
大致可以分成三个阶段:
第一步:分析目标。
打开目标程序或分析对应的文件,获取函数、字符串、模块和其他基础信息。
第二步:追踪逻辑。
围绕目标功能查找关键线索,再分析调用关系、交叉引用和反编译结果,逐渐缩小范围。
第三步:理解并实现。
AI 根据收集到的证据解释功能逻辑。如果用户需要实现类似功能,还可以继续编写代码,并根据项目情况进行测试。
REA 负责提供分析能力,最终的代码编写和测试仍由 AI 编程助手及其正常开发工具完成。
整个流程比较适合用来研究第三方软件的功能实现、分析历史版本差异,或者学习程序内部的运行机制。
四、支持哪些 AI 编程助手?
REA 通过 MCP 提供工具接口,可以接入支持本地 MCP 服务的 AI 编程助手。
项目文档列出的集成方式涵盖 Claude Code、Codex、Cursor、Gemini CLI、Windsurf 等工具,其他兼容 MCP 的客户端也可以按照文档进行手动配置。
它还提供了终端命令,因此不一定非要通过聊天界面操作。
五、如何安装?
安装前需要准备 Node.js 和 npm。当前项目文档要求 Node.js 22.x(至少 22.19)、24.x(至少 24.11)或 26 及以上的受支持版本。
方式一:运行引导安装
npx rea-agents setup
根据提示选择要接入的 AI 编程助手,检查安装计划并确认配置。完成后重启对应的客户端。
方式二:安装命令行工具
npm install --global rea-agents
安装后可以使用:
rea --help
检查命令行支持的功能。
如果需要分析原生二进制,还要根据目标和系统环境配置 Hopper、Ghidra 或 IDA 等分析工具;具体支持情况以项目文档为准。
安装和使用说明:
https://github.com/morluto/rea
六、适合哪些人研究?
如果你平时做恶意代码分析、软件逆向、漏洞研究或客户端安全测试,可以重点关注它如何把函数分析、交叉引用和调用链追踪交给 AI 协助完成。
如果你是安全开发人员,也可以研究它的 MCP 接口设计、工具调用流程,以及 AI 如何根据分析证据逐步理解程序。
对于正在学习逆向的朋友,它也可以作为辅助工具,帮助整理分析思路。但不建议完全依赖 AI 给出的结论,关键函数、调用关系和反编译结果仍然需要自己核对。
最后
REA 比较有意思的地方,是把 AI 编程助手和传统逆向工具结合起来,让分析过程可以围绕实际证据持续推进。
它不能凭空恢复完整源码,也不能保证自动分析出所有程序逻辑,但对于需要反复查找函数、追踪调用关系和理解复杂程序的场景,确实提供了一种新的工作方式。
感兴趣的朋友可以去 GitHub 查看源码、安装说明和具体示例。
项目地址:https://github.com/morluto/rea
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论