rea.run

2026-10-16

从零跑通 REA:装机、证据、第一个 Electron 任务

REA 入门指南封面:装机、Evidence,以及在授权目标上的第一个免引擎 Electron 任务。
rea.run 运维入门指南头图(2026-10-16)。教学钉版 [email protected]。仅授权/自有/清洁室目标。

这是 rea.run 上的 REA(Reverse Engineer Anything)运维入门长文。目标:装好、用 Evidence 验证、在你有权分析的目标上跑通一个免引擎的 Electron/JavaScript 任务。本站教学钉版:[email protected]。英文孪生:/blog/rea-beginner-guide/。版本细节另见:/zh/blog/rea-agents-6-5-0/。

REA 入门路径总览:Agent ↔ REA ↔ Hopper/Ghidra/IDA。
REA 入门路径总览:Agent ↔ REA ↔ Hopper/Ghidra/IDA。

读完你能带走什么

关卡通过标准
Nodenode -v 为 22.19+、24.11+ 或 26+(不是 23/25/预览版)
钉版能跑 npx -y [email protected] doctor --json
重启setup 后 MCP 客户端已完全退出再开
首任务免引擎 analyze-javascript-application(或 Agent skill)在授权路径上返回 JSON/MD
Evidence 习惯你留下的每条结论都有位置/摘要/未知清单
合规目标为自有/授权/清洁室——/zh/compliance/ · /zh/faq/legal-boundary/

最短路径(可收藏):装好受支持的 Node → npx -y [email protected] setup → doctor --json → 重启 Agent → 拆一个你有权检查的 Electron/JS 应用 → 读 Evidence → 再决定要不要 Hopper/Ghidra/IDA。交互安装演示:/zh/docs/install-demo/。动手实验室:/zh/lab/。

一、REA 到底是什么

逆向工程与 MCP:弄懂这两词,REA 的位置就清楚了。
逆向工程与 MCP:弄懂这两词,REA 的位置就清楚了。

逆向工程就是把做好的东西拆开,看它怎么做成的——玩具里的齿轮,或打包好的程序文件。适用于你自有软件、持有书面授权,或清洁室/许可夹具。未授权商业逆向不在本站范围内(/zh/faq/legal-boundary/)。

MCP(Model Context Protocol)是给 AI Agent 装「手」的统一接口:打印机、计算器、档案柜——在这里是逆向工具。没有 MCP,聊天框只能让你粘贴文本。

REA 钉在中间。左边:你的 Agent(Claude Code、Codex、Cursor 等,见 /zh/docs/clients/ 矩阵)。右边:Hopper、Ghidra、IDA(原生二进制需自备)。REA 是 MCP 服务器/CLI,把 Agent 意图翻成工具指令,再用大白话返回带 Evidence 的结果。上游定位很克制:它不是新的反编译器——是接口层。工具仓库:morluto/rea。npm 包:rea-agents。

传统逆向工具(Ghidra、IDA)仅网页聊天REA + Agent
谁在操作你自己;得看得懂汇编只会说;碰不到本地文件Agent 自己动手
没有源码时能拆;结果要你自己啃完全没辙能拆,还能用大白话讲
结论可核对吗你自己判断可能一本正经地瞎编每条结论带 Evidence/未知

发现信号(不是安装 SLA):公开仓库 morluto/rea 在 2026-10-16 GitHub API 快照约为 27.5 万 star、6.9 万 fork(创建于 2026-04-14)。计数会变——引用前请重抓。星标 ≠ 许可,也 ≠ 本机 doctor 绿灯(/zh/blog/evaluating-rea-claims/)。

二、能干什么·不能干什么

能力分档:先免引擎,再自备引擎,再目标专属配套。
能力分档:先免引擎,再自备引擎,再目标专属配套。

能干的(按额外要装多少分档)

档次能拆什么要额外装东西吗
最省事JavaScript/Electron 应用、网站、SQLite、网页存档、包与资源不用——Node + rea-agents
中等原生二进制(Mach-O、ELF、PE、Mac .app)、Go、.NET、WASM、EVM、Linux 崩溃转储配一个分析引擎(Hopper/Ghidra/IDA)
要折腾Android APK 与设备、固件、抓包、录制逻辑信号、JEB 工程、Flutter目标专属配套(ADB、JEB、Wireshark…)

新手先盯第一档。Electron 应用(VS Code、Notion 等桌面软件)是网页技术包成桌面端——门槛最低,不必 Hopper。装好后可走 /zh/lab/dino-speed/ 或 /zh/lab/calculator-percent/ 做引导练习。

不能干的

  1. 不给你原始源码。输出是反编译/分析器还原:逻辑可以是真的;local_18/sub_401230 这类命名是猜的。
  2. REA 在本机分析目标——目标文件不经 REA 上传。你家 Agent 所用模型仍有自己的数据政策;那条线单独算。
  3. 它支持「看懂」,不是「整包复制上线」。在授权下用自己的表述与资产重建——见 /zh/compliance/。

三、下载和装

安装顺序:Node → setup → doctor → 重启 → 免引擎冒烟。
安装顺序:Node → setup → doctor → 重启 → 免引擎冒烟。

先走命令行——报错最直白——再注册 Agent。站内安装文档:/zh/docs/install/ · 演示流程 /zh/docs/install-demo/。

第一步:装 Node.js

版本挑得很细:只认 22.x ≥22.19、24.x ≥24.11,或 26+。23 与 25(以及预览版)不行。setup 不会替你升级 Node,也不会替引擎装 Java/Python。

node -v
# 期望 22.19+、24.11+ 或 26+
# nvm 示例:
nvm install --lts
nvm use --lts

第二步:一条命令装(钉 6.5.0)

npx -y [email protected] setup
# 交互:选客户端、可选 Hopper、审计划、批准

npx 临时下载跑完即可——新手最干净。全局替代:

npm install --global [email protected]
rea --help

第三步:setup 会问你什么

客户端(示例)填写值
Claude Codeclaude_code
Codexcodex
Cursorcursor
Gemini CLIgemini_cli
VS Codevscode

完整客户端矩阵(约二十个 id,含 6.5.0 新增行):/zh/docs/clients/。检测到 ≠ 自动勾选——已装过的默认选中;新发现的只列出、不强制勾。

第二问:Mac 上可选装 Hopper(厂商收费工具)。第一次建议不装——第一档根本不需要。第三问:审计划(文件、命令、下载来源)再批准。两次批准是常态:npm 下包一次,REA 改配置再一次。想先看计划:

npx -y [email protected] setup --client codex --dry-run

第四步:装完先做三件事

1. 体检(只读):

npx -y [email protected] doctor --json
# 限定范围示例:
npx -y [email protected] doctor --provider ghidra --json
npx -y [email protected] doctor --client codex --json

healthy: false 常常只是「全矩阵里某块你没装」,不等于「第一档也跑不了」。把体检范围收窄到你真正要用的客户端/引擎。

2. 把 Agent 完全退掉再开。MCP 注册写在配置文件里;已开着的会话不会自动读到。典型症状:doctor 绿灯,聊天却说「没有这个工具」。

3. 免引擎冒烟(绝对路径;仅授权目标):

npx -y [email protected] analyze-javascript-application "/ABS/PATH/TO/YourApp.app" --json
# Electron ASAR 示例形态(macOS),仅当你有权检查该副本:
# npx -y [email protected] analyze-javascript-application \
#   "/Applications/YourApp.app/Contents/Resources/app.asar" --format json \
#   --integrity-policy=record-and-continue

带签名原生 .node 模块的应用常撞上 artifact_integrity_mismatch。加 --integrity-policy=record-and-continue 会把校验从「对不上就停」改成「记下来接着跑」——是这类打包的常态,不等于你装错了。

更新与卸载

rea update                         # 全局安装用这句
npx -y [email protected] setup      # npx/重新注册
rea uninstall                      # 只摘 REA 写进去的配置与说明书
rea uninstall --purge-data         # 连缓存/状态一起清

卸载不动 Hopper、Node、你自己的抓包,以及其他 MCP 服务器。

四、三个分析引擎怎么挑

Hopper/Ghidra/IDA:费用、安装摩擦、适合谁。
Hopper/Ghidra/IDA:费用、安装摩擦、适合谁。

JavaScript/Electron/网站/SQLite 可以完全不装引擎。引擎是给原生机器码准备的。正确顺序:先用第一档跑通 Agent 闭环,再为二进制付学费。

HopperGhidraIDA
费用收费;功能受限试用免费开源收费(通常最贵)
来源商业产品NSA 开源放出老牌商业逆向套件
安装Mac 上 REA 可协助自备 JDK + Ghidra;把路径告诉 REA跟厂商手册;自备
适合Mac、想少折腾预算为零、愿意动手已有许可的专业用户

三个里装一个就够。同一次分析多个都能干时,要加 --provider/provider_id,否则它不知道该叫谁。setup 与引擎 FAQ:/zh/faq/setup-vs-providers/。Ghidra 笔记:/zh/blog/ghidra-mcp-with-rea/。

Ghidra(免费那条路)

export GHIDRA_INSTALL_DIR=/path/to/ghidra_12.1.4_PUBLIC
export JAVA_HOME=/path/to/jdk-21   # java 已在 PATH 则可省
npx -y [email protected] doctor --json
npx -y [email protected] setup      # 把路径存进去

上游教学钉版常点名 Ghidra 12.1.x 与 JDK 21+(64 位,带 javac)。REA 不会替你下 Ghidra 或 Java。

Hopper(Mac 省事)

Mac 上 setup 可能提供 Hopper:下官方包、校验大小与摘要、装到 ~/Applications/,再打开试用或输授权。该路径不需要 Homebrew/管理员权限。卸载 REA 不会带走 Hopper。试用限制由厂商定。macOS 自动化权限在「系统设置 → 隐私与安全性 → 自动化」。

启动超时

export REA_HOPPER_STARTUP_TIMEOUT_MS=300000
export REA_GHIDRA_STARTUP_TIMEOUT_MS=300000

环境变量要设在启动 REA 的那一层。同时把 Agent 自己的请求超时放宽——REA 肯等,客户端先断也没用。

五、第一个任务(免引擎 Electron/JS)

第一次授权的 Electron/JavaScript 分析:模块、引用、三层边界。
第一次授权的 Electron/JavaScript 分析:模块、引用、三层边界。

挑一个你有权分析的桌面应用(自建、许可夹具、书面授权)。路径必须是绝对路径。./app 相对路径会找不到。

npx -y [email protected] analyze-javascript-application /Applications/YourApp.app --json

JSON 里重点看:模块清单、引用/依赖边,以及 Electron 边界——渲染层(界面)、预加载层(桥)、主进程(系统能力)。界面默认碰不到系统 API;要经预加载桥喊主进程。把这些桥标出来,就是第一档的教学收获。

某次授权的 Claude Desktop ASAR 实测规模(运维实验笔记——你的数字会不同;不要当成通用 SLA):数百个文件、数千条发现、带名字的原生模块(如电脑操作/终端类 .node),以及数十到上百条 IPC 频道名。大文件可能在 limitations 里写「堆爆了,只保留部分事实」——这种诚实是特性。

npx -y [email protected] analyze-javascript-application \
  "/Applications/YourApp.app/Contents/Resources/app.asar" \
  --format md --integrity-policy=record-and-continue \
  > ~/Desktop/analysis.md

REA 只往终端打结果,不自动落盘。自己重定向。--format 可选 md、json、yaml、jsonl。只要切片时用 --filter-output statistics,summary。6.5.0 的精确路径选择与保留 Evidence 分页见 /zh/blog/rea-agents-6-5-0/,本页不重复整篇版本指南。

六、证据:REA 最值钱的地方

证据优先:结论带位置、摘要,并显式列出未知。
证据优先:结论带位置、摘要,并显式列出未知。

上游设计原则第一条是证据优先:每条结论应说明*凭什么*——文件位置/路径、摘要、JSON 路径——并单独列出这次分析没能确定的事。多数工具只报发现;REA 也会报缺口。

运维为何在意:模型不确定时会编得像真的。聊天里最多尴尬;逆向里会带你走错几小时。Evidence 把「信我」变成「你去核」。但仍注意:证据也是工具输出——工具会错。价值在可核对,不在「一定对」(/zh/blog/evaluating-rea-claims/)。

七、让 Agent 自己干

命令行用来证明管子通了。真正用法是 Agent 带着 skill 调 MCP。setup 会写 MCP 注册和说明书。只有 skill 或只有 MCP,Agent 都是半武装。

# 若 MCP 已注册,只刷新说明书:
npx skills add morluto/rea --skill reverse-engineer-anything

对齐 REA 用法的提示词模板:

拆一下[授权目标]里的[某个功能]。
1. 用大白话讲它怎么实现
2. 每条结论带上 Evidence
3. 没能确定的地方单独列出
4. 再按这个思路,在*我的*仓库写*我自己的*版本

每次都主动要不确定清单。超大 ASAR/图优先落盘再切片分析——否则 Agent 上下文会爆(见站内省 token FAQ)。Agent 实验室安全姿态:/zh/blog/rea-agent-security-posture/。

带 REA skill 的 Agent 闭环:提问、Evidence、未知、在自家仓库重建。
带 REA skill 的 Agent 闭环:提问、Evidence、未知、在自家仓库重建。

八、三个案例尺度

用来感受「分辨率」有多细——不是许可你去拆任意商业软件。

DX-Ball(1996 打砖块)。社区重建还原了立体声像计算;站内记载 3,205 = 641 × 5 行为用例。完整 Evidence:/zh/showcase/dx-ball/。发现帖孪生:/zh/blog/dx-ball-rea-discovery/。

DX-Ball 声像还原尺度:Evidence 优先于口号。
DX-Ball 声像还原尺度:Evidence 优先于口号。

Notion 类 Electron 剪贴板链路。把「复制」从渲染层追到预加载桥、主进程、再到系统剪贴板——第五节三层模型的活示范。仅限你有权检查的副本。

跨渲染层、预加载与主进程的 Electron 剪贴板路径。
跨渲染层、预加载与主进程的 Electron 剪贴板路径。

TH04/PC-98 子弹环计算。说明在自备引擎、有权持有夹具时,目标可以有多老、多偏门。同一课:还原具体计算,而不是气氛。

九、坑集锦

常见安装与预期踩坑清单。
常见安装与预期踩坑清单。
  1. 没重启 Agent——doctor 查的是文件,不是当前会话连接。
  2. Node 差一点点——22.18、23、25 直接拒绝;先看 node -v。
  3. 看到 healthy: false 就慌——把体检收窄到你的客户端/引擎。
  4. 只点一次同意——下包与改配置是两次;先 --dry-run。
  5. 指望原始源码——你拿到的是伪代码与猜测命名。
  6. 敏感目标进模型上下文——REA 本机分析;模型厂商政策另算。
  7. 一上来就装引擎——先跑通第一档。
  8. 相对路径——写绝对路径;macOS 入口写到 .app 那一层。
  9. 有没有权利——好奇之前先授权(/zh/faq/legal-boundary/)。

十、常见问题

问答总览:引擎、客户端、源码与伪代码、Windows 备注。
问答总览:引擎、客户端、源码与伪代码、Windows 备注。
问题短答
必须装 Hopper 或 Ghidra 吗?JS/Electron/网站/SQLite 静态分析不必
Hopper 要提前打开吗?不用——需要时 REA 会启动
哪些 Agent 能用?支持本地 MCP 的客户端;矩阵见 /zh/docs/clients/
返回的是源码吗?不是——伪代码/还原事实
软件会上传吗?不经 REA;模型厂商政策另算
支持 Windows 吗?Agent 侧可用;Windows 上 Ghidra 多为实验状态;Hopper 自动安装偏 Mac;主力是 Mac/Linux
升级/会留垃圾吗?见第三节;卸载只摘 REA 自己写进去的
教学实验室钉哪版?本站 [email protected]——/zh/blog/rea-agents-6-5-0/

收束清单

运维收束清单:Node、setup、doctor、重启、Evidence,再谈引擎。
运维收束清单:Node、setup、doctor、重启、Evidence,再谈引擎。
  • REA = 钉在 Agent 与 Hopper/Ghidra/IDA 之间的 MCP/CLI 工具箱
  • 两个词:逆向 = 拆开看;MCP = 给模型装的手
  • 装完三件:doctor --json → 重启 Agent → 免引擎命令
  • 第一档可以零引擎
  • Evidence + 未知 优于气氛
  • 口诀:先免引擎跑通;要结论就顺手要证据

读完本页后常用的 Agent 一句话(每次批准仍要自己审):

帮我安装 [email protected],相关 skill 与 MCP 一并装上,把受支持的 Node/运行时准备好,
然后只分析我有权检查的目标。
仓库:https://github.com/morluto/rea
指南收尾:钉 6.5.0、Evidence 优先、仅授权目标。
指南收尾:钉 6.5.0、Evidence 优先、仅授权目标。

合规

  • 仅授权/自有/清洁室目标。无破解、keygen、绕 DRM 教程(/zh/compliance/、/zh/faq/legal-boundary/)。
  • 引擎与配套(Hopper、Ghidra、IDA、JEB、Wireshark…)一律自备,走厂商官方渠道。
  • rea.run 是社区运维指南;页脚声明保持原样——正文标题不堆「非官方」。
  • 主 CTA 留在 rea.run;GitHub 是工具仓库脚注。

来源