REA:让 Agent 替你跑完逆向链路,不打开一个反汇编窗口

REA:让 Agent 替你跑完逆向链路,不打开一个反汇编窗口

【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 【免费下载链接】rea 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea

你手上只有二进制、没有源码,想看清楚一个功能到底怎么实现的,传统做法是打开 Hopper、Ghidra 或 IDA,在窗口里翻字符串、查交叉引用、读反编译——这一步没法交给 Agent 自动跑。REA 是本地运行的逆向分析编排层:它调度你已有的 Hopper、Ghidra、IDA 或 Kuna,把每条结论连同证据一起交还。适合想让编码 Agent 直接完成逆向调查、且要求结论可复核的开发者。

它替你跑完的那条链路

REA 是一个本地运行的逆向分析编排层:它把已有反汇编引擎和静态分析统一接给 Agent 和终端,替你跑完「定位→搜索→查引用→反编译→出证据」整条链路。

  1. 你告诉 Agent 一个目标 App 和想理解的功能。
  2. Agent 调用 REA 的 MCP 工具,定位目标、搜字符串、查交叉引用。
  3. REA 启动选定的引擎,拿到伪代码、指令和调用关系。
  4. 每条结论带上来源、引擎版本、局限说明,打包成 Evidence 返回。
  5. Agent 基于证据写实现、跑测试,再回查偏差。

REA 在 Hopper 中分析原生二进制的运行截图,展示 Agent 驱动的逆向链路

仓库里的 DX-Ball 案例把一段「声音位置→声像」算法还原成 C,跑过 3,205 个原始 x86 测试用例,复现全部 63 字节编译函数。

三条红线

  • 本身不含反汇编引擎,原生深度分析必须自备引擎
  • 只支持 Node.js 22.x / 24.x / 26+,23、25 和预发布版不支持
  • 不替你打开窗口,GUI 手工调试继续用 Hopper 或 IDA
  • 目标是闭源应用时,授权问题是你自己的事

适合要挂进 Agent 工作流、要留证据的人;不适合只想在窗口里点选看反编译的人。

拆开看:引擎调度 / 证据链固化 / 静态通道

引擎调度

同一个二进制,Hopper、Ghidra、IDA 都可能支持,用哪个由你定。

REA 通过 provider 机制接引擎,显式 --provider 优先;只有一个引擎可用时自动选它,多个都可用时返回 ambiguous 错误并列出 candidate_ids,要求你点名,不做静默回退。选定的 provider 会绑定整个会话直到显式切换或关闭,出错时原样返回引擎的原始原因。

你拿到的是确定性命令:rea analyze <path> --provider ghidra --json,会话级引擎绑定,报错直接是引擎原始错误。CLI 与 Evidence 指南

证据链固化

每条结论不只是一段反编译,而是带来源、目标摘要、已知局限的记录。

每次分析都产出 Evidence;快照缓存里,目标字节、操作、参数、provider、设置五项全部相同时,CLI 在启动引擎进程之前就直接读缓存,不重跑分析。evidence-import 固化一次语义分析,evidence-export 导出规范形态,rea compare 直接对比两份 Evidence 文件。

验证只认 fail / unknown / unsupported / truncated / skipped 永远不算 pass,缺失证据不会被当作通过。reconstruction-readiness

静态通道

目标根本不是二进制时照样能跑,这是三条里启动成本最低的一条。

JavaScript / Electron 的静态分析直接读解包目录或 ASAR 文件,不运行目标;.NET 程序集只读元数据与 CIL 指令,不加载、不执行。这条通道不需要任何原生分析引擎。

一条命令返回模块、导入、Electron 边界、IPC 通道和完整 Evidence:rea analyze-javascript-application /abs/path/to/app --json。JavaScript 应用工作流

和传统方式的差异

操作者:从"人在 GUI 窗口里手工点选"到"Agent 或终端脚本发起,人只在批准计划时介入"。

结论形态:从"截图或口头描述"到"带来源与局限的 Evidence 记录,可 rea compare 对比"。

目标范围:从"仅原生二进制"到"二进制、JS/Electron、.NET、APK、网站等 15 类目标"。

GUI 依赖:从"必须打开窗口"到"分析本地运行,窗口可有可无"。

授权边界:从"工具自己带引擎"到"引擎自备、授权自清",注意:你只是偶尔手工看一个函数时,两条路径差异不大。

从零到第一条结论

装 REA、注册 Agent,setup 会列出打算改哪些 Agent 配置、装哪个 MCP 注册,你批准后才执行。

npx rea-agents setup

不碰引擎的静态分析一条命令,直接拿 Evidence。

npx -y rea-agents@latest analyze-javascript-application /abs/path/to/app --json

原生目标先配 provider,然后对 Agent 提需求即可;环境异常先看 rea doctor。🩺

rea doctor

rea doctor --provider ghidra --json 可以只查单个引擎,只读审计主机依赖、Agent 注册与引擎状态,不做任何修改。

该不该用

选它的信号

→ 调查要挂进 Agent 工作流、要留证据 → 目标不止原生二进制,还涉及 JS/Electron/APK → 结论要能复述证据,rea compare 得能过

别硬套的场景

→ 只在窗口里手工点选看反编译 → 目标格式不在支持矩阵里 → 商用引擎授权自己没兜住

按你的调查形态选,别为了工具而工具。

【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 【免费下载链接】rea 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值