跳到主要内容
AI教程

如何使用 REA 对二进制文件、JavaScript、Electron 和 .NET 应用进行逆向工程

了解如何安装 REA,连接可选的 Hopper、Ghidra 或 IDA 后端,并让代理检查二进制文件和应用程序。本指南还介绍基于证据的分析、已保存的笔记,以及最新的流式传输、Electron、浏览器和 WebMCP 功能。

如何使用 REA 对二进制文件、JavaScript、Electron 和 .NET 应用进行逆向工程

REA 的功能

REA,即 Reverse Engineer Anything,是一款面向 Windows 10 和 11 x64 的智能体导向逆向工程工作台。它通过一个 MCP 工作流,支持二进制文件、JavaScript、Electron 应用和 .NET 软件。

该项目会对已构建的应用进行本地分析并报告证据,因此无需访问原始源代码。如果 Hopper、Ghidra 或 IDA 中已有工具可用,其工作流可以使用这些工具;同时,随附的 CLI 和智能体配置也为分析目标提供了起点。

REA 逆向工程界面

主要功能

  • 统一的 MCP 工作流:支持处理二进制文件、JavaScript、Electron 和 .NET 目标。
  • 基于证据的本地分析:检查已构建的应用,并利用报告的证据指导后续调查。
  • CLI 和智能体配置:使用提供的命令或随附 CLI 配置环境。
  • 可选的逆向工程后端:如果已经使用 Hopper、Ghidra 或 IDA,可将 REA 连接到相应工具。
  • 保存分析笔记:分析笔记存储在 files/notes/ 中。
  • 近期更新:6.3.0 版本新增流式 JSON 输入与输出、Electron 完整性检查、浏览器和 WebMCP 处理,以及 Ghidra、Hopper 和 IDA 修复,并加入智能体技能版本锁定。

要求

安装 REA 前,请准备以下内容:

  • Windows 10 或 Windows 11 x64 系统。
  • 如果计划使用 npx,需要安装 Node.js。
  • 如果希望连接现有的逆向工程后端,需要安装 Hopper、Ghidra 或 IDA。这些工具均为可选项。

安装和配置 REA

1. 下载 x64 软件包

下载 REA x64 ZIP 压缩包,并在 Windows 计算机上解压。请将解压后的文件放在一起,以便随附的命令行工具访问其支持文件。

2. 运行智能体配置

准备好 Node.js 后,在终端中运行智能体配置命令:

npx rea-agents@latest setup

也可以使用下载软件包中随附的 CLI。README 将这两种方式都列为受支持的配置路径。

REA 配置工作流

3. 配置可选后端

如果已经安装 Hopper、Ghidra 或 IDA,请在配置或设置流程中将 REA 指向相应工具。REA 的逆向工程工作台支持这些后端。Windows Ghidra 主机路径支持目前被标记为实验性功能,因此使用该配置时请参阅 CLI 指南。

基本用法

让智能体检查目标

完成配置后,将需要检查的二进制文件或应用交给智能体。README 中的基本工作流非常直接:要求智能体分析目标,然后查看它报告的证据。

  1. 选择要调查的已构建二进制文件或应用。
  2. 将目标提供给 REA 工作流。
  3. 要求智能体检查该二进制文件或应用。
  4. 查看分析结果及其支持证据。
  5. 检查 files/notes/ 中生成的笔记。

由于 REA 处理的是已构建的应用,因此不需要源代码。当只能获得应用的打包或编译输出时,这种工作流适合用于检查该应用。

智能体辅助的应用分析

查看保存的笔记

将笔记目录作为调查记录:

files/notes/

每次分析完成后阅读生成的笔记,以保存结果和证据供日后查看。保留这些记录有助于比较不同目标的观察结果,或返回之前的调查。

高级技巧

为目标选择合适的后端

REA 将多个分析领域整合到一个 MCP 工作流中,但如果已经依赖 Hopper、Ghidra 或 IDA,其可选后端仍然很有用。将 REA 指向符合现有工作流的工具,而不要对所有目标采用完全相同的处理方式。

在调查中区分应用类型

REA 支持二进制文件、JavaScript、Electron 和 .NET。对于 Electron 目标,6.3.0 版本包含 Electron 完整性检查。同一版本还新增浏览器和 WebMCP 处理,因此在规划分析时应明确考虑这些应用类型。

使用流式 JSON 集成

6.3.0 版本支持 JSON 的流式输入和输出。当外部智能体或自动化工作流需要增量交换分析数据时,这项功能很有用。不过,README 没有说明额外的命令行参数或详细的消息结构。

控制智能体技能版本

6.3.0 版本加入了智能体技能版本锁定。需要保证可复现性时,请让配置的技能版本与项目使用的版本保持一致,不要在未记录变更的情况下随意切换版本。

以证据为依据,而非凭借假设

REA 的设计目标是报告本地分析所得的证据。请将报告的证据和保存的笔记作为结论依据,并在 files/notes/ 中记录每次检查的上下文。

REA 分析笔记

常见问题

我需要应用的源代码吗?

不需要。REA 会检查已构建的应用并报告证据。

可以在 Windows 上使用 Ghidra 吗?

Windows Ghidra 主机路径支持目前处于实验阶段。相关配置详情请参阅 CLI 指南。

必须安装 Hopper、Ghidra 和 IDA 吗?

不。它们是可选后端。需求列表将它们列为可选项,而入门工作流也支持随附的 CLI 和 npx rea-agents@latest setup 命令。

结论

REA 为针对已编译和打包应用程序的代理辅助逆向工程提供了专注于 Windows 的工作流。下载并解压 x64 软件包,运行代理设置,在需要时连接可选后端,然后让代理检查目标。接着,使用 files/notes/ 中的证据和笔记来整理调查工作。