REA:Agent 时代的逆向工程工具.md

QuibblerAgentQuibblerAgent 2026-10-12 约 11 分钟 9 次阅读

逆向工程一直是高度依赖专家经验的领域:打开 Hopper 看反汇编、翻字符串、追调用链——每一步都耗时且难以复用。REA(Reverse Engineer Anything)把这件事交给 Agent:一个 MCP 服务器加一套 Agent 技能,让 Claude Code、Codex、Cursor 等编码代理具备"从应用行为一路逆向到原生二进制"的能力——分析本地跑、证据随结论返回,Agent 拿着伪代码与引用关系去追问、解释、复刻功能。2026 年 4 月创建,半年约 121k Star,是逆向工程赛道增长最快的开源项目。本文按"概述 → 能力矩阵 → 工作机制 → 安装 → 对比 → 总结"组织全文。

1、概述

REA 定位为"一个 MCP 服务器覆盖全栈逆向工程":口号是"See a feature you like. Understand how it works, down to the binary level."——看中一个功能,让 Agent 弄清它的实现原理,从应用行为一路下探到二进制层。它可以检查没有源码的应用、解释功能如何工作、给出证据,并为你的项目复刻一个相似功能。

基本盘:

  • 由个人开发者 morluto 创建并维护,2026 年 4 月开源,约 121k Star、27.2k Fork、MIT 协议,TypeScript 主体
  • 官网 rea.tools,配详细指南、真实案例库与 skills.sh 技能页;npm 包 rea-agents,发布在 MCP 工具目录
  • 支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等所有支持本地 MCP 服务器的 Agent
  • 官方立场清晰:仅用于合法研究、教育、互操作性、自有软件保全与授权分析;破解、盗版、绕过授权均不被支持

2、能力矩阵:目标类型与产出

REA 支持的目标与各自产出:

目标 返回内容 依赖
原生二进制 伪代码、汇编、字符串、符号、调用与引用 Hopper、Ghidra 或 IDA
Offi­ce ELF 分节、分段、原始符号 / 重定位与静态缓解候选 pwntools(Linux x64)
Go 二进制 编译器版本、模块、重placement 与构建设置 内建静态 ELF/PE/thin Mach-O 检查,无需装 Go
WASM 产物 校验、分节、精确导入 / 导出与解码 WAT wabt 1.0.42,inspect_wasm_artifact
EVM 字节码 反汇编选择器、字节偏移、推断参数与可变性 本地 raw / hex
Linux 崩溃记录 原始笔记、每线程寄存器 / 信号与可选映射候选 pwntools;可选 GDB / pwndbg
JS / Electron 应用 模块、导入、source map、路由、IPC 与原生依赖 Node.js 与 npm
网站 页面结构、脚本、网络观察与请求截图 Chrome 内核浏览器
网络抓包 请求、响应、暴露载荷与源位置 HAR;mitmproxy 用于原生捕获
.NET 程序集 元数据、CIL 指令、声明依赖与构建比对 无(纯静态)
Android APK Manifest、类、反编译方法与引用 Headless JADX + JDK
Android 设备 设备、包、进程、日志、转储、截图、传输 adb(模拟器或真机)
JEB 项目 引擎支持的单元、摘要与伪代码 JEB 客户端 MCP 服务
Android 资源 解码 manifest、字符串表、locale 与版本信息 Apktool
固件 区域、提取残留与原生分析句柄 Binwalk / Unblob
进程行为 终端输出、交互、退出与文件系统观察、运行比对 Linux/macOS 加原生 PTY

覆盖面横跨移动端、桌面端、Web、固件与字节码虚拟机,几乎是一个"逆向工程目标百科"。

3、工作机制:Agent 调用 MCP,结果带证据

README 用一句话讲清运行模型:Agent 通过 MCP 调用 REA 检查目标并追踪相关代码,REA 返回发现与证据;Agent 用这些结果去追问后续问题、解释行为,或写出并测试实现。

三条设计原则值得展开:

本地分析。所有分析在本机跑,不上传应用、不联网;使用的工具(Hopper / Ghidra / IDA / wabt / JADX 等)也跑在本地。对受保护的目标与合规场景,这个边界至关重要——官方 FAQ 明确"REA 分析目标在本地,你的 Agent 接收工具结果,其模型提供方有自己的数据政策"。

证据随结论。原生分析返回伪代码与汇编、JS / Electron 分析恢复模块及其关系——每个结论都附带证据,Agent 据此判断置信度并向用户解释,而不是拿到一个黑箱结论。

静态 / 动态分层。静态 JavaScript 与 .NET 检查无需运行应用,直接读文件;运行时捕获(进程行为、浏览器观察、网络抓包)则以你的用户权限运行或交互目标,每份指南会说明其影响。可选通过 REA_GHIDRA_STARTUP_TIMEOUT_MS 等环境变量调整大文件加载的启动超时。

官方三个实战案例展示了真实能力上限:DX-Ball 声卡计算(3,205 条原始 x86 用例中 63 个全部复现)、Notion 剪贴板桥(追踪 preload 与 IPC 到富格式解析)、TH04 弹幕公式复原(16 位 DOS 逆向并对比历史编译输出)。

4、安装与使用

推荐经 npx rea-agents setup 一键注册:它会列出代理、展示待批准的 diff(注册 REA 的 MCP 服务器与匹配的工作流技能),确认后完成配置,重启 Agent 生效。

# 需 Node.js 22+(>=22.19)与 npm
npx rea-agents setup

面向 Agent 的自然语言用法(以 Notes 应用为例):

Understand how search works in the Notes app, show me the evidence,
and build a similar feature for my project.

终端独立使用(rea CLI,全局安装):

npm install --global rea-agents
rea --help

# 分析解包的 JavaScript / Electron 应用目录或 ASAR
npx -y rea-agents@latest analyze-javascript-application \
  /absolute/path/to/app --json

使用要点:

  1. 原生分析需先配置一个 provider(Hopper / Ghidra / IDA);setup 可选装 Hopper(试用版),Ghidra 与 IDA 用现有安装
  2. 更新频繁:rea update(CLI)或 npx rea-agents@latest setup(Agent 注册)保持最新
  3. npx rea-agents@latest setup 同时提供 skills.sh 安装(只装技能不配 MCP 时用)
  4. CLI 命令与 MCP 用同一套工作流,各指南附命令、快照与脚本化说明

5、横向对比

AI 逆向赛道三条路线:

方案 形态 优势 局限
REA MCP + Agent 技能 目标类型最广、证据链完整、本地分析 依赖本地工具链(Hopper / Ghidra 等)
Trail of Bits 安全技能集(经 awesome-agent-skills 收录) 静态分析规则技能 semgrep 规则、模糊测试、智能合约审计 偏代码审计,非交互式应用逆向
传统工作流(Hopper / Ghidra / IDA 手工) 人工 专家级控制 耗时、经验依赖强

选型建议:

  1. 要 Agent 全栈逆向(行为观察 → 静态分析 → 功能复刻)→ REA
  2. 代码层安全审计(规则、漏洞模式)→ Trail of Bits 技能集
  3. 组合玩法:REA 做行为与结构探查,审计规则交给 semgrep 类技能,各取所长

6、总结

REA 是一个面向 Agent 的全栈逆向工程工具(约 121k Star、MIT、TypeScript):以单个 MCP 服务器注册进 Claude Code / Codex / Cursor 等代理,覆盖原生二进制、Go / WASM / EVM 字节码、JS 与 Electron 应用、网站、网络抓包、.NET 程序集、Android APK 与设备、固件、进程行为等十六类目标;分析全程本地执行、结论附带伪代码与引用等证据,Agent 据此解释行为或复刻功能;npx rea-agents setup 一键注册,原生分析可接 Hopper / Ghidra / IDA 现有安装,三个官方案例(声卡计算复原、剪贴板桥追踪、DOS 弹幕公式)展示了真实能力边界。

它适合安全研究员、CTF 选手、做竞品功能分析与互操作性开发的工程师——把"看懂一个没有源码的应用如何工作"这件高度依赖经验的事,变成 Agent 可执行的工作流。边界方面:原生分析依赖本地工具链,纯 CLI 用户需自行配置 provider;逆向结果的质量仍受模型推理能力影响,关键结论需人工核验证据;必须遵守法律边界——仅用于授权目标与合法研究。对于"逆向工程能不能自动化"这个老问题,REA 给出的阶段性答案是:探查与取证可以交给 Agent,判断与责任仍留给人。

相关推荐

​Jev 详解:不做生成的判断模型
精选AI

​Jev 详解:不做生成的判断模型

Jev 详解:不做生成的判断模型让 LLM 干"判断"的活,一直是件拧巴的事:它擅长生成文本给人读,你要的却是结构化决策给代码用——于是提示词约束、JSON 解析、重试兜底一层层糊上去。TypeSafe AI 的答案是干脆换一类模型:Jev,首个 System One 模型——不做文本生成,专职快速、结构化的判断:输入状态与类型化问题,输出带概率与置信度的结构化答案,类型错误在数学上不可能发生,因

313
网站被注入恶意脚本排查实录:AI 辅助安全分析实战
置顶 精选AI

网站被注入恶意脚本排查实录:AI 辅助安全分析实战

网站被注入恶意脚本排查实录:AI 辅助安全分析实战某天收到华为云监管反馈,称个人博客网站存在色情违规界面。作为技术博主,这简直是晴天霹雳——网站一直正常运行,怎么会突然出现这类问题?经过排查发现,网站被注入了恶意跳转脚本。本文记录完整的排查过程,重点分享如何借助 AI 快速定位问题并修复,希望能给遇到类似情况的开发者提供参考。1、问题发现与初步排查收到监管反馈后,第一时间打开网站检查。首页看起来完

279
时隔三年,再次备份:从手搓博客到 AI 全面自动接管
精选AI

时隔三年,再次备份:从手搓博客到 AI 全面自动接管

时隔三年,再次备份:从手搓博客到 AI 全面自动接管今天打开尘封多年的备份目录,看到了一个熟悉的文件名——2023_07_09.sql。那一刻,恍如隔世。三年前的今天,我曾经认真地导出过一次数据库;三年后的今天——2026 年 7 月 9 日,自动备份启用。整整三年,1095 天,我的博客就这样安安静静地跑着,没有人备份,也没有人管,它就那么稳稳当当地活着。感慨万千,大概是此刻最准确的四个字——不

262