5 幕上手 REA:逆向分析 CLI 从安装到接入 AI 智能体的完整实操指南
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
REA(Reverse Engineer Anything)是一款开源逆向分析 CLI:装完后终端里多一条rea命令,能检查本地应用行为、解析 JavaScript / Electron 应用的模块结构、分析原生二进制,且每个结论都附带证据;再跑一次rea setup,就能把这套能力注册进 Claude Code、Codex、Cursor 等 AI 智能体,全程在本地机器上完成分析。
这篇文章不按"安装→排错→进阶"的线性顺序写,而是按你此刻卡在哪组织:想把它装起来,看第一幕;装完想确认没问题,看第二幕;想让 AI 调用它,看第三幕;日常升级回滚卸载,看第四幕;报错了对着查,看第五幕。每一幕的标题就是这一幕要达成的结果,直接从你需要的地方读起即可。
🧭 决策前置:先查表,再动手
结论先说:三条安装路径装出来的是同一个工具,先判断自己属于哪一行,再敲命令,能省掉大部分返工。
| 你的情况 | 适用路径 | 安装命令 | rea 落点 | 注意 |
|---|---|---|---|---|
| macOS / 64 位 Linux,打算长期用 | curl 脚本 | 见第一幕 A 路线 | Linux 固定~/.local/bin/rea;macOS 跟随 npm 全局前缀 | 脚本自带 Node 版本自检,不满足直接拒绝 |
| Windows,长期用 | npm 全局安装 | npm install --global rea-agents | npm 全局 bin 目录 | curl 脚本不支持 Windows,这是唯一路径 |
| 只想跑一次 / CI 流水线 | npx 临时执行 | npx -y rea-agents@latest <子命令> | 不落盘 | 每次按需拉起最新版 |
三条路径共同的 Node.js 前提(安装器会硬性校验,23、25 与预发布版都不在支持区间内):
| Node.js 区间 | 是否支持 |
|---|---|
| 22.x,且 ≥ 22.23.4 | 支持 |
| 24.x,且 ≥ 24.22.1 | 支持 |
| 26.12.1 及以上 | 支持 |
| 其余(含 23、25、预发布) | 不支持,且安装器不会替你升级 |
📦 第一幕|我要把它装进终端:三条路径逐条给命令
A 路线:macOS / Linux 一条命令装好
curl -fsSL https://raw.githubusercontent.com/morluto/rea/main/install.sh | bash脚本按"自检 → 打印安装计划 → 执行"三段走:先确认平台、curl、Node.js、npm 是否可用(不满足直接退出);再打印目标版本、Node 运行时、将执行的 npm 命令和 rea 的落点路径;最后执行一次全局 npm 安装,Linux 上显式指定--prefix ~/.local,所以落点固定在~/.local/bin/rea。装完且终端可用时,自动进入rea setup交互。
授权边界:这一步只下载并安装rea-agents这个 npm 包,不改任何智能体配置、不安装 Hopper,网络访问只发生在 npm 仓库与版本查询之间。
想装之前先探路,加--dry-run只打印计划、不动任何东西:
curl -fsSL https://raw.githubusercontent.com/morluto/rea/main/install.sh | bash -s -- --dry-run其余常用参数(都通过bash -s --传给脚本):
| 参数 | 用途 |
|---|---|
--version <精确版本号> | 锁定版本,回滚靠它;必须是完整语义化版本号 |
--no-setup/--no-prompt | 跳过装完后的自动 setup,适合无头环境 |
--verbose | 输出详细日志 |
B 路线:Windows 走 npm
npm install --global rea-agents装完敲rea能进入帮助输出即安装成功。说人话:Windows 上没有第二条官方路径,npm 就是全部。
C 路线:什么都不装,原地跑
npx -y rea-agents@latest --help适合"就这一次"或 CI 流水线:每次按需拉起最新版,不写入全局目录,机器上不留痕迹。授权边界:除 npm 缓存外不修改系统任何位置。
Linux 用户多一步前提
启动 Ghidra、JADX、固件工具以及静态 JavaScript 分析的工作流时,需要 PATH 上有 procps 兼容的ps,装发行版的procps包即可。缺失时相关命令会在启动子进程前直接拒绝,报capability_unavailable或provider_unavailable。
🩺 第二幕|装完先自检:两条命令确认没问题
结论先说:rea doctor --json是这套工具里最安全的命令,严格只读,先跑它。
先验证可执行文件本身没装坏:
rea --help出现正常帮助输出,安装本体就没问题。再跑只读体检:
rea doctor --json它输出当前主机的运行前提与各智能体注册状态,不写任何文件。报告里healthy为 false 不一定代表你的工作流不可用——它会审计全部检测到的注册项与可选分析引擎,整体值只是汇总,具体看各检查项。
装完顺手做一次最小实弹测试:对一个解包好的 JavaScript 应用目录跑静态分析,不需要任何原生分析引擎:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json授权边界:该命令只读取你指定的目标目录,不联网、不改系统。
找不到命令时,对一下落点
如果终端报rea: command not found,几乎都是 PATH 没包含可执行文件所在目录。按安装路径对一下:
| 装法 | 落点 |
|---|---|
| curl 脚本(Linux) | ~/.local/bin/rea |
| curl 脚本(macOS) | npm prefix --global指向的bin/rea |
项目内npm install rea-agents(无--global) | 只落在项目node_modules/.bin,PATH 里没有 |
Linux 上的修法是在~/.bashrc或~/.zshrc末尾追加一行,然后重开终端验证:
export PATH="$HOME/.local/bin:$PATH"授权边界:这一行只改当前用户的 shell 启动脚本,不碰系统文件或其他用户配置。第三种落点则是补--global重装。
🤖 第三幕|让它被 AI 调用:setup 一次配通
只装 CLI 手里只有一个终端工具;要让智能体真正调用 REA,需要再跑一次 setup,把 REA 的 MCP 服务器(MCP:AI 智能体调用本地工具的标准协议)注册进智能体配置。
npx rea-agents setup全局安装后也可以直接rea setup。它依次做三件事:
- 多选要配置的智能体——官方支持 Claude Code、Codex、Cursor、Gemini CLI 等二十余种客户端;
- 列出一份精确的修改计划:涉及的每个配置路径、外部软件与网络来源,你批准后才写文件,旧配置自动备份;
- Hopper 是独立选项,需要单独批准才安装;不批准就复用已有的 Hopper、Ghidra 或 IDA。
注意这里有两次相互独立的批准:npm 弹窗问"下载并运行"时,确认的只是下载这个包;之后 setup 改智能体配置或装 Hopper,会另起计划、另行请求批准。别把两者当成一回事。
授权边界:setup 只写你选中的智能体配置文件并安装 REA 工作流说明文件,不动其他 MCP 服务器条目和无关配置;旧配置写入前备份,任意一步取消即零改动。
脚本化场景下的常用开关:
| 参数 | 作用 |
|---|---|
--client codex | 跳过交互多选,精确指定客户端(可重复) |
--dry-run | 只返回只读计划,状态planned,退出码 0 |
--json | 输出计划与就绪投影,供流水线消费 |
--yes | 非交互确认;裸用--yes只作用于 REA 已拥有的注册 |
--skill=false | 不装 REA 工作流说明,只配 MCP 注册 |
--install-hopper | 与--yes搭配,非交互批准 Hopper 安装 |
只想给智能体一份"怎么用 REA"的说明、不注册 MCP、不装引擎,用这条:
npx skills add morluto/rea --skill reverse-engineer-anything配完想确认某个客户端的注册是否正确,用带 client ID 的范围检查(client ID 对照表见 docs/installation.md):
rea doctor --client codex --jsonsetup 完成后,重启消息里点名的那个智能体即可开工。
🔁 第四幕|长期怎么打理:升级、锁版本、卸载三条命令
升级:只动拥有当前 CLI 的那份安装
rea update它只更新拥有当前 CLI 的那个 npm 或 Bun 全局安装,完成后会打印一条刷新智能体注册的 setup 命令——跑掉它、批准、重启智能体即可。源码检出和 npx 临时执行不走这条路:npx 路线用npx rea-agents@latest setup刷新。
锁版本 / 回滚:必须精确版本号
curl 脚本加--version 6.7.0(必须完整语义化版本,不带构建元数据),npm 直接:
npm install --global rea-agents@6.7.0一个容易踩的坑:智能体的 MCP 注册锁在"真正执行 setup 的那个版本"上,回滚 CLI 不会自动刷新注册,回滚后把 setup 再跑一遍对齐。
卸载:分清"注册"和"数据"
rea uninstall rea uninstall --purge-data前者只移除 REA 自己拥有的智能体注册与 skill 文件;后者额外清掉~/.rea下的 REA 缓存与状态。授权边界:卸载保留 Hopper、Node.js、无关的 skill 与其他 MCP 服务器;遇到格式损坏或不可读的智能体配置,会在删除任何内容之前中止。当前发布的版本号可用npm view rea-agents dist-tags.latest查询。
🚨 第五幕|卡住了怎么办:高频报错速查
固定骨架:报错关键词 → 原因 → 可直接复制的处理命令。
报错一:REA installation failed: Node.js x.x.x is unsupported
- 原因:当前 Node 不在支持区间(22.x ≥ 22.23.4 / 24.x ≥ 24.22.1 / 26.12.1+),23、25 与预发布版均不在其内,且安装器不会替你升级 Node。
- 处理:先对版本,再切到受支持的主版本重跑安装:
node -v nvm install 24 && nvm use 24报错二:rea: command not found
- 原因:PATH 没包含可执行文件所在目录,见第二幕的落点对照表。
- 处理:按落点补 PATH(Linux 追加
~/.local/bin),或确认当时是否漏了--global:
export PATH="$HOME/.local/bin:$PATH"报错三:provider_unavailable/capability_unavailable
- 原因:深度原生分析需要 Hopper、Ghidra、IDA 三者之一,当前主机一个都没有;Linux 上也可能是 PATH 缺少 procps 的
ps。静态 JavaScript 与 .NET 检查不受影响。 - 处理:先按引擎范围查状态,再决定补装或复用:
rea doctor --provider hopper --json rea doctor --provider ghidra --json引擎缺失就重跑rea setup并批准 Hopper 安装选项;已有 Ghidra 或 IDA 的,在 setup 里选择复用现有安装。Linux 缺ps的,装发行版的procps包。
报错四:ERR_MODULE_NOT_FOUND(npx 安装下,doctor 都起不来)
- 原因:npx 缓存里那份
rea-agents安装缺文件,重复执行同一条 npx 命令会复用它。 - 处理:定位缓存条目,删掉那一条再重跑,不必清整个 npm 缓存:
npm cache npx ls npm cache npx rm <报错路径里对应的缓存键> npx -y rea-agents@latest doctor --json报错五:CLI 已回滚,智能体行为却还像旧版本
- 原因:MCP 注册锁在实际执行 setup 时使用的版本,回滚不会自动刷新注册。
- 处理:重跑
rea setup,批准变更计划,再重启智能体。
🚪 下一步去哪:按深度分层的进阶路径
装、自检、接入、打理四个环节都跑通后,往下挖按这个顺序走:
- 日常命令与退出码约定:docs/cli.md——doctor、update、uninstall 的完整用法、JSON 输出结构与退出状态;
- setup 与客户端细节:docs/installation.md——受支持智能体清单、Hopper 安装机制、按项目/按配置目录限制 REA 范围;docs/client-configuration.md——各客户端的配置路径与故障排查;
- 挑一种分析引擎深入:docs/ghidra-provider.md、docs/ida-provider.md,以及按任务类型检索各类工件的分析指南总索引 docs/index.md;
- 读实现:各家分析器(Hopper、Ghidra、Cutter 等)的桥接代码在 bridge/,MCP 服务器侧逻辑在 src/server/,想理解某个结论从哪来,从这里入手。
说人话:前两份文档覆盖 90% 的日常维护问题;后两层是给"想知其所以然"的人准备的,按需再进。
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考