REA(Reverse Engineer Anything)是一套面向 AI Agent 的软件逆向分析工具集,通过 MCP 服务和命令行接口提供应用检查与证据收集能力。官方源码仓库为 morluto/rea,npm 包名为 rea-agents。
用户提供目标应用和具体问题,Agent 调用 REA 查找实现线索、追踪代码关系,再据此解释行为或编写并测试新的实现。原生分析依赖外部反编译引擎;JavaScript 等目标有相应的静态分析工作流。
分析对象
| 对象 | 可获得的信息 | 主要条件 |
|---|---|---|
| JavaScript / Electron 应用 | 模块、导入关系、入口、IPC 和源码位置 | 应用目录或 ASAR 文件;Node.js 与 npm |
| 原生程序与库 | 汇编、伪代码、字符串、符号、调用与引用 | 配置兼容的 Hopper、Ghidra 或 IDA |
| 网站 | 页面、脚本及观察窗口内的网络活动 | 可连接的 Chrome 类浏览器调试端点 |
| .NET 程序集 | 元数据与 CIL 指令 | 静态检查不需要原生分析引擎 |
| Android APK | Manifest、类和反编译方法 | 对应工作流需要 JADX 与完整 JDK |
不同目标和提供方的主机支持、依赖与功能范围不同,详见官方能力说明。仓库主分支的能力不一定全部包含在已发布 npm 包中。
接入 Agent
依据 2026-10-13 核对的入门文档,运行环境要求 Node.js 22.x(22.19 起)、24.x(24.11 起)或 26 及以上,并安装 npm。
npx rea-agents@latest setup
向导让用户选择客户端,预览配置变更,再注册 MCP 并安装匹配的调查工作流 Skill。完成后按提示重启客户端。只安装 Skill 会获得操作指导,不会自动建立 MCP 连接或安装原生分析引擎,详见安装说明。
适合的请求应包含目标路径、具体功能和期望证据,例如:
使用 REA 分析指定的 app.asar,追踪导出文件功能的入口、IPC 通道和主进程处理函数。给出代码位置,并区分静态推断与实际运行观察。
直接使用命令行
无需全局安装即可分析 JavaScript/Electron 应用:
npx -y rea-agents@latest analyze-javascript-application \
"/absolute/path/to/app.asar" --json > app-evidence.json
目标也可以是解包后的应用目录。完整结果可能很大,宜先保存 Evidence,再提取摘要或关注的模块。CLI 与 Evidence 文档介绍结果视图与后续处理方式。
需要长期使用时,可安装命令:
npm install --global rea-agents
rea --help
功能研究示例
Electron 官方教程以 CSV 导出为例,沿“页面 API → preload → IPC → 主进程 → 文件写入”定位实现。静态匹配能连接明确的通道与处理函数,动态生成的名称或歧义关系可能需要进一步分析。
Notion 剪贴板案例展示了从页面接口追踪到 Electron 剪贴板写入的过程。这是项目方提供的分析案例,不能据此推断任意应用均可完整恢复。
浏览器教程则通过先开启观察、再执行点击,将网络请求与前端脚本联系起来;开始观察前已经发生的请求不属于该次捕获。
能力边界
- 原生分析输出汇编与伪代码;理解功能后编写的新实现仍需要验证。
- 静态发现的路径与真实执行记录是不同证据,不能相互替代。
- REA 在本地分析目标,但工具结果会传给 Agent,其模型服务仍有各自的数据政策,见官方 FAQ。
- 原生分析引擎有各自的平台、版本和授权条件;REA 本身的安装不包含所有工具的使用授权。
- 持久 MCP 配置会固定具体包版本。升级包或 Skill 后,仍需按安装文档刷新配置并重启连接;以实际服务暴露的工具为准。
功能与命令依据官方资料核对于 2026-10-13。