rea-agents 如何把 Hopper、Ghidra 变成 Agent 的工具完整看懂 REA 逆向分析引擎【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/reaREAnpm 包名 rea-agents是一个逆向分析用的 MCP 服务器兼 CLI让 AI Agent 直接分析本地二进制、APK 和 Electron 应用并产出带证据的结论。下文不按目录顺序走而是用 5 个关键位置和一条完整调用链带你看完这套逆向分析引擎的内部设计。为什么 Node.js 进程能指挥重量级引擎先说一个矛盾Hopper 是 GUI 程序Ghidra 是 Java 应用各自 API 互不相通Node.js 进程并没有官方通道去指挥它们。REA 的答案是不改造任何外部工具而是往目标引擎的进程里塞一小段脚本中间用本地认证 socket 对话。类比一下这就像给每家公司派驻一名驻场司机司机手里有当地的工作许可进程内权限总部只负责派活和收结果双方不需要互相理解内部制度。Node 侧每台引擎对应一个接口统一的 provider 目录例如 src/hopper/25 个文件处理引擎启动、socket 协议、请求队列和清理引擎侧跑的才是桥接脚本。socket 启动时注入随机 token消息走 HMAC 校验即使被嗅探也伪造不了指令。拆开看5 个关键位置模块它替你干了什么入口在哪分发器判断这次运行是长会话 MCP 服务还是一次性命令并校验编译产物存在scripts/rea.mjsMCP 工具层把每个工具请求翻译成内部分析调用封装带字节上限的结果src/server/56 个顶层文件每类工具一个 register*Tools.ts应用层会话路由、证据账本、快照缓存外加 Doctor 体检和 Setup 引导安装src/application/137 个条目Provider 层三种原生引擎各有一套客户端拉起进程、收发协议、管会话生命周期src/ghidra/、src/hopper/、src/ida/领域层纯函数做证据比较与摘要计算200 个文件是结果可审计的根基src/domain/配套 Schema 在 src/contracts/补充两个值得知道的事实CLI 命令用 incur 框架拼装src/cli.ts里 28 个 register* 命令模块全部注册到同一个实例上仓库里 tests/boundary/ 放了 382 个边界测试文件专门盯进程、socket、协议这类容易出事故的接缝。一条 analyze 命令的旅程逆向引擎如何接单以分析一个二进制为例球是这样传的scripts/rea.mjs → dist/cli.jssrc/cli.ts→ composition/directAnalysis.ts → Provider如 src/ghidra/→ 引擎进程内的桥接脚本 → 证据与 JSON 回到 stdout接球分发器看到参数不是mcp就走一次性 CLI 路径先确认dist/cli.js等编译产物在位翻译createDirectAnalysis为目标打开一个不可变的分析会话浏览器、固件等辅助能力走独立路由互不干扰执行Ghidra 路线由GhidraClient拉起 Java 进程把打包成 HeadlessScript 的桥接脚本注入其中完成反编译Hopper 路线则走 Unix socket 对进程内 Python回程原始输出在应用层归一化领域层算出证据 ID 与局限性说明CLI 把 JSON 流式写到 stdoutMCP 模式把同一份数据装进 toolResult 从 stdio 返回换句话说终端手敲和 Agent 自动调用走的是同一套 composition行为天然一致这也是它敢把双通道当卖点的原因。外部引擎是怎么被收编的Hopper引导代码注入REA_SOCKET和随机REA_TOKEN再通过 Hopper 的--python入口执行 bridge/hopper_bridge.py。脚本全程钉死在 Hopper 专用线程上注释明说挪到 worker 线程会让 Hopper 死锁所有 API 调用先过一层薄 facade 再触达真实全局对象Ghidra桥接打包为 HeadlessScript负责清单、反编译、交叉引用和控制流图四件套Node 侧另有 Java 启动、响应路由与超时截止时间管理大二进制可以用环境变量调高启动期限IDA姿态最松不塞自家桥接直接适配上游 ida-pro-mcp 的契约既能挂到运行中的 GUI也能管一个 headless 数据库共同纪律任何被拉起的进程都经过 src/process/ 这个基础层——进程组、私有工作目录、deadline 和清理全在这里兜底Binwalk、Unblob、JADX 等外部工具则以 git submodule 收在 third_party/版本和许可一次管住Agent 侧的工作流指令来自技能包源文件在 .agents/skills/reverse-engineer-anything/SKILL.md构建时生成进 skills/ 随 npm 包发布这就是setup写进你 Agent 配置的那份作业指南。三步跑通它装完 rea-agents 该敲的第一条命令⚡npx rea-agents setup—— 选择你的编码 Agent把 MCP 注册和逆向工作流指令写进配置原有配置会自动备份✅npx -y rea-agentslatest analyze-javascript-application /绝对路径/应用 --json—— 零引擎依赖输出模块图、导入关系、Electron 边界及对应证据npx rea-agents doctor --json—— 报告 Hopper、Ghidra、IDA 的可用状态与各客户端注册是否对齐坏在哪一步一目了然值得偷师的设计判断分发层与运行时解耦一个 mjs 决定长会话还是一次性命令两条通道共用 composition换引擎只动 Provider 一层证据是数据而不是文案每个结论带证据 ID 和局限性领域层全是纯函数两次运行可以直接 diff桥接优于重写外部工具零改造token 认证加私有 socket耦合点既可控又可撤一句话收束这套仓库想说的是给 Agent 做逆向靠的不是更长的提示词而是一套本地、可审计、随时能断开的工具链。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考