← 返回日报
🌐 机器翻译 · DeepSeek · GitHub

morluto rea


morluto rea

English · 简体中文 · 日本語 · 한국어 · العربية

REA:逆向工程一切

一个用于跨二进制文件、应用程序和运行时行为进行逆向工程的 MCP。

看到一个你喜欢的功能。理解它的工作原理,深入到二进制层面。

网站 · 指南 · 展示

快速开始 · 当前状态 · 调查模型 · 工具目录 · 路线图 · 工作原理

npx rea-agents setup

加入逆向工程社区

Discord · 问答 · 展示与分享


看到某个应用中有你想要在自己产品里实现的功能?让你的 agent 用 REA 来调查它。REA 可以在没有源代码的情况下检查该应用,解释功能的工作原理,展示证据,并为你的项目构建一个版本。

REA 将你的 agent 连接到用于检查原生二进制文件、JavaScript 和 Electron 应用、.NET 程序集以及网站的工具。你也可以从终端使用相同的工具。分析在本地运行,结果包含每个结论背后的证据和局限性。

安装程序会将 REA 注册到你的 agent,并安装匹配的工作流指令。原生分析可以使用现有的 Hopper 或 Ghidra 安装;安装程序可以选择在获得批准后安装 Hopper。静态 JavaScript 分析不需要任何引擎。

快速开始

运行安装程序(推荐)

使用你的 agent 设置 REA:

npx rea-agents setup

选择哪些受支持的 agent 应使用 REA,然后在批准前查看确切的路径和更改。现有的 REA 注册默认被选中;新检测到的 agent 可供选择,但仅检测到并不会自动选中它们。安装程序会为选定的 agent 添加 MCP 访问权限和 REA 的引导工作流。Hopper 是一个单独的可选项,需要单独同意。安装程序也可以记录现有的 Ghidra 安装。

安装程序会在应用更改前显示更改内容,并备份现有配置。有关要求和安装选项,请参阅安装与设置。

AI 编程助手(可选)

将 skill 添加到你的 AI 编程助手中以获得更丰富的上下文:

npx skills add morluto/rea --skill reverse-engineer-anything

该 skill 提供 REA 的调查工作流。运行上面的安装程序将 REA 连接到你的 agent 并配置分析工具。安装程序默认已安装版本匹配的 skill;此命令安装的是仓库版本。

使用 agent(推荐)

安装完成后,重启你的 agent 并描述你想了解的应用或功能。Hopper 可以在演示模式下运行;如果它显示首次运行提示,请选择演示模式或输入现有许可证。

REA 支持 Claude Code、Claude Desktop、Codex、Cursor、Gemini CLI、Windsurf、Devin、OpenCode、Antigravity、GitHub Copilot CLI、Command Code 和 VS Code。现有的 REA 注册在安装过程中默认被选中;其他检测到的 agent 在被选择之前保持未选中状态。其他 agent 可以使用手动 MCP 配置。

从终端获得第一个结果

对于你提取的 JavaScript/Electron 应用程序目录树或 ASAR,运行:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

将路径替换为你的目标(例如 Windows 上的 "D:/apps/example")。这会返回内联证据、恢复的图、局限性和未知项,无需 MCP 设置、Hopper、Ghidra 或执行应用程序。

对于原生应用,请先配置其引擎,然后使用该应用的路径运行 analyze。当你需要诊断时运行 doctor;它不是每次分析的前提条件。

检查当前任务的就绪状态

不带选项的 rea doctor 是对整个集成的审计。它会检查每个检测到的 agent 注册、已安装的 skill 以及每个可选分析引擎,因此即使你当前的任务可以正常工作,它也可能报告 healthy: false。

为你正在进行的工作选择就绪范围:

| 任务 | 就绪检查 | |------|----------| | 静态 JavaScript/Electron 分析 | 无。直接运行 analyze-javascript-application。 | | 排查某个分析引擎 | rea doctor --provider ghidra --json(或 hopper、ida) | | 检查某个 agent 的 MCP 注册 | rea doctor --client codex --json(参见 client ID) | | 检查已安装的 skill | rea doctor --skill --json |

范围报告具有 scope.mode: "explicit"。只有 scope_checks 决定 healthy 和退出状态。其他所有内容列在 informational_checks 中;你不需要为此任务修复它们。例如,你未使用的缺失引擎无需修复。environment_healthy 仍然汇总完整审计。

--target 添加目标检查,但如果没有范围选项,报告仍然是审计范围的。

当多个已安装的引擎支持某个原生目标时,REA 不会自行选择一个:打开目标会失败,返回 code: "capability_unavailable"、details.selection_reason: "ambiguous",以及 details.candidate_ids 中的提供者。一次性选择一个:在 CLI 上传递 --provider,或在 open_binary 上传递 provider_id,或将 REA_ANALYSIS_PROVIDER 设置为常驻偏好。显式选择器会覆盖环境变量。会话会保持该选择,永远不会回退到另一个引擎。

恢复取决于 details.selection_reason。对于 ambiguous,从候选项中选择一个。对于 provider_unavailable,你选择的引擎需要修复,因此运行 rea doctor --provider --json 并遵循其修复建议。这两种原因都不意味着你必须安装所有引擎。参见选择深度分析提供者。

安装 rea 命令

安装命令行界面:

curl -fsSL https://raw.githubusercontent.com/morluto/rea/main/install.sh | bash

安装程序会将 rea 添加到你的系统,并在终端中运行时启动安装流程。它要求已安装 Node.js 和 npm。

或者,使用 npm 安装,然后运行安装程序:

npm install --global rea-agents
rea setup

使用 rea update 更新任一安装。

要求

静态 JavaScript 检查仅需要 Node/npm 运行时。主机和外部工具的先决条件取决于所选工作流;原生提供者指南描述了它们支持的平台。

📖 阅读原文 →