1. 准备电脑
在存放目标文件的电脑上操作。本地编程助手可以读取这些文件,并帮你运行分析工具。
怎么打开终端?
- Windows:打开开始菜单,输入 PowerShell,按 Enter。
- macOS:按 ⌘ Space,输入 Terminal,按 Enter。
- Linux:多数桌面环境可以按 Ctrl Alt T。
用 Ctrl V 粘贴命令(macOS:⌘ V;Linux 终端:Ctrl Shift V),再按 Enter。
命令粘贴到终端;标着“你的编程助手”的提问粘贴到助手的聊天框。
需要 Node.js 22(22.19+)、24(24.11+)或 26+。npm 会随 Node.js 一起安装。
还没安装 Node.js,或不确定?
打开终端,检查版本:
node -v
npm -v
如果 node -v 显示 v22.19+、v24.11+ 或 v26+,就可以继续。如果版本更旧,或显示“无法识别”/“command not found”,先安装 Node.js 24 LTS:
Windows (PowerShell)
winget install --exact --id OpenJS.NodeJS.LTS
如果提示接受条款,输入 Y。关闭 PowerShell,再次打开,然后运行 node -v。
如果没有 winget,可以下载 Node.js 安装程序。
如果运行 npx 时 PowerShell 提示“此系统上禁止运行脚本”,改用 npx.cmd。npm 则改用 npm.cmd:
npx.cmd rea-agents@latest setup
macOS
首次安装时,下载 Node.js 24 LTS 的 macOS 安装包(.pkg),打开并按提示安装,然后重新打开终端。
已经在使用 Homebrew?
brew install node
Linux
如果没有 curl 和 unzip,先安装它们。Debian 或 Ubuntu 使用 sudo apt install curl unzip;其他发行版使用对应的包管理器。
curl -fsSL https://fnm.vercel.app/install | bash
关闭终端,重新打开,再运行:
fnm install 24
fnm use 24
fnm default 24
发行版自带的 nodejs 包经常早于 22.19。如果使用它,请用 node -v 确认版本。
更喜欢普通安装包?从 nodejs.org 下载 LTS 版。
为编程助手建一个工作文件夹
在终端中为练习建一个文件夹,然后进入它:
mkdir rea-work
cd rea-work
下一步继续使用这个终端。如果已经有工作文件夹,进入那个文件夹即可。
2. 选择编程助手
你和编程助手对话,它调用 REA 来分析软件。从下面选一个客户端;第一次使用就展开它的安装步骤。
Codex · 使用 ChatGPT 账号
使用适合你操作系统的命令安装 Codex:
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
curl -fsSL https://chatgpt.com/codex/install.sh | sh
安装后,重新打开终端并回到工作文件夹,再启动 Codex:
codex
选择“Sign in with ChatGPT”,在浏览器中登录后回到终端。看到消息输入框后,继续第 3 步。
Cursor、Windsurf 或 VS Code · 使用编辑器
- 安装适合你操作系统的编辑器,然后登录。
- 打开第 1 步创建的 rea-work 文件夹。
- 打开 AI 聊天面板,选择 Agent 模式。Windsurf 或 Devin Desktop 使用其助手聊天面板;VS Code 先配置 GitHub Copilot。
Cursor 安装 · Windsurf / Devin Desktop 安装 · VS Code 与 Copilot 配置
Claude Code · 使用 Claude 账号
使用适合你操作系统的安装命令:
irm https://claude.ai/install.ps1 | iex
curl -fsSL https://claude.ai/install.sh | bash
重新打开终端,回到工作文件夹并运行 claude,按提示登录。你需要符合条件的 Claude 订阅或已配置的 API 账号。
Claude Desktop · 使用桌面聊天应用
在 Windows 或 macOS 上安装 Claude Desktop 并登录。先完全退出它,再在 Claude 之外打开一个终端,运行这条命令:
npx rea-agents@latest setup --client claude_desktop
查看并确认计划,重新打开 Claude,再按第 3 步检查连接。
OpenCode · 选择 AI 模型
npm install --global opencode-ai
在工作文件夹里运行 opencode。在聊天框中使用 /connect 连接模型账号,再选择模型。
全部支持的客户端与 setup ID
npm 6.4.0 支持下面这些客户端。指定客户端时,在 --client 后填写对应的 ID。
| 客户端 | Setup ID |
|---|---|
| Claude Code | claude_code |
| Claude Desktop | claude_desktop |
| Codex | codex |
| Cursor | cursor |
| Gemini CLI | gemini_cli |
| Windsurf | windsurf |
| Devin | devin |
| OpenCode | opencode |
| Antigravity | antigravity |
| GitHub Copilot CLI | copilot_cli |
| Command Code | commandcode |
| Qwen Code | qwen_code |
| VS Code | vscode |
| Grok Build | grok_build |
| OMP | omp |
| Pi | pi |
| Hermes | hermes |
Qoder(qoder)、Factory Droid(droid)、Trae(trae)、ZCode(zcode)和 DeepSeek Harness(dsh)已在 main 中提供;需要使用源码构建或包含这些集成的新版本。
Grok Bot · 在它的托管电脑上连接
在 Grok Bot 聊天中,请它添加名为 rea 的自定义 MCP 服务,在 Bot 的电脑上运行这条命令:
npx -y rea-agents@6.4.0 mcp
3. 连接 REA
把这段话复制给编程助手:
使用 npx rea-agents@latest setup 安装 REA,并连接到这个编程助手。先展示安装计划,等我确认后再执行,然后验证安装结果。
也可以自己运行 setup
npx rea-agents@latest setup
如果只配置一个指定客户端,附上它的 setup ID:
npx rea-agents@latest setup --client codex
如果 npm 询问是否下载,输入 y 后按 Enter。在 REA 的客户端列表中,用方向键移动、空格键选择,然后按 Enter 继续。
选择客户端,并查看配置计划。REA 会添加 MCP 连接和配套调查技能,同时备份已有配置。确认后才会应用更改。
MCP 让编程助手能够调用 REA;skill 则告诉它分析软件时该怎样使用这些工具。
第一次练习可以跳过可选的 Hopper 安装。setup 完成后,重启客户端。
如何重启客户端?
桌面应用(Claude Desktop、Cursor、Windsurf、VS Code):完全退出后再打开,只关窗口不够。macOS 上按 ⌘ Q;Windows 上,如果有托盘图标,也要从那里退出。
终端助手(Claude Code、Codex、Gemini CLI):退出当前会话,再启动一次。
npx -y rea-agents@latest doctor --client codex --json
把 codex 换成你客户端的 setup ID。检查通过时会显示 "healthy": true。然后问编程助手:
检查 REA 是否已连接,并告诉我你能使用哪些 REA 工具。
4. 开始第一次分析
示例是一个包含六个文件的 Electron 应用,带有Export notes(导出笔记)按钮。助手无需安装或启动 Electron 就能检查代码。
下载 https://rea.tools/examples/notes-example.zip,放进一个新的示例文件夹并解压。用 REA 找出点击 Export notes 后发生了什么。展示 notes.csv 写到哪里、有哪些字段,以及相关文件和行号。
寻找带文件和行号的简短解释:
按钮发送
notes:export消息。主进程把笔记转换为 CSV,并将notes.csv写到用户的下载文件夹。列名为id和title。
自行下载示例,或使用自己的应用
如果助手不能下载文件,你也可以手动解压。把 notes-example 文件夹的路径交给它,再问同一个导出问题。
用 REA 检查
/absolute/path/to/app中的应用。找出它怎样导出数据,并给出相关文件和行号。
怎么取得文件夹的完整路径?
- Windows:在文件资源管理器中右键文件夹,选择“复制文件地址”。Windows 10 上,按住 Shift 再右键。
- macOS:在 Finder 中右键文件夹,按住 Option,选择“将…拷贝为路径名称”。
- 所有系统:把文件夹拖进终端窗口,也能显示路径。
在终端里,包含空格的路径需要加引号。
分析其他类型的软件
按目标类型展开下面的步骤。Provider 指 REA 分析这类软件时使用的本地工具。
原生可执行文件和库 · Hopper、Ghidra 或 IDA
在运行 REA 的电脑上安装一个分析工具。Host 指你使用的操作系统,target 指要分析的程序。
| 分析工具 | Windows | macOS | Linux |
|---|---|---|---|
| Hopper | 不支持 | 12+ | 支持的发行版 |
| Ghidra | x64 · 实验性支持 | x64 / arm64 | x64 / arm64 |
| IDA | 已验证的配置 | 已验证的无界面配置 | 参阅 provider 指南 |
Hopper · 通过 setup 安装或连接
在 macOS 或 Linux 上连接 Hopper。运行上面的 setup 命令,它会检测已有安装,或提出安装计划供你确认。
在 setup 中选择 Hopper,查看它的独立安装计划。macOS 首次打开 Hopper 时选择试用模式或激活许可证;Linux 的 setup 会准备支持的试用版及其专用显示环境。
Linux 支持 Ubuntu 24.04+、Fedora 41+、Nobara 44+、Arch Linux、CachyOS 和 Omarchy。Hopper 是商业软件,试用版有厂商规定的限制。
npx -y rea-agents@latest doctor --provider hopper --json
如果 macOS 请求自动化权限,在“系统设置 → 隐私与安全性 → 自动化”中允许启动 REA 的应用,然后重试。
Ghidra · 安装免费的分析工具和 Java
- 安装包含 Java 编译器的 64 位 JDK 21 或更新版本。下载时选择符合电脑架构的安装包。
-
从 Ghidra 12.1.4 发布页的 Assets 列表下载并解压
ghidra_…_PUBLIC_….zip。选择发布包,不要选择“Source code”。 -
找到解压后包含
ghidraRun或ghidraRun.bat的文件夹,把该文件夹的完整路径填入GHIDRA_INSTALL_DIR。
检查 Java。第一条命令会显示 java.home,将该文件夹用于 JAVA_HOME;第二条确认编译器已安装:
java -XshowSettings:properties -version
javac -version
在 Windows 上连接 Ghidra
Windows x64 提供实验性的只读支持:分析固定本地 NTFS 驱动器上的原生 x86、x64 PE 应用和 DLL。使用已有的 Ghidra 12.1.x 和 64 位 JDK 21 或更新版本:
$env:GHIDRA_INSTALL_DIR = "C:/tools/ghidra_12.1.4_PUBLIC"
$env:JAVA_HOME = "C:/tools/jdk-21"
npx -y rea-agents@latest doctor --provider ghidra --json
npx rea-agents@latest setup
把两个路径换成安装位置,再查看 setup 计划。
连接已有的 Ghidra
export GHIDRA_INSTALL_DIR="/absolute/path/to/ghidra_12.1.4_PUBLIC"
export JAVA_HOME="/absolute/path/to/jdk-21"
把两个路径换成你已有的安装位置。如果刚在 macOS 或 Linux arm64 上解压 Ghidra,先为这台电脑编译原生反编译器,再继续下面的步骤。
编译 Ghidra 的原生反编译器
macOS 编译需要 Xcode Command Line Tools、make 和 bison。选择符合电脑架构的指南:
然后检查 Ghidra,并为客户端保存这些路径:
npx -y rea-agents@latest doctor --provider ghidra --json
npx rea-agents@latest setup
在同一个终端会话中运行这些命令。设置路径后重新运行 setup,确认更新后的客户端配置,再重启编程助手。
IDA · 连接已有安装
按 IDA provider 指南准备上游 MCP 配置。可以连接已打开原始程序的 IDA 界面,或使用创建独立数据库的无界面 supervisor。
已验证的配置包括 Windows 旧版 GUI 与无界面 supervisor,以及 macOS arm64 上的 IDA Professional 9.1 无界面 supervisor。可选的原生 GUI 桥接另有版本和平台要求。
macOS 无界面模式和原生 GUI 桥接需要 REA 源码构建,或包含这些改动的发行版。npm 6.4.0 尚未包含这些改动。
在已构建的源码目录中,运行 node scripts/rea.mjs doctor --provider ida --json 和 node scripts/rea.mjs setup,不要使用下方的 npx 命令。
准备 IDA 配置文件
按下面的 IDA 指南安装并配置上游服务,再用文本编辑器把可用的连接配置保存为 ida-mcp.json。Windows 记事本保存时选择“所有文件”,避免自动添加 .txt。
如果使用提供 idb_open、idb_list 和 idb_close 的无界面 supervisor,文件可以这样写:
{
"command": "idalib-mcp",
"args": ["--stdio", "--max-workers", "1"],
"mode": "headless"
}
如果连接旧版 1.4.0 GUI 服务,把可用的 command、args 和可选的 env 复制到文件中。先在 IDA 中打开原始程序并启动上游插件,再让 REA 分析。
$env:REA_IDA_MCP_CONFIG = "C:/analysis/ida-mcp.json"
$env:REA_ANALYSIS_PROVIDER = "ida"
npx -y rea-agents@latest doctor --provider ida --json
npx rea-agents@latest setup
export REA_IDA_MCP_CONFIG="/absolute/path/to/ida-mcp.json"
export REA_ANALYSIS_PROVIDER="ida"
npx -y rea-agents@latest doctor --provider ida --json
npx rea-agents@latest setup
使用按 provider 指南准备好的 JSON 配置文件,再运行 setup 并重启编程助手。
连接后,把原始可执行文件的完整路径和分析工具名称告诉编程助手:
使用 REA 和我已配置的分析工具检查
/absolute/path/to/program。列出其中的函数和字符串,然后说明处理用户输入的部分,并给出代码引用。
网站、Android、.NET、固件及其他目标
打开对应目标的指南,其中会列出额外工具、支持的平台和第一条分析命令。
| 目标 | 需要准备的工具 | 指南 |
|---|---|---|
| JavaScript / Electron | Node.js + npm | 查看指南 |
| 网站 | Chrome / Chromium / Edge | 查看指南 |
| .NET / Flutter / 软件包 | Node.js + npm | 查看指南 |
| Android APK | JADX + JDK 17+ | 查看指南 |
| Android 设备 | adb | 查看指南 |
| Android 资源 | Apktool + Java | 查看指南 |
| JEB 项目 | JEB + MCP | 查看指南 |
| 固件 | Binwalk / Unblob · Linux | 查看指南 |
| WASM | WABT | 查看指南 |
| SQLite 数据库 | Node.js 24.15+ / 26+ | 查看指南 |
| EVM 字节码 | Node.js · Linux x64 | 查看指南 |
| ELF / Linux 崩溃记录 | pwntools / GDB / pwndbg | 查看指南 |
| HAR / SAZ / mitmproxy | Node.js / mitmdump | 查看指南 |
| PCAP / PCAPNG | TShark / capinfos · Linux | 查看指南 |
| 逻辑信号 | sigrok-cli · Linux | 查看指南 |
| 进程行为 | PTY · Linux / macOS | 查看指南 |
Flutter 指南 · 软件包与资源 · EVM 字节码 · 全部分析指南
在终端中使用 REA
CLI 命令、全局安装与 curl
静态分析 JavaScript 或 Electron 应用目录、ASAR 文件,无需启动应用:
npx -y rea-agents@latest analyze-javascript-application "/absolute/path/to/app" --json
把路径换成解包后的应用目录或 .asar 文件。Windows 上也可以使用 "D:/apps/example" 这样的路径。
在哪里找到应用的 .asar 文件?
Electron 应用通常把它放在 resources 文件夹中:
-
Windows :
C:\Users\<you>\AppData\Local\Programs\<App>\resources\app.asar -
macOS:
/Applications/<App>.app/Contents/Resources/app.asar(右键应用,选择“显示包内容”) -
Linux:通常位于
/opt/<App>/resources/app.asar
有些应用安装在其他位置。在应用目录里搜索 app.asar。
结果会识别应用,展示模块之间的关系,并给出源码位置。REA 无法解析的关系会在结果中注明。
如果希望在 shell 中直接使用 rea 命令:
npm install --global rea-agents
npx -y rea-agents@latest function "/absolute/path/to/program" main --provider ghidra --json
把 main 换成目标函数列表中的名称或地址。先完成 Ghidra 配置再运行。
macOS 或 Linux 准备好 Node.js 后,也可以使用 curl 安装:
curl -fsSL https://raw.githubusercontent.com/morluto/rea/main/install.sh | bash
按设置提示连接你的助手。如果没有出现提示,运行 rea setup。
如果终端找不到 rea,请使用安装器打印的可执行文件路径。在 Linux 上,默认的设置命令是 "$HOME/.local/bin/rea" setup。
寻求帮助
助手看不到 REA 工具时
配置后重启或重新连接客户端。用 doctor 检查 REA 连接。以 Codex 为例:
在第 3 步的检查命令中填写你的 setup ID。使用编辑器时,在 MCP 设置中启用 REA,并在助手聊天中允许使用它的工具。
分析后端出现问题时
检查正在使用的分析后端。以 Ghidra 为例:
npx -y rea-agents@latest doctor --provider ghidra --json
报告会列出失败的检查和建议的下一步。
Windows、WSL 与含空格的路径
Windows 客户端和分析工具使用 Windows PowerShell。如果编程助手在 WSL 内运行,就在那个 Linux 环境中安装 Node.js 和 REA,并使用 Linux 路径。无界面 provider 与 REA 在同一个系统环境中运行。
在终端里,包含空格的路径需要加引号。
Windows setup 命令:
npx.cmd rea-agents@latest setup
更新或移除 REA
要更新编程助手的连接,重新运行最新版 setup,查看并确认计划,然后重启客户端。
npx rea-agents@latest setup
全局安装的 CLI 用 rea update 更新。使用 npx rea-agents@latest uninstall 移除 REA 的客户端配置和 skill。
- REA FAQ关于更新、助手和分析的常见解答。
- 选择调查指南二进制、Electron 应用和浏览器的完整示例。
- GitHub issues附上命令与诊断结果,反馈问题。
- REA 社区交流问题、调查和正在进行的工作。
