REA:开源逆向分析工具,让 AI Agent 无需源码即可解析软件

导读摘要:
REA(Reverse Engineer Anything)是一款开源的通用逆向分析工具,通过 MCP(Model Context Protocol)协议将 Claude Code、Codex、Cursor 等 AI 编程 Agent 与 Ghidra、Hopper、IDA 等专业逆向工具连接起来,使 Agent 能够在无源码条件下对软件进行深度分析。REA 覆盖从原生二进制、Electron/J...
1. REA是什么
REA(Reverse Engineer Anything)是一款开源的通用逆向分析工具,通过 MCP(Model Context Protocol)协议将 Claude Code、Codex、Cursor 等 AI 编程 Agent 与 Ghidra、Hopper、IDA 等专业逆向工具连接起来,使 Agent 能够在无源码条件下对软件进行深度分析。REA 覆盖从原生二进制、Electron/JS 应用、APK、.NET 程序集到网站、固件、WASM 等 15 种以上目标类型,能够追踪功能实现逻辑并生成带证据链的分析结果,进而辅助开发者重建相似功能。

技术定位与领域: REA 属于软件逆向工程与 AI Agent 工具链的交叉领域,核心定位是充当“逆向调度层”,将 AI Agent 的自然语言理解能力与专业逆向引擎的底层分析能力进行桥接。它并非替代 Ghidra 或 IDA,而是以 MCP 协议为纽带,让 Agent 能够自动调度这些工具完成分析任务。
研发背景: REA 由开发者 morluto 发起并开源,采用 MIT 许可证。其研发动机源自逆向工程的高门槛矛盾——传统逆向需要深厚的汇编语言和反编译知识,而 AI Agent 虽然具备代码理解能力,却缺乏直接调用专业逆向工具的标准通道。REA 正是为解决这一鸿沟而生。
核心价值: REA 的核心价值在于将逆向分析从“专家操作”转变为“自然语言对话”。用户无需理解反汇编、调用约定或二进制格式,只需向 Agent 描述分析目标,REA 即自动完成工具调度、数据提取和证据整理。此外,全部分析在本地运行,保障了目标软件的安全性,避免敏感代码上传云端。
技术特点: REA 采用多引擎调度架构,底层兼容 Ghidra、Hopper、IDA、JADX、JEB 等主流逆向工具,通过统一接口输出伪代码、汇编、调用关系和字符串等结构化数据。同时,其证据链机制为每个分析结论附带可追溯的原始证据,显著提升了分析结果的可验证性。
2. 主要功能
原生二进制分析: 解析 Mach-O、ELF、PE 等可执行文件格式,返回伪代码、汇编指令、字符串常量、符号表和调用关系图。该功能支持深度反编译,可为 Agent 提供完整的函数逻辑还原,适用于恶意软件分析、闭源程序理解等场景。
JavaScript/Electron 应用分析: 静态梳理 JS 应用的模块结构、入口文件、IPC 通信通道和 source map,无需实际运行应用即可还原其内部架构。该功能对审计桌面端 Electron 应用尤为有效,能够揭示 preload 脚本与主进程之间的数据流动。
Android 应用逆向: 借助 JADX 反编译 APK 文件,提取清单声明、类结构、方法实现和资源引用。同时支持通过 ADB 连接 Android 设备,获取设备信息、进程列表、日志输出和屏幕截图,实现动态与静态结合的分析。
.NET 程序集检查: 无需执行程序即可查看 .NET 程序集的元数据、CIL(公共中间语言)指令和原生代码边界,帮助分析托管代码与原生代码的交互点,适用于 .NET 遗留系统的安全审计和依赖分析。
固件与包文件分析: 利用 Binwalk 或 Unblob 工具提取固件分区和文件系统镜像,或为 ZIP、APK、ASAR 等归档格式直接生成文件清单。该功能覆盖物联网设备固件分析和安装包结构审查场景。
版本差异对比: 比较同一应用两个版本之间的二进制差异,自动生成包含新增、删除、修改函数和资源的变更报告。该功能对于评估软件更新影响范围、追踪安全补丁有效性具有实用价值。
网络抓包分析: 解析 HAR 文件或 mitmproxy 捕获的数据,将网络请求与源码位置进行关联,揭示应用的网络通信模式和 API 调用逻辑,支持前端应用的数据流分析。
代码重建辅助: Agent 基于 REA 提供的分析结果,追踪目标功能的实现线索,自动编写功能等价的相似实现并进行验证。该功能将逆向分析直接转化为开发能力,缩短了从“理解”到“实现”的路径。
3. 如何使用
环境准备: 安装 Node.js(≥22.19 版本)和 npm 包管理器。同时需要已安装 Claude Code、Codex、Cursor、Gemini CLI 或 Windsurf 中任一受支持的 AI 编程 Agent。操作系统支持 Linux、macOS 和 Windows(部分功能如进程捕获仅限 Linux/macOS)。
一键安装: 在终端执行
npx rea-agents@latest setup命令,按提示选择要接入的 Agent。安装脚本会自动注册 MCP server,并为 Agent 配置 workflow 指令文件。该过程会先展示待修改的配置项供用户审核确认。审批配置并重启: 确认 setup 提出的 MCP server 注册信息和工作流指令修改(工具会自动备份原配置文件)。配置完成后,需重启对应的 AI 编程 Agent,使新增的 MCP 工具生效。
准备逆向引擎(可选): 如进行深度原生二进制分析(如 ELF、PE、Mach-O),需预先安装 Hopper、Ghidra 或 IDA 中至少一款工具。REA 会自动检测并调度已安装的引擎;纯 JS/Electron 或 .NET 分析则无需额外安装。若需分析 Android APK,需自行准备 JADX 和 JDK;固件分析需安装 Binwalk。
自然语言提问: 向已配置的 Agent 描述分析目标,例如“分析 Notes 应用的搜索功能如何工作,展示证据,并为我的项目实现类似功能”。Agent 会通过 MCP 协议调用 REA 在本地执行分析任务,返回带证据链的伪代码、调用链和功能逻辑说明。
结果验证与迭代: 对 REA 返回的分析结果进行人工审查,确认证据链的完整性。若分析深度不足,可通过 CLI 工具直接调用 REA 的细粒度能力(如指定函数反编译、特定节区导出),或调整分析策略后重新执行。
4. 优缺点分析
| 优点 |
|---|
| 多目标类型覆盖: 支持原生二进制、Electron/JS、APK、.NET、固件、WASM、EVM 字节码等 15 种以上目标类型,覆盖面远超单一工具,可满足绝大多数逆向分析需求。 |
| 零逆向经验门槛: 用户通过自然语言即可驱动分析流程,无需掌握汇编语言和反编译技术,大幅降低了逆向工程的学习曲线,使非专业开发者也能完成复杂分析任务。 |
| 证据链驱动结果: 每个分析结论都附带伪代码、汇编指令、调用关系等原始证据,并标注局限性说明,使结果可追溯、可验证,避免 AI 幻觉导致的错误结论。 |
| 本地分析保护隐私: 全部逆向过程在本地计算设备上完成,目标软件与代码不会上传至云端,有效规避了敏感代码泄露风险,适合企业安全审计场景。 |
| Agent 生态兼容性好: 通过 MCP 标准协议同时支持 Claude Code、Codex、Cursor、Gemini CLI、Windsurf 等主流 AI 编程工具,一次配置即可在多个 Agent 间复用。 |
| 开源免费: 采用 MIT 许可证完全开源,代码可自由获取、修改和商用,社区可参与改进和扩展,降低了企业采用成本。 |
5. 同类工具对比
| 对比维度 | REA | GhidraMCP | IDA Pro + MCP 桥 |
|---|---|---|---|
| 核心架构 | 多引擎调度层,统一调度 Ghidra/Hopper/IDA/JADX/JEB 等 | 仅绑定 Ghidra 的专用 MCP 桥(插件 + Python/Go 桥接) | 基于 IDA Pro 的 MCP 接口封装 |
| 分析目标范围 | 15+ 类型:原生二进制、Electron/JS、APK、.NET、网站、固件、WASM、EVM 等 | 仅限 Ghidra 支持的原生二进制文件 | 以 PE/ELF/Mach-O 等原生可执行文件为主 |
| Agent 接入方式 | 一键 setup 自动注册 Claude Code、Codex、Cursor 等 | 理论支持任何 MCP 客户端但需手动配置 bridge 脚本 | 需自行搭建 MCP 服务并配置客户端 |
| 安装体验 | npx rea-agents@latest setup 单命令完成安装与配置 |
需安装 Ghidra 插件、运行 bridge 脚本、手改客户端配置文件 | 依赖 IDA 商业授权,需额外编写桥接服务 |
| 工作流深度 | 端到端自动化:分析→追踪调用链→生成相似实现→验证 | 侧重分析环节:反编译、符号重命名、导入导出列表、标注代码 | 反编译和调试能力突出,但无代码生成环节 |
| 证据链结构化 | 每个结论附带伪代码、汇编、调用关系等证据和局限性说明 | 返回反编译结果与符号信息,证据结构化程度较低 | 返回反编译与交叉引用数据,需人工整理 |
| 协议/许可 | MIT 开源免费 | Apache-2.0 开源免费 | 商业授权 |
| 社区生态 | 新兴开源项目,处于快速迭代期 | 社区活跃度中等,依托 Ghidra 生态 | 商业支持完善,社区资源丰富 |
选型建议: 对于希望以最低学习成本实现“自然语言驱动逆向分析”的开发者,REA 是最合适的选择。它在目标类型覆盖、Agent 接入便捷性和端到端自动化方面具有明显优势,尤其适合需要同时分析多种类型软件(如 Electron 应用 + 原生模块 + APK)的复合场景。若只需对原生二进制进行深度逆向,且团队已熟悉 Ghidra,则 GhidraMCP 作为轻量级桥接方案更为直接。对于企业级安全研究团队,IDA Pro 搭配 MCP 桥接可提供更强大的反编译质量和调试能力,但需考虑商业授权成本。若追求极致的分析可控性且不依赖 AI Agent,传统 Ghidra 人工分析仍是可靠选择。
6. 编辑总结
REA 的出现为逆向工程领域带来了方法论层面的创新。传统逆向分析高度依赖人工经验,从加载二进制文件到定位关键函数、理解调用关系,每一步都需要专业知识和大量时间。REA 通过 MCP 协议将 AI Agent 的语义理解能力与成熟逆向引擎的底层能力结合,把这一过程压缩为自然语言对话,有效降低了逆向工程的专业门槛。
从技术实现角度看,REA 的多引擎调度架构具有较强的可扩展性——通过统一接口兼容 Ghidra、Hopper、IDA、JADX、JEB 等工具,避免了单一工具的能力局限。其对 15 种以上目标类型的覆盖在同类开源工具中较为罕见,尤其是将 Electron/JS 静态分析和网站被动观察纳入能力范围,填补了传统逆向工具在多类型现代应用分析上的空白。证据链机制的设计也值得肯定,每个结论附带可追溯的原始证据,在一定程度上抑制了 AI 模型在分析过程中可能产生的幻觉问题。
实用价值方面,REA 适用于多种实际场景:安全审计人员可快速评估闭源应用的安全状况;开发团队能够从竞品实现中提取功能逻辑并复用;维护团队可对失去源码的遗留系统进行技术还原。其本地化部署特性也契合企业对代码隐私的要求。
REA 的适用人群主要包括:希望借助 AI 提升逆向效率的安全工程师、需要分析第三方应用实现逻辑的软件开发者,以及涉及遗留系统迁移的技术决策者。对于专业逆向工程师而言,REA 可作为辅助工具加速初步分析,但深度手工逆向仍需依赖专业工具。
作为开源项目,REA 仍处于快速迭代期,其长远发展取决于社区贡献和生态建设。随着 AI 编程 Agent 的普及和 MCP 协议生态的成熟,类似 REA 的“AI + 专业工具”桥接范式有望成为软件分析与理解领域的重要方向。
7. 应用场景
竞品功能复现: 开发团队看中竞争对手应用中的某项功能(如离线搜索、数据同步机制),通过 REA 让 Agent 拆解目标功能的调用链和实现逻辑,获取带证据的伪代码,然后基于分析结果在自己的项目中实现功能等价的版本。该场景可显著缩短功能逆向和重实现周期。
无源码老软件抢救: 企业面临失去源码的遗留系统(老软件、老游戏、历史库文件)维护需求时,利用 REA 读取伪代码和汇编指令,让 Agent 还原关键算法和数据结构的实现方式,并将分析结果迁移到现代技术栈中重新构建,降低系统消亡风险。
Electron/桌面应用安全审计: 安全团队使用 REA 对闭源桌面应用进行静态分析,快速梳理模块结构、路由定义、IPC 通信通道和 preload 脚本内容,评估是否存在敏感信息泄露、权限不当或可疑的通信行为,为安全决策提供依据。
遗留系统迁移评估: 在进行系统升级或技术栈替换时,使用 REA 对比软件两个版本的二进制差异生成变更报告,或分析 .NET/原生组件的依赖边界,明确哪些模块需要重写、哪些可以直接封装复用,辅助制定迁移计划和风险评估。
8. 常见问题FAQ
Q1:哪些 AI Agent 可以使用 REA?
A:任何支持本地 MCP server 的 AI 编程 Agent 均可接入。REA 的 setup 命令会自动配置已验证的 Agent(如 Claude Code、Codex、Cursor、Gemini CLI、Windsurf),其他 MCP 兼容客户端可参照文档手动注册 MCP server 使用。
Q2:是否必须安装 Hopper、Ghidra 或 IDA?
A:深度原生二进制分析(如 ELF、PE、Mach-O)需要上述工具中的至少一款。若仅进行静态 JavaScript/Electron 分析或 .NET 程序集检查,则不需要任何原生分析引擎。setup 命令可在获得用户批准后自动安装 Hopper;Ghidra 和 IDA 使用用户已有的安装。
Q3:分析前需要预先启动 Hopper 吗?
A:不需要。REA 会在需要时自动启动 Hopper。但在 macOS 上首次运行时,系统会弹出对话框要求选择演示模式或激活许可证,用户需要在同一会话中完成该提示,才能继续执行后续 CLI/MCP 操作。
Q4:REA 返回的分析结果是什么形式?
A:原生二进制分析返回伪代码和汇编指令;JavaScript/Electron 分析恢复模块结构及其依赖关系。所有分析结果均附带证据信息(如地址引用、调用链),Agent 基于这些发现来编写和测试目标功能的实现代码。
Q5:REA 会将目标软件上传到云端吗?
A:不会。REA 的全部分析过程在本地计算设备上完成,目标软件和代码不会上传至云端。只有用户配置的 AI Agent 会接收到工具返回的分析结果,模型提供商的数据处理政策由其各自平台的服务条款决定。
Q6:如何更新 REA 或排查使用中的问题?
A:CLI 用户可运行 rea update 命令更新版本;npx 用户重新执行 npx rea-agents@latest setup 并重启 Agent。若问题仍存在,建议在 GitHub 仓库提交 issue,并附上版本信息、目标文件类型、复现步骤和完整错误输出。
Q7:REA 能分析哪些特殊格式的目标?
A:除常见格式外,REA 还支持 WASM 文件(需自备 WABT 工具)、EVM 字节码(需 Linux x64 环境)、Go 二进制(内置静态 ELF/PE/thin Mach-O 检查)、Linux 崩溃记录(需 pwntools)以及 JEB 工程文件(需由调用方启动 JEB 客户端并配置 MCP 连接)。
9. 项目地址
- 项目官网:https://rea.tools/
- GitHub 仓库:https://github.com/morluto/rea
相关 AI 模型文章
QwenGyre – 阿里千问推出的超长程智能体在线强化学习框架
QwenGyre是阿里千问团队推出的面向超长程智能体任务的在线强化学习框架,专为单次执行约70万token、持续数小时乃至更长时间的复杂任务设计。该框架通过弹性调度机制在任务不中断的前提下将空闲GPU资源在采样与训练之间动态切换,并借助轨迹处理技术保留真实上下文、评估部分成果以及去重共享前缀以控制训练成本。在Qwen3.8-2.4T旗舰模型上,QwenGyre仅用48步便将NL2RepoBench...

Muse Wonder – Meta 超级智能实验室推出的前沿模型系列
Muse Wonder 是 Meta 超级智能实验室推出的前沿模型系列,建立在 Muse Spark 基础之上,具备跨对话长期记忆与自主坚持长任务的能力。该模型在遇到执行障碍时会主动更换方案,并在重要操作前先与用户确认,覆盖保险理赔、法律金融等专家场景及编程任务。模型分为标准版与完整版两个版本,标准版通过 Meta API 和 Muse Code 开放,完整版仅面向 Muse Code 订阅用户。...

Beam – Reflection AI 开源的首款大语言模型:501B稀疏MoE架构的工程力作
Beam是Reflection AI推出的首款开源大语言模型,采用501B参数的稀疏MoE架构,每个token仅激活23B参数,支持100万token上下文窗口,预训练消耗23.8T token。该模型在软件工程任务上达到GLM-5.2同级水平,其训练过程堪称重工业级别的算力展示:预训练阶段使用6,144张GB300 GPU在不到四周内完成,随后动用10,500张GB300进行为期四周、超1亿次r...

Poppy – Sierra 联合 Meta 等推出的开放协议草案
Poppy(Personal Agent Protocol)是由 Sierra 联合 Meta 及多家企业共同推出的开放协议草案,旨在解决个人 AI Agent 访问企业服务时的身份识别与授权问题。该协议通过标准化的发现机制、分级权限控制和基于 OAuth 的授权流程,在"Agent 冒充用户"与"企业全面封禁代理"两个极端之间建立了中间方案。目前已有 Stripe、Shopify、Walmart...
版权声明:本文部分内容由 AI 辅助生成并经人工校准,版权归本站所有,未经允许禁止任何形式的转载。
