REA 免许可证接入 Hopper demo 双平台完整指南:macOS 手动、Linux 全自动、CI 无人值守
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
REA(Reverse Engineer Anything,万物皆可逆向)是一个让 AI Agent 直接驱动 Hopper、Ghidra 等逆向分析引擎的工具,能把取证范围从应用行为一路下钻到原生二进制。对很多人来说,Hopper 最大的门槛不是安装,而是付费许可证——其实它的官方 demo 模式完全可以免费用来做函数级分析,而 REA 把 demo 版的下载、校验、安装、启动全都接管了:macOS 上需要你在首启界面手动点一次 demo,Linux 上则靠一个私有 Xvfb 虚拟显示全自动搞定。本文按"本地开发机、无头服务器、CI runner"三种真实部署场景走一遍完整路径,最后附故障速查表。
免费 demo 到底能干什么:能力边界先说清楚
Hopper 本身是独立收费的商业软件,拥有自己的许可证体系;它的免费 demo 带有厂商定义的分析限制。但对逆向入门和常规二进制分析,这套限制并不影响完整的函数级分析体验,也就是说:不花钱,就能拿到可用的分析结果。
这里要划一条边界:授权凭据(选 demo 还是激活已有 license)始终属于使用者的决策。REA 不读取、也不自动化任何 license 信息,它只负责把 Hopper 装好、启动到能工作的状态。
上面这张截图里那行Executing Python script .../mcp-rea-.../bootstrap.py,就是 REA 在 Hopper 内部拉起分析桥的痕迹——demo 模式下这条链路是完整打通的。
环境要求方面,自动安装 Hopper 支持的系统是:macOS 12+,Ubuntu 24.04+ / Fedora 41+,以及 64 位 Arch 与 CachyOS;运行时需要 Node.js 22.19+、24.11+ 或 26+(带 npm 即可)。完整清单见 README 与 安装文档。另有一条原则值得记住:REA 全程不动你的 Homebrew,也不碰你的 Node 环境,更不会擅自升级运行时。
一条 setup 命令背后的两次独立审批
整个接入流程从这一条命令开始:
npx rea-agents setupnpm 第一次运行时可能弹出"是否下载并运行"的确认,那个确认只针对 REA 包本身的下载,和后面的 Hopper 安装无关。确认后,REA 会先列出一份完整的安装计划再动手:精确到每个目标路径、每一项配置变更、网络来源、完整性校验证据,全部摊开给你看。你批准后它才写入文件、才执行 Hopper 安装。
这里有一个新手最容易踩的坑:Agent 注册和 Hopper 安装是两次相互独立的审批。只想把 Agent 接上、暂不装 Hopper,完全可以;反过来也一样。两条安全兜底也一并交代:
- 任何一步选择拒绝,或直接按 Ctrl-C,系统保持零改动;
- 写入前,已有的配置会先备份为
.rea.backup再落盘。
如果希望锁定最新发布版而不是 npx 缓存里的版本,把命令换成npx rea-agents@latest setup即可。
场景一:macOS 本地开发机——官方 DMG 校验加用户目录原子安装 🖥️
在 macOS 上批准 Hopper 安装后,REA 会下载官方 DMG 镜像,先比对公开的大小与摘要(digest)两个数值,再验证应用包本身的完整性,最后以原子化方式安装到~/Applications/Hopper Disassembler.app。整个过程不需要 Homebrew,也不需要管理员权限。
装完之后 REA 会直接打开 Hopper,接下来的动作交还给你:在首启界面选择 demo 模式,或激活已有的许可证。有一个默认启动路径可以心里有数:/Applications/Hopper Disassembler.app/Contents/MacOS/hopper;如果 Hopper 装在别的位置,用环境变量HOPPER_LAUNCHER_PATH显式指定即可。
macOS 还有一条后面 CI 章节还会再提的边界:demo/许可证的首启选择必须在实际运行 REA 的同一用户会话中手动完成,无法用参数绕过。
场景二:无头 Linux 服务器——官方包加私有虚拟显示,demo 全自动 🐧
Linux 侧是 REA 设计中比较"聪明"的一边,demo 会话可以做到全程无人值守,关键在三个环节:
- 官方包优先,先验后装。审批通过后的 setup 先校验 Hopper 官方的
.deb/.rpm/ Arch 包——当前验证通过的是 6.4.2 demo 版,相关实现见 Linux 引擎实现——确认无误后才交给系统原生包管理器安装。系统授权弹窗可能因此出现,这是包管理器自己的行为。 - 你的桌面全程不受打扰。每次分析会话,demo 版 Hopper 都运行在一个私有 Xvfb 虚拟显示上(Xvfb 是 X11 协议下的软件虚拟显示器),并由脚本自动点选 Hopper 提供的 demo 选项,脚本见 hopper-demo-x11.py。没有桌面环境的服务器、CI 机器照样跑。
- 依赖自动补齐。demo 会话需要 Xvfb、Python 3、X11 和 XTEST 四组依赖,审批通过的 setup 会通过包管理器一并装好,不需要手动处理。
Linux 的启动路径查找顺序是:先找/opt/hopper/bin/Hopper,再找~/.local/share/rea/hopper/bin/Hopper。如果提示找不到引擎、但文件明明存在,用ldd检查缺失的共享库,补齐后重跑一次rea setup即可。
场景三:CI runner——声明意图,跑通无人值守流水线 🤖
对自动化流水线来说,交互式审批是天然的阻碍。REA 的解法不是偷偷跳过审批,而是让你显式声明意图:
rea setup --yes --all-detected --install-hopper --json这条命令背后有两条必须刻进记忆里的边界:
--yes不会顺带批准 Hopper 安装,--install-hopper必须显式携带;- macOS 的 demo 首启选择绕不过人工:它必须在实际运行 REA 的同一用户会话中手动完成(选 demo 或激活许可证)。因此临时 macOS runner 需要一个交互式的初始化步骤;而 Linux 凭借私有 Xvfb 显示,可以从装包一路到分析全程无人值守。
另外一个运维习惯:CI 里 Hopper 启动失败时,别急着杀进程,也别把 runner 的桌面暴露出去——直接跑诊断命令拿结构化失败分类(私有显示依赖缺失 / 不支持的 demo 构建 / 进程所有权冲突 / 生命周期早期退出),再按报告逐项修复。
装完之后:重启 Agent、验证第一次分析
装好后先做两件事:
- 重启你的 Agent。REA 支持 Claude Code、Codex、Cursor、Gemini CLI 等客户端,完整清单在安装文档。重启后直接用自然语言描述分析任务即可。首次运行如果 Hopper 弹出首启提示,选 demo 模式(或填入已有许可证);
- 不依赖 Agent 直接验证引擎。终端侧跑一条:
rea analyze /absolute/path/to/binary --provider hopper --json如果系统里同时装了 Hopper 和 Ghidra,显式的--provider hopper(或环境变量REA_ANALYSIS_PROVIDER)能避免"多引擎歧义"报错。更完整的二进制分析工作流参考 原生二进制分析文档。
故障速查:rea doctor 是 Hopper 问题的第一道防线 🩺
出问题先跑健康检查,而不是靠猜。rea doctor是严格只读的,会报告选中的启动策略、挂载状态等结构化诊断信息。常见场景对照如下:
| 症状 | 第一步 |
|---|---|
| 只检查 Hopper 引擎 | rea doctor --provider hopper --json |
| 只查某个 Agent 的注册 | rea doctor --client codex --json |
| 全量体检 | rea doctor --json |
| Linux 引擎文件存在但起不来 | ldd /opt/hopper/bin/Hopper查缺失共享库,补齐后重跑 setup |
| 启动路径不在默认位置 | 设置HOPPER_LAUNCHER_PATH后复查 |
Linux 下 demo 启动失败时,按命令返回的修复建议操作即可,Xvfb 不需要你手动管理。更多安装细节与 CI 边界,见安装文档;分析侧的工作流参考原生二进制分析文档。
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考