Aekor

Aekor
专注于用户阅读体验的响应式博客主题
  1. 首页
  2. Blog
  3. 正文

REA 逆向工程工具详解:用 MCP 连接 AI Agent 与 Ghidra、IDA

2026-10-14 32957点热度 0人点赞 0条评论

REA,全称 Reverse Engineer Anything,是连接 AI Agent 与逆向分析工具的开源项目。它通过 MCP(Model Context Protocol)向智能体提供分析能力,让模型能查询函数、伪代码、字符串和引用关系,再据此整理软件行为。

它的实际价值是把工具调用和证据收集纳入可迭代的工作流。反编译仍由相应后端完成,模型负责提出问题、组合发现和解释结果;结论是否正确,需要回到原始证据与运行行为检查。

官方入口分别为 GitHub:morluto/rea 和 REA 官网。

REA 如何连接 AI 与传统逆向工具

传统二进制分析通常需要研究者导入文件、等待后端分析、定位函数、读取汇编与伪代码,再沿调用链核对算法。REA 将这些查询组织成 Agent 可以调用的接口。

MCP 在其中承担客户端与服务端之间的工具调用协议。支持 MCP 的客户端提出分析请求,REA 连接相应后端,返回工具证据和局限,客户端再决定下一步查询。

一个典型流程是:

  1. 明确需要理解的功能,并识别目标文件及运行环境。
  2. 选择适合的分析后端,加载自己有权分析的样本。
  3. 查询函数、字符串、常量、调用关系和交叉引用。
  4. 将发现写成可验证的假设,列出支持证据与未知点。
  5. 通过额外查询、可控运行或测试样本验证假设。
  6. 输出说明、兼容实现或测试代码,并记录尚未确认的部分。

关键是保留“观察到什么”和“据此推断什么”的区别。伪代码中的某个分支确实来自样本,不代表模型对这个分支的用途解释必然正确。

如果希望了解 MCP 的连接与管理问题,可以结合站内的 Cloudflare MCP 流量识别介绍 阅读。

可以分析哪些目标

截至 2026 年 10 月 20 日核对的官方 README,REA 的范围已覆盖原生二进制、JavaScript/Electron 应用、.NET 程序和网站等。不同目标需要不同的工具,支持情况也受操作系统和后端限制。

目标类型主要分析内容依赖与限制
原生二进制伪代码、汇编、符号、字符串、调用与引用使用 Hopper、Ghidra 或 IDA 等后端
JavaScript/Electron模块、导入关系、进程边界及对应证据静态分析无需原生反编译引擎
.NET 程序程序集与托管代码结构以对应后端文档和主机支持为准
APK、固件等与目标格式有关的静态信息及代码分析需要对应外部工具,不能只凭扩展名判断可分析程度
WebAssembly模块验证、段、导入导出及 WAT当前文档列有额外工具版本要求

原生文件格式支持还取决于后端。不要把“REA 支持接入某个工具”理解为所有平台、所有文件都能获得同样深度的结果。

哪些场景适合使用

软件维护与兼容性研究。 当旧程序缺少文档时,可围绕一个明确功能,分析文件格式、数据转换或计算规则,再以测试验证兼容实现。

授权安全研究。 分析自己拥有或获准检查的程序,理解输入处理、依赖关系和异常路径。REA 能协助整理证据,但漏洞结论仍需要充分复现和人工审查。

固件及老旧设备研究。 对没有完整文档的样本,先确认架构、格式、工具支持和合法使用范围,再逐步缩小研究目标。

复古游戏与算法研究。 随机数、存档格式等单一功能更容易建立明确的输入输出测试。大范围复原整款游戏则涉及更复杂的资源、行为与版权问题。

提出问题时,应指定函数或行为、证据要求和验证方式。例如:“分析这个自有测试程序的随机数函数,列出调用关系,解释状态更新,并用固定输入比较输出。”这样的任务范围更便于验收。

当前官方安装入口

以下是 2026 年 10 月 20 日核对的 README 中的安装入口,不代表公众号原发日期时的全部版本行为。安装前应阅读所用发行版对应的官方安装文档。

当前 README 要求 Node.js 22.x(至少 22.19)、24.x(至少 24.11)或 26+,以及 npm。准备好环境后运行:

npx rea-agents setup

安装向导会选择 Agent、展示拟修改的配置,并注册 MCP 服务及匹配的工作流说明。检查变更后完成配置,再重启 Agent 客户端。当前列出的客户端包括 Claude Code、Codex、Cursor 和 Gemini CLI 等。

原生二进制深度分析需要另行配置 Hopper、Ghidra 或 IDA。免费开源的 Ghidra 是可选后端之一,但不能据此声称其在所有目标上适配最好。静态 JavaScript 分析则无需先安装原生分析引擎。

Linux 上部分分析或工具启动流程还需要 PATH 中存在兼容 procps 的 ps。Windows 与各后端的支持细节,请以当前文档为准。

如何判断分析结果是否可靠

REA 可以减少切换工具与搬运上下文的工作,但不会消除逆向工程的难点。

  • 加壳、强混淆、运行时解密和虚拟化会增加分析成本;工具不能凭空恢复缺失证据。
  • 编译优化会改变函数边界、数据结构与控制流,反编译结果不等同于原始源码。
  • 模型可能误读数据流、漏掉分支,或把少量样本的规律当成通用行为。
  • 大型程序应拆成具体问题;恢复某个算法与完整重建整个应用,成本和可验证性差别很大。
  • 分析需要访问本地材料,若 Agent 接入云端模型,还应检查哪些内容会发给模型服务,不能把“工具本地运行”理解为所有数据都不会离开电脑。

验收报告时,应要求列出函数位置、调用关系、样本或测试范围,以及尚未验证的假设。复现代码跑通一次,不足以证明与原程序完全等价。

授权与许可证

REA 自身代码采用 MIT 许可证;外部逆向工具和第三方材料保留各自许可。工具许可证不自动授予对任意目标软件进行分析、分发或复用代码的权利,应根据目标授权和适用规则确定范围。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: AI工具 MCP 开源项目 逆向工程
最后更新:2026-10-20

Aekor

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

使用AI教程

  • API报错解决方案
  • API 基础知识
  • API Key 获取
  • 最新接入教程

分类

  • Blog
  • Oracle 数据库
  • TradingAgents-CN
  • 使用教程
  • 数据库

COPYRIGHT © 2026 Aekor. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang