Deepseek ArtifactsDeepseek Artifacts
GitHub 开源项目指南

REA(Reverse Engineer Anything):在 Claude Code / Codex 里安装并使用逆向工程技能

REA 就是 GitHub 上的 morluto/rea:一个 MIT 许可的 MCP 服务器、一个 CLI,加上一份 reverse-engineer-anything 智能体技能,让 Claude Code、Codex、Cursor 等客户端能在本机检查二进制、Electron 应用、.NET 程序集、APK 和网站,并给出证据。下面是核实过的安装步骤、第一条命令,以及合法边界到底在哪。

一眼看懂 REA

  • 一个项目、三件东西:`rea-agents` npm 包同时提供 `rea` 命令行、本地 MCP 服务器,以及 `reverse-engineer-anything` 技能——后者告诉智能体哪种目标该用哪个工具。
  • 安装只有一条要你确认的命令:`npx rea-agents setup` 会先列出要改的配置路径、备份和技能落点,等你批准后才写文件。
  • Claude Code、Codex、Cursor 还各有原生路线:两句 `/plugin`、两句 `codex plugin`,或 Cursor 市场里的插件;setup 本身能直接配置 28 个客户端。
  • REA 不是沙箱,也不替你判断合不合法:它以你的用户权限运行,目标必须是你有权分析的软件,项目自己的免责声明也写清了它拒绝协助哪些用途。

morluto/rea — README

来源: github.comchecked 2026-11-13

打开

docs/getting-started/installation.md

来源: github.comchecked 2026-11-13

打开

.agents/skills/reverse-engineer-anything/SKILL.md

来源: github.comchecked 2026-11-13

打开

docs/getting-started/cli.md

来源: github.comchecked 2026-11-13

打开

rea-agents — npm registry

来源: registry.npmjs.orgchecked 2026-11-13

打开

DISCLAIMER.md + SECURITY.md

来源: github.comchecked 2026-11-13

打开

dsh-rea — DeepSeek Harness directory

来源: deepseekharnessplugins.comchecked 2026-11-13

打开

dsh-reverse-skill — DeepSeek Harness directory

来源: deepseekharnessplugins.comchecked 2026-11-13

打开

本页所有命令、客户端 ID、版本号和数字,都是 2026-11-13 从上面这些来源读到的:仓库 README、docs/getting-started/installation.md、随包发布的 SKILL.md、docs/getting-started/cli.md、DISCLAIMER.md 与 SECURITY.md,以及 npm registry。仓库数据来自同一天的 GitHub API:455,720 stars、111,916 forks、创建于 2026-04-14;npm 最新版 `rea-agents` 6.9.0,发布于 2026-11-12。star 数每天都在变,请当作带日期的快照。本页不引用任何性能数字:我们核实的 README 与文档里没有基准测试结果,所以这里一个都不重复。

REA 到底是什么

REA 是 Reverse Engineer Anything 的缩写,作者是 morluto,MIT 许可,地址 github.com/morluto/rea,官网 rea.tools。它不是 Anthropic、OpenAI 或 Cursor 的产品,也不是反编译器:它是让编码智能体去驱动反编译器和静态解析器、再把结果讲清楚的那一层。

实际分发物是 npm 包 `rea-agents`。它提供 `rea` 命令、本地 MCP 服务器,以及 `reverse-engineer-anything` 技能——一份工作流文档,要求智能体先给目标分路(ASAR/Electron、归档、APK、.NET、固件、原生二进制、浏览器页面、抓包),并让每个结论都落在 Evidence 上。分析在本机跑;智能体拿到工具结果,之后由它背后的模型服务商按自己的数据政策处理。

深度原生分析是自带引擎:Hopper、Ghidra、IDA 或 Kuna。setup 可以在单独批准后安装 Hopper,也会复用你已有的 Ghidra、IDA、Kuna。纯静态的 JavaScript/Electron 和 .NET 分析完全不需要原生引擎——所以拿一个 Electron 应用做第一次测试,是判断 REA 值不值得留在工作流里最省钱的办法。

npm 版本
rea-agents 6.9.0
许可
MIT
GitHub stars
455,720
仓库创建时间
2026-04-14

它能看什么

README 的目标表有 39 行,这里只留真正决定你要不要装的部分。最后一列是文档里实际写的要求——大部分行除了 Node.js 什么都不用。

目标返回什么需要
JavaScript / Electron模块、导入、source map、路由、IPC 边界和原生扩展——静态读取,不运行应用。Node.js + npm(Linux 上还需要 procps 的 `ps`)
Native binaries伪代码、汇编、字符串、符号、调用与交叉引用。Hopper、Ghidra、IDA 或 Kuna
.NET assemblies元数据、CIL 指令、声明的原生依赖、版本间构建对比。不需要额外工具(纯静态)
Android APKManifest 声明、类、反编译方法与引用;APK 签名信息。无界面 JADX + 完整 JDK(签名检查不需要)
Websites / captures页面结构、脚本、网络观察、按需截图;HAR 与 SAZ 抓包。Chrome 系浏览器(抓包用 HAR 或 SAZ)
Go / Rust / PE / WASMGo 构建信息、Rust cargo-auditable 依赖、PE 导入与证书、ELF notes、WASM、加固标志。不需要额外工具(纯静态)
Archives / firmwareZIP/APK/IPA/MSIX/DMG、Godot PCK、UnityFS、wxapkg 的成员清单与解包;固件分区。Linux 上需要 Binwalk 或 Unblob(仅固件)
GGUF / safetensorsGGUF 与 safetensors 元数据、张量声明、可选整文件哈希。不需要额外工具(纯静态)
Release exposure发布暴露报告,带固定检查 ID、状态与修复建议:随包发出的 source map、Electron fuse、凭据标记。不需要额外工具(纯静态)

有两条边界值得读两遍。静态检查只解析文件、不运行目标;而运行时抓取、浏览器场景和设备工作流会真的运行或交互,用的是你的用户权限。另外每个结果都自带局限和未知项——文档明确说,发布暴露报告干净并不等于这个应用安全。

安装:一条待确认的命令,加上各客户端的原生路线

setup 默认是交互式的:它列出支持的客户端,展示将改动的确切文件与备份,写之前先问。npm 的下载确认和 REA 自己的确认是两个独立提示,批准 npm 不等于批准改配置。

1. 引导式 setup——对所有支持的客户端都管用

在 PATH 里有 Node.js 和 npm 的环境里运行。勾选客户端(已有的 REA 注册默认选中,新检测到的不选),读完计划再批准。然后完全重启完成提示里点名的那些智能体:正在运行的客户端可能覆盖自己的注册。写脚本时用 `--client <id>`,并先用 `--dry-run --json` 拿一份只读计划。

命令

npx rea-agents setupnpx rea-agents setup --client claude_code --dry-run --json

2. Claude Code:两句 /plugin,不用跑 setup

REA 的 npm 包同时也是一个 Claude Code 插件。先把仓库加为市场,再装 `rea@rea`。插件不会执行 `rea setup`,所以引擎配置(Ghidra/IDA 路径)仍要走下面的说明;同时 `rea doctor` 会把插件安装报成 `missing`——请改用 `/plugin` 和 `/mcp` 检查。同一个客户端只用插件或只用 setup 注册,两者都上会起两个 `rea` 服务。

命令

/plugin marketplace add morluto/rea/plugin install rea@rea

3. Codex:同一个插件,两句 codex 命令

同一个 npm 包里带着 `.codex-plugin` 清单。先加市场,再装 `rea@rea`。客户端 PATH 里需要有独立的 `node`。和 Claude Code 一样,插件安装对 `rea doctor` 不可见,用 `codex plugin list` 检查。

命令

codex plugin marketplace add morluto/reacodex plugin add rea@rea

4. Cursor:setup 注册或市场插件

`rea setup --client cursor` 会写 `~/.cursor/mcp.json` 并安装 setup 管理的技能。Cursor 市场里也把这个仓库列为插件,同时带上技能和一个锁定到已发布版本的 `rea` MCP 服务器;那条路是 Git 检出,不会把 `rea` 放进 PATH。两条路选一条,别都装。

命令

npx rea-agents setup --client cursor

5. 只装技能——只有说明书,没有工具

如果你只想要说明书,比如配合你手工注册的 MCP 服务器使用,可以从 skills.sh 只装技能。这样智能体会拿到分路规则和随附参考文档,但不会注册任何工具,在 MCP 服务器存在之前 REA 的调用仍然缺席。

命令

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

6. 先验证,再信任

`rea doctor` 是只读的。分别检查一个客户端、已安装的技能和一个引擎:某个引擎失败不影响不需要引擎的工具,而客户端检查只验证注册,不验证一次成功的调查。doctor 读的是文件和前置条件,看不到正在运行的会话,所以已注册的服务器仍需重启或重连。

命令

rea doctor --client claude_code --jsonrea doctor --skill --jsonrea doctor --provider ghidra --json

文档写明的环境要求

  • 1Node.js 22.x(>= 22.23.4)、24.x(>= 24.22.1)或 26.12.1+,以及与之配套的 npm。Node 23、25、更早的 26.x 和预发布版都不支持。
  • 2一个支持本地 MCP 服务器的客户端。setup 认识 28 个客户端 ID,包括 claude_code、claude_desktop、codex、cursor、gemini_cli、windsurf、opencode、copilot_cli、antigravity、kimi、dsh 和 pi。
  • 3只有原生分析才需要引擎。纯静态的 JavaScript/Electron 与 .NET 分析什么都不用;Android 需要无界面 JADX 和 JDK;固件需要 Linux 上的 Binwalk 或 Unblob。
  • 4从一个可信目录(不要在被分析的项目里)获取这个包,并给分析命令传绝对路径——包运行器可能选中项目内的包,而 REA 无法校验入口点之前发生了什么。

第一次会话:要能证明点什么

最诚实的廉价测试是:你自己拥有、且你已经知道某个功能怎么实现的软件,并挑一个不需要原生引擎的目标。要它给证据,而不只是答案——REA 的意义就是让智能体必须把它声称的代码路径摊开。

直接问智能体

下面这段是 README 里的原例。把 Notes 换成你的目标,把功能换成一个你能手工验证的点。正常情况下智能体会调用 REA 工具、读 Evidence,并说出哪些部分它没能确认——如果它不拿证据就回答,多半是 MCP 连接或技能没装上。

提示词

Understand how search works in the Notes app, show me the evidence,and build a similar feature for my project.

或者自己敲 CLI

每个 MCP 工作流都有对应的 CLI 命令,这也是验证「REA 能做什么」这类说法最快的办法。第一条命令对一个解包后的 Electron 目录或 ASAR 返回 Evidence 记录,不需要任何引擎;第二条审计一个发布产物,当暴露项达到你指定的严重级别时以退出码 3 结束。

命令

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonrea audit-release-exposure ./dist/MyApp.app --fail_on high --json

输出为什么那么大,以及怎么办

真实应用的 Evidence 可能达到几百 MB。文档给的答案是先落盘再投影视图:`rea analyze-javascript-application … > app-evidence.json`,然后用 `rea inspect-analysis-view` 取摘要或某一页模块。走 MCP 时,`REA_MCP_MAX_RESPONSE_BYTES`、`REA_MCP_INPUT_SCHEMA_PROFILE=full` 和 `REA_MCP_OUTPUT_SCHEMA_PROFILE=compact` 决定模型能看到多少。

更新与卸载

`rea update` 更新拥有当前 CLI 的 npm 或 Bun 全局安装;用 `npx` 装的则重跑 `npx rea-agents@latest setup` 刷新。`rea uninstall` 只删除 REA 自己的注册和技能文件,`--purge-data` 连缓存与状态一起删;两者都不动 Hopper、Node.js、Evidence 文件和其他无关技能。

命令

rea updatenpx rea-agents@latest setuprea uninstallrea uninstall --purge-data

REA 对比手工折腾,对比纯技能包

诚实的对比对象不是人类逆向工程师,而是同一个智能体只带 shell、没有工具时,以及只发说明书、不带服务器的技能包。

维度智能体 + shell,没有 REA智能体 + REA
工具接线你把命令和路径粘进对话,模型猜该用哪个反编译器参数。技能按目标类型选工具,工具带 schema;服务器校验参数并返回结构化 Evidence。
证据只有智能体引用的片段,没有它来自哪个文件、哪个偏移的记录。结论带着证据和局限,未知项保留在列表里,而不是被抹平。
大输出300 MB 的转储要么撑爆上下文窗口,要么被 `head` 截断。Evidence 先落盘再投影——摘要、模块页或单个模块——才进入模型。
纯技能包逆向技能包教方法,但不注册工具,智能体照样得 shell 出去。REA 两半都发:技能,以及技能描述的 MCP 服务器/CLI。只装技能也可以,但工具会缺席。

法律与安全边界——来自项目本身,不是这里编的

边界由 REA 自己的 DISCLAIMER.md 和 SECURITY.md 划出,比这类工具周边的宣传要严格。一句话版本:能分析某款软件,不等于被允许分析它。

  • 官方认可的用途:安全研究、恶意软件与事件分析、漏洞研究与协同披露、CTF 与教学、互操作性、软件保存,以及审计你自己拥有或获授权检查的软件。
  • 明确不协助:绕过 DRM、许可校验、反作弊或其他技术保护措施;做游戏外挂或篡改线上服务;绕过你无权测试的认证与访问控制;复制专有代码与素材;规避模型服务商的使用政策。
  • 授权要你自己落实。二进制公开可得、手里有这个文件、或能连上调试端点,都不等于获得许可;在你所在的司法辖区,逆向工程还可能受法律或软件许可限制。
  • 商业工具仍然是商业的:IDA Pro/Hex-Rays、Hopper、JEB 必须合法获得并持有许可。REA 不提供任何 key、许可或激活,破解版和共享 key 都不被授权。

SECURITY.md 里还有两点很实际:REA 不是沙箱——CLI 和 MCP 以你账号的权限运行;目标文件、抓包和网页都是不可信数据,二进制里嵌的一句话不是你的指令。分析非自己构建的东西时用一次性虚拟机或容器,运行时工作流绝不要指向你不拥有的系统。

装之前:五个诚实的提醒

这些都不是不装的理由,而是先拿一个目标试一下的理由。

  • 1这是一个迭代很快的第三方项目:npm 版本三周内从 6.8.0 走到 6.9.0,文档也提醒从 `main` 装的技能可能描述旧版 npm 没有的能力。以连上的服务器给出的工具列表为准,别只信技能文本。
  • 2客户端覆盖广但不齐:有些 ID 需要更新的 rea-agents(droid、dsh、kimi、qoder、trae、workbuddy、zcode 从 6.5.0 起;freebuff 从 6.8.0 起),`lm_studio` 则需要 6.8.0 之后的版本。
  • 3setup 会写你的智能体配置和技能目录。它保留 `.rea.backup` 快照,也拒绝覆盖它无法校验的文件,但它没法与另一个同时在写同一文件的人协调——按文档要求,先把客户端退干净。
  • 4引擎配置是最容易绊人的地方。Hopper 是商业软件、demo 有限制,自动安装只覆盖 macOS 和 x86_64 Linux,其他架构文档建议用 Ghidra。缺引擎时 doctor 的整体 `healthy` 会是 false;文档说这很正常,只要你的工作流能跑就行,它只影响原生伪代码。
  • 5上下文与隐私:Evidence 是智能体读的,也就意味着你的模型服务商也读到了。分析在本机,但结果不是——敏感目标请换本地模型,或者干脆别进这个回路。

DeepSeek Harness 与相邻的技能包

REA 的 README 没提 DeepSeek Harness,但这个包能在那里注册:`dsh` 就是 setup 的客户端 ID 之一,DSH 目录里既有 REA 项目本身,也有社区适配层。zhaofeng130/dsh-rea 是非官方适配器,注册 `reverse-engineer-anything` 技能和 `rea`、`rea_doctor` 两个工具,并明确说明不打包 REA 本体。dhicoc/dsh-reverse-skill 又是另一回事:reverse-skill 技能包(87 个 SKILL.md,覆盖逆向、授权渗透测试与 CTF)的移植,与 REA 无依赖关系。两者都与 morluto/rea 没有隶属关系——装之前先读一遍。

REA 常见问题

继续阅读