← 返回中文首页

教程

Hermes Agent 与 OpenClaw 的 REA 安装和使用指南

在工具仪表盘安装 REA,再让机器人静态分析本地 JavaScript、Electron 应用或 .NET 程序集。本指南说明托管版本的使用流程、支持范围,以及如何核对分析证据。

English

托管版 REA 能做什么

REA(Reverse Engineer Anything)是开源逆向分析工具。OpenClaw Launch 按需安装 rea-agents 6.4.0,并添加 openclaw-launch-rea 技能。Hermes Agent 与 OpenClaw 的仪表盘安装步骤相同,工具和技能的路径不同。托管包装器只开放下表中的四个命令,读取你提供的文件,不运行目标应用。

你可以用它梳理打包后的 Electron 应用,了解 JavaScript 模块关系,或检查 .NET 程序集中的元数据与 CIL。请只分析你拥有或有权检查的软件。分析结果可以帮助定位代码,但不能证明某项功能实际执行过,也不能证明应用安全。

REA 官方仓库与 README

托管命令输入适合回答的问题
analyze-javascript-application本地 ASAR 文件或已提取的 JavaScript / Electron 应用目录有哪些模块和导入?文件中体现了哪些 Electron 主进程、preload、渲染进程、IPC 或原生扩展关系?
inspect-managed-artifact包含托管 .NET 程序集的本地 PE 文件可以读取哪些程序集标识、元数据、引用和托管结构?
inspect-managed-members同一托管程序集可以检查哪些类型、方法签名、CIL 指令、调用和字段访问?
inspect-managed-native-boundaries同一托管程序集托管元数据声明了哪些原生依赖与入口点,包括 P/Invoke 边界?

仪表盘安装不包含 REA MCP 配置、浏览器或 Electron 运行时捕获、Ghidra / Hopper / IDA 等原生二进制反编译器,也不包含源码恢复流程。检查托管代码与原生代码的边界,不等于反编译原生库。REA 上游支持的功能更多,不能把上游 README 当作此托管包装器的可用命令清单。

1. 在要使用的机器人上安装 REA

  1. 打开仪表盘 → 工具,在“安装到实例”中选择正在运行的 Hermes Agent 机器人。正在运行的 OpenClaw 实例也使用相同步骤。
  2. 搜索 REA,再次确认选中的实例,点击 REA 卡片上的“安装”。
  3. 等待安装完成,点击“刷新状态”,直到卡片显示“已安装”。“安装中”只表示操作仍在进行,不能据此开始分析。
  4. 回到同一个机器人的聊天,让它先读取 openclaw-launch-rea 技能,再执行检查。

打开工具仪表盘 · 查看 REA 工具详情

工具和技能的安装路径

以下是仪表盘托管安装在机器人容器内的路径。按本指南使用时,无需全局安装 CLI、运行 REA setup 或配置 MCP 地址。机器人需要已有的 shell / exec 权限才能调用包装器。

Hermes Agent

包装器: /opt/data/tools/rea-6.4.0/rea
技能: /opt/data/skills/openclaw-launch-rea/SKILL.md

OpenClaw

包装器: /home/node/.openclaw/tools/rea-6.4.0/rea
技能: /home/node/.openclaw/workspace/skills/openclaw-launch-rea/SKILL.md

2. 将输入文件放入同一个托管实例

REA 需要机器人能够读取的本地绝对路径。你电脑上的 /Users/you/Desktop/app.asar 不属于托管机器人的文件系统。只粘贴文件名或链接,也不能说明文件已经存在于机器人中。

  1. 在仪表盘打开同一实例的“文件”面板。如果账号有文件功能权限,先选择工作目录,再用“上传”添加 ASAR、DLL 或 EXE;已经提取的 JavaScript 应用目录可以用“上传文件夹”。
  2. 文件上传器的单文件上限为 50 MB。上传文件夹会保留所选目录的层级,但不会解压压缩包。ZIP 文件不能代替已提取的应用目录;ASAR 文件可以直接交给 JavaScript 分析命令。
  3. 上传成功后,让机器人找到该文件或目录,确认它的绝对路径。如果文件已经在实例中,则让机器人核对现有路径。
  4. 将分析所需的应用文件放在一起。如果缺少相关程序集、模块或依赖,让机器人明确记录缺失证据,不要用猜测补齐。
我通过这个机器人的“文件”面板上传了 <文件或文件夹名称>。请在你的本地文件系统中找到它,告诉我绝对路径。不要运行应用。在使用 REA 前,确认输入是 ASAR、已提取的 JavaScript 应用目录,还是托管 .NET 程序集。

3. 在聊天中提出具体问题

将所有占位符替换为实际内容,并使用已确认的容器内绝对路径。先从一个功能或一个程序集开始。要求机器人给出支撑结论的文件名、方法名或元数据引用,同时说明 REA 报告的限制。

梳理 Electron 应用或已提取的 JavaScript 目录

请先读取 openclaw-launch-rea 技能。我有权检查 <ASAR文件或已提取应用目录的绝对路径>。通过托管包装器执行 analyze-javascript-application,说明现有文件如何体现 <功能名称>:找出相关模块、导入和 Electron IPC 边界。引用支撑结论的文件或模块证据,区分已确认事实与推测,列出缺失证据。不要运行目标应用。

检查 .NET 程序集及其方法

请先读取 openclaw-launch-rea 技能。我有权检查 <托管DLL或EXE的绝对路径>。通过托管包装器先执行 inspect-managed-artifact,再执行 inspect-managed-members。总结程序集标识、相关类型和方法,以及 <方法或功能名称> 可见的 CIL 证据。明确说明不支持或无法读取的部分。不要加载或运行程序集,不要声称恢复了原始 C# 源码。

查找托管代码声明的原生依赖

请先读取 openclaw-launch-rea 技能。对 <托管DLL或EXE的绝对路径>,通过托管包装器执行 inspect-managed-native-boundaries。列出声明的原生模块和入口点,包括可读取的 P/Invoke 元数据,并说明哪些方法引用它们。区分静态声明与运行时库解析。不要运行程序集,也不要反编译原生库。

可选:包装器的准确调用格式

如果你在选中机器人的容器终端内操作,每次调用恰好接收两个参数:一个支持的命令和一个本地绝对路径。路径包含空格时请加引号。包装器不接受 --json 等额外选项、setup、update 或任意上游命令。下面的路径都是占位示例,需要替换。

Hermes Agent

/opt/data/tools/rea-6.4.0/rea analyze-javascript-application "/ABSOLUTE/PATH/app.asar"
/opt/data/tools/rea-6.4.0/rea inspect-managed-artifact "/ABSOLUTE/PATH/Application.dll"
/opt/data/tools/rea-6.4.0/rea inspect-managed-members "/ABSOLUTE/PATH/Application.dll"
/opt/data/tools/rea-6.4.0/rea inspect-managed-native-boundaries "/ABSOLUTE/PATH/Application.dll"

OpenClaw

/home/node/.openclaw/tools/rea-6.4.0/rea analyze-javascript-application "/ABSOLUTE/PATH/app.asar"
/home/node/.openclaw/tools/rea-6.4.0/rea inspect-managed-artifact "/ABSOLUTE/PATH/Application.dll"
/home/node/.openclaw/tools/rea-6.4.0/rea inspect-managed-members "/ABSOLUTE/PATH/Application.dll"
/home/node/.openclaw/tools/rea-6.4.0/rea inspect-managed-native-boundaries "/ABSOLUTE/PATH/Application.dll"

4. 根据证据理解结果

  • 分析 JavaScript / Electron 时,让机器人把解释对应到包内实际存在的模块、导入与边界。打包、压缩、生成代码和缺失文件都可能限制结果。文件关系本身不能证明某个分支运行过。
  • 分析 .NET 时,将程序集元数据、解码后的 CIL 与高级语言源码区分开。成员检查可能不完整或不受支持。NativeAOT 二进制可能没有普通 CIL 方法体,托管包装器不是原生反编译器。
  • 对于原生边界,声明的库名或入口点属于静态证据。它不能证明运行时加载了哪个库、调用是否发生,或原生实现具体做了什么。
  • 要求最终报告列明输入路径、执行的命令、支撑证据、未解答的问题和下一步调查建议。保留原始输入,方便之后用同一个文件核对分析。

REA 官方托管代码证据与限制说明

常见问题排查

没有运行中的实例,或无法点击安装

先启动或部署支持的 Hermes Agent 或 OpenClaw 机器人,再回到工具页选择它。安装在另一个机器人上的工具不会出现在当前机器人中。重试前先查看卡片上的可用性提示。

显示已安装,机器人却找不到 REA

确认工具页与聊天使用同一个实例。让机器人读取上方安装路径中的技能,并检查包装器是否存在。如果原会话仍使用旧的工具上下文,新建聊天会话后再次要求它读取技能。不要假设安装自动重启了机器人,也不要假设裸 rea 命令已经加入 PATH。

找不到输入文件

确认文件已成功上传到这个机器人的文件面板,再让机器人报告绝对路径并确认可读取。电脑路径、文件名、聊天附件或 URL 都不能证明本地文件可用。如果上传被跳过,请检查单文件 50 MB 上限。

提示不支持的命令或 Usage: rea <static-command> <local-path>

只使用表格中的四个命令,每次传入一个绝对路径,不添加额外选项。MCP 注册、setup、update、捕获、原生反编译和源码恢复命令不属于此托管安装。

分析结果没有回答功能问题

先核对输入类型和已提供的文件,再针对结果中出现的某个模块、方法或声明依赖缩小问题范围。将解析限制与缺失代码保留为未解答的问题;静态分析不能提供运行时观察结果。

从机器人中卸载 REA

打开仪表盘 → 工具,选中实例,找到 REA 并点击“卸载”。确认仪表盘提示后刷新状态。该操作移除仪表盘管理的 REA 工具和 openclaw-launch-rea 技能,不负责清理你上传的输入文件;这些文件请在文件面板中另行管理。

常见问题

Hermes Agent 可以使用 REA 吗?

可以。OpenClaw Launch 的 REA 托管安装支持 Hermes Agent 与 OpenClaw。仪表盘步骤和四个静态命令相同,工具和技能路径不同。

这是否就是上游 REA 的 stdio MCP 服务?

不是。上游 REA 提供 MCP 服务,包括 stdio 配置流程。此仪表盘安装使用受限本地 CLI 包装器和技能,不注册 stdio MCP 服务,也不需要填写 MCP URL。

可以不启动 Electron 应用,直接分析 ASAR 吗?

可以。托管版 analyze-javascript-application 接收本地 ASAR 或已提取的应用目录,在不运行目标的情况下执行静态检查。上传文件夹不会自动解压压缩包。

这里能恢复 C# 源码或反编译原生二进制吗?

此安装支持静态 .NET 元数据、成员、CIL 和声明的原生边界,不包含源码恢复流程或原生二进制反编译器。读取 CIL 与元数据不能保证恢复原始源码。

分析结果能证明应用安全吗?

不能。静态分析描述输入文件中的证据,存在解析与覆盖范围限制。它不能证明运行时行为,也不构成安全保证。

继续阅读

为托管机器人安装 REA

在工具页选中正在运行的 Hermes Agent 或 OpenClaw 实例,安装 REA,再从一个本地文件和一个具体分析问题开始。

打开工具仪表盘