REA(Reverse Engineer Anything)

reverse_engineer_anything2026-10-13 23:23:46

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。

本页目录