3 条命令接入本地逆向引擎:REA 让 AI Agent 替你做二进制分析
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
REA(npm 包rea-agents,v6.8.0)是面向 AI Agent 的本地逆向工具链:一条命令把 Agent 接上本机的 Hopper、Ghidra、IDA 等引擎,用自然语言完成二进制、JS 应用与 APK 的逆向分析,适合不想啃逆向 GUI 的工程师。
场景:看懂竞品 App 的内部实现,但不想啃逆向 GUI
你注意到竞品 App 里有个功能想复刻,可惜源码不在手上。传统路径是装引擎、加载目标、手动翻函数,工具学习成本往往高于分析本身。REA 的做法相反:你用自然语言描述目标,Agent 自己调用本机的逆向引擎,把反编译结果、证据和局限一并带回来。全程分析在本机完成,终端里直接运行目标命令同样可行。
能力一览:支持哪些目标
下表是常用通道,更完整的清单见 docs/README 目标表。
| 目标类型 | 分析通道 | 是否需要引擎/工具链 | 备注 |
|---|---|---|---|
| 原生二进制 | 本机 Hopper / Ghidra / IDA / Kuna | 需要,四选一 | 伪代码、交叉引用、控制流由引擎产出 |
| JS / Electron 应用 | 内置静态解析 | 不需要 | 输出模块图、导入关系与 Electron 边界 |
| .NET 程序集 | 内置元数据 + CIL 解析 | 不需要 | 纯静态,不加载不执行 |
| Android APK | 自带 headless JADX | 需 JADX 与 JDK | Manifest、类与反编译方法 |
| Go / Rust 二进制 | 内置 ELF/PE 静态检查 | 不需要 | Go 读内嵌构建元数据;Rust 读 cargo-auditable 依赖 |
| Linux 固件 | Binwalk / Unblob | 需要(Linux) | 分区划分与区域解包 |
| 网页与浏览器行为 | 挂接 Chrome 系浏览器 | 需要浏览器 | 捕获页面脚本与网络请求 |
| 进程行为 | 本地 PTY 受控运行 | 不需要 | 记录终端交互与退出码,可对比两次运行 |
快速上手:从注册到第一条分析命令
1. 注册 Agent 与 MCP 服务器。交互式选择客户端,写入配置前会先预览变更并请求你批准:
npx -y rea-agents@latest setup完成后按提示重启 Agent,之后即可直接用自然语言提问。
2. 跑一条免引擎的静态分析验证安装。指向任意 JS 目录或 Electron 应用:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json输出包含模块、导入、Electron 边界及各自的证据,无需安装任何逆向引擎。
3. 环境自检。按实际任务范围检查引擎与注册状态是否就绪:
npx -y rea-agents@latest doctor --json完整的命令清单、参数与输出契约见 CLI 与证据指南,引擎配置细节见 安装与设置文档。
幕后速览:你的命令如何变成反编译结果
你的命令 → 入口路由 → 工作流编排 → 引擎适配 → 进程内桥接 → 结果回传| 环节 | 职责 |
|---|---|
| 命令入口 | 只做分发:MCP 与终端两条通道汇合后,走完全相同的工作流 |
| 工作流编排 | 会话路由、证据账本、快照缓存,Doctor 与 Setup 也在这里 |
| 引擎适配 | Hopper、Ghidra、IDA 等各有一个 Provider,负责会话生命周期与结果归一 |
| 进程内桥接 | 脚本被送进引擎进程内执行,经带认证的本地私有套接字回传数据,不改动外部工具 |
| 结果回传 | 反编译结果先过契约层校验,再连同证据封装返回 |
怎么提问、怎么读结果
你可以这样对 Agent 说:
理解 Notes App 的搜索功能是怎么实现的,展示证据。对比这两份固件版本,告诉我分区结构变了什么。用受控 PTY 各跑一遍 v1 和 v2,记录终端输出差异。每条结果固定带三块内容:证据(结论来自哪段字节、符号或引用)、局限(哪些部分引擎未能确认)、未覆盖项(明确不知道的内容)。这个设计针对 Agent 的常见毛病——把推测当事实转述给你。强制携带证据后,你可以直接核验结论来源,而不是接受一段无法追溯的"分析"。
适用边界
适合:
- 静态检查:竞品 JS/Electron 层逻辑、Go/Rust 构建元数据,不运行目标、无需装引擎
- 引擎在手的二进制反编译与交叉引用追踪,用自然语言驱动
- 用 PTY 对比两次运行的终端输出差异
不适合 / 目前的缺口:
- 不替你安装或升级 Hopper、Ghidra、JADX 等第三方工具链,需自备或走 setup 的可选安装
- 运行时捕获以本机用户权限执行目标,深度手工调试仍建议配合原有引擎
收尾
REA 的价值在于把"引擎操作"这层重复劳动交给 Agent,把"结论必须有据"变成硬约束。
- 安装与设置
- CLI 与证据指南
- MCP 工具契约
有问题可先到 roadmap 看新目标类型的接入进度 🧭
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考