首页/ 资讯/ REA 开源的逆向分析工具,无需源码、对话式分析软件

REA 开源的逆向分析工具,无需源码、对话式分析软件

灵犀编辑部 2026-10-13 2 阅读

REA是什么

REA(Reverse Engineer Anything)是开源的逆向分析工具,通过 MCP 协议把 Claude Code、Codex、Cursor 等 AI 编程 Agent 与 Ghidra、Hopper、IDA 等逆向工具连接起来。REA让 Agent 无需源码可分析软件,从原生二进制、Electron/JS 应用、APK、.NET 程序集到网站,追踪功能实现逻辑并生成带证据链的分析结果,重建相似功能。

REA

REA的主要功能

  • 原生二进制分析 :解析 Mach-O、ELF、PE 等可执行文件,返回伪代码、汇编、字符串、符号和调用关系。
  • JavaScript/Electron 应用分析 :静态梳理模块、入口、IPC 通道和 source map,无需运行应用。
  • 网站观察 :通过本地 Chrome DevTools 端点被动观察浏览器行为、页面脚本和网络请求。
  • .NET 程序集检查 :无需执行程序即可查看元数据、CIL 指令和原生代码边界。
  • Android 应用逆向 :借助 JADX 反编译 APK,查看清单声明、类和方法。
  • 固件与包文件分析 :用 Binwalk 提取固件区域,或直接生成 ZIP/APK/ASAR 等归档的文件清单。
  • 版本差异对比 :比较应用两个版本的二进制差异,生成变更报告。
  • 网络抓包分析 :解析 HAR 文件或 mitmproxy 捕获,关联请求与源码位置。
  • 代码重建辅助 :Agent 基于分析结果追踪功能实现线索,为项目编写相似功能并验证。
挖挖GitHub

如何使用REA

  • 环境准备 :安装 Node.js(≥22.19 版本)和 npm,确保已安装 Claude Code、Codex、Cursor 等任一支持的 AI 编程 Agent。
  • 一键安装 :在终端运行 npx rea-agents@latest setup ,选择要接入的 Agent 并审核配置变更。
  • 审批配置 :确认 setup 提出的 MCP server 注册和 workflow 指令修改(会自动备份原配置),然后重启你的 Agent。
  • 准备逆向引擎 (可选):深度分析原生二进制需已有 Hopper、Ghidra 或 IDA 安装,纯 JS/Electron 分析不需要。
  • 用自然语言提问 :向 Agent 描述目标,例如分析 Notes 应用的搜索功能如何工作,展示证据,并为我的项目实现类似功能。
  • Agent 自动调查 :Agent 通过 MCP 调用 REA 在本地分析目标,获取带证据链的伪代码、调用链等结果。

REA的核心优势

  • 零逆向经验门槛 :无需学习反汇编和逆向技术,用自然语言向 AI Agent 提问可分析软件。
  • 打通主流 Agent 生态 :同时支持 Claude Code、Codex、Cursor、Gemini CLI、Windsurf 等几乎所有主流 AI 编程助手。
  • 复用成熟逆向工具 :底层调度 Ghidra、Hopper、IDA 等专业工具,站在几十年逆向工程积累之上。
  • 覆盖目标极广 :从原生二进制、Electron/JS 应用、APK、.NET 到网站、固件、WASM,几乎无死角。
  • 证据链驱动 :每个结论附带伪代码、汇编、调用关系等证据,结果可验证。
  • 本地分析保障隐私 :全部分析在本地运行,目标软件不会被上传到云端。
  • 端到端自动化 :从分析、追踪调用链到生成可运行的相似实现,一条 Agent 工作流串到底。

REA的项目地址

  • 项目官网 :https://rea.tools/
  • GitHub仓库 :https://github.com/morluto/rea

REA可以分析什么

目标类型 | REA 返回内容 | 要求和指南

>
目标类型 REA 返回内容 要求和指南
原生二进制 伪代码、汇编、字符串、符号、调用和引用 Hopper、Ghidra 或 IDA;原生分析指南
离线 ELF 布局 节区、段、原始符号/重定位和静态缓解候选 Linux x64 上自备 pwntools;二进制诊断指南
Go 二进制 内嵌编译器版本、模块、替换和构建设置 内置静态 ELF/PE/thin Mach-O 检查;无需安装 Go
WASM 文件 校验、节区、精确的导入/导出 WAT 形式和解码后的 WAT 自备 WABT 1.0.42;`inspect_wasm_artifact`
EVM 字节码 调度选择器、字节偏移、推断的参数和可变性 Linux x64 本地原始/十六进制载体;离线 EVM 指南
Linux 崩溃记录 原始备注、每个记录线程的寄存器/信号和可选映射候选 Linux x64 自备 pwntools;可选 GDB/pwndbg;崩溃记录指南
JavaScript / Electron 模块、导入、source map、路由、IPC 和原生插件关系 Node.js 和 npm;应用分析指南
网站 页面结构、脚本、网络观察和请求的截图 Chrome 系浏览器;浏览器分析指南
保存的网络抓包 请求、响应、暴露的负载和源码位置 HAR;Linux 上原生 mitmproxy 捕获用 mitmdump;抓包指南
.NET 程序集 元数据、CIL 指令、声明的原生依赖和构建对比 无(纯静态);托管代码指南
Android APK 清单声明、类、反编译方法和引用 Linux/macOS/Windows x64 上的无头 JADX 和完整 JDK;Android 指南
Android 设备 设备、包、进程、日志、转储、屏幕截图和 APK/文件传输 自备 adb(模拟器或真机);ADB 指南
JEB 工程 引擎支持的分析单元、工件摘要和类型/方法伪代码 由调用方启动的 JEB 客户端提供 MCP 服务,通过 `REA_JEB_MCP_URL` 选择;JEB 指南
Android 资源 解码后的清单、字符串表、语言区域和版本信息 自备 Apktool 启动器;资源指南
固件 区域、提取结果和原生分析交接 Linux 上的 Binwalk / Unblob;固件指南
安装包和资源 文件清单、摘要、plist、Apple bundle 结构和提取的资源 工件与 JavaScript 指南、Apple 应用指南
进程行为 终端输出、交互、退出和文件系统观察,以及多次运行对比 Linux/macOS 且需原生 PTY;进程捕获指南

REA的同类竞品对比

对比维度 | REA | GhidraMCP

>
对比维度 REA GhidraMCP
定位 通用逆向调度层,面向”调查软件并重建功能” Ghidra 专用 MCP 桥,面向”深度分析二进制”
底层引擎 多引擎调度:Ghidra / Hopper / IDA / JADX / JEB 等 仅绑定 Ghidra(插件 + Python/Go 桥接)
分析目标范围 原生二进制、Electron/JS、APK、.NET、网站、固件、WASM、EVM、网络抓包等 15+ 类 仅限 Ghidra 支持的原生二进制
Agent 接入 一键 setup 注册 Claude Code、Codex、Cursor、Gemini CLI、Windsurf 等 理论支持任何 MCP 客户端,但需手动配置 bridge 脚本
安装体验 `npx rea-agents setup` 一条命令,自动装 MCP server + workflow 指令 需装 Ghidra 插件、跑 bridge 脚本、手改客户端配置文件,链条较长
工作流深度 端到端:分析→追踪调用链→生成相似实现→验证 侧重分析环节:反编译、重命名符号、列导入导出、标注代码
证据链 每个结论附带伪代码、汇编、调用关系等证据和局限性说明 返回反编译结果与符号信息,证据结构化程度较低
协议/许可 MIT Apache-2.0

REA的应用场景

  • 竞品功能复现 :看中某个 App 的离线搜索、同步机制等功能,让 Agent 拆解其调用链,在自己的项目中实现相似版本。
  • 无源码老软件抢救 :对失去源码的老软件、老游戏或老库,用 Agent 读取伪代码和汇编,还原算法并迁移到现代技术栈。
  • Electron/桌面应用审计 :静态梳理闭源桌面应用的模块、路由、IPC 通信和 preload 脚本,评估安全性或理解其行为。
  • 遗留系统迁移评估 :对比软件两个版本的二进制差异生成变更报告,或分析 .NET/原生组件的依赖边界,辅助系统改造决策。

REA的常见问题

Q1:哪些 Agent 可以使用 REA?

A1: 任何支持本地 MCP server 的 Agent 都可以。Setup 命令会自动配置受支持的 Agent,其他客户端可通过手动注册 MCP 使用。

Q2:我需要安装 Hopper、Ghidra 或 IDA 吗?

A2: 深度原生二进制分析需要三者之一。静态 JavaScript 和 .NET 检查不需要任何原生分析引擎。Setup 可在获得批准后自动安装 Hopper;Ghidra 和 IDA 则使用你已有的安装。

Q3:我需要先启动 Hopper 吗?

A3: 不需要,REA 会在需要时自动启动 Hopper。但在 macOS 上,首次运行可能弹出对话框要求选择演示模式或激活许可证,需在同一个用户会话中完成该提示,再进行首次 CLI/MCP 操作或无人值守任务。

Q4:从 skills.sh 安装 skill 有什么作用?

A4: 该 skill 为你的 Agent 提供调查指令。建议通过 npx rea-agents setup 同时注册 REA 的 MCP server 并安装配套指令,然后重启 Agent。

Q5:REA 返回的是什么代码?

A5:原生分析返回伪代码和汇编;JavaScript/Electron 分析恢复模块及其依赖关系。你的 Agent 基于这些发现来编写和测试实现。

Q6:REA 会上传我的应用吗?

A6: 不会。REA 在本地分析目标,只有你的 Agent 会收到工具结果;模型提供商的数据政策由各提供商自行决定。

Q7:遇到 bug 怎么办?

A7: 先更新,最近的版本可能已经修复了该问题。CLI 用户运行 rea update;npx 用户重新运行 npx rea-agents@latest setup 并重启。如果问题依旧,提交 issue 并附上版本、目标类型、复现步骤和错误输出。

相关工具
与本文相关的 AI 工具
AI 智能推荐 ×
输入关键词,AI 从 1000+ 工具中精准匹配推荐