rea 快速指南:三条命令逆向你的第一个二进制,每个结论带证据

发布时间:2026/11/5 6:36:52
rea 快速指南:三条命令逆向你的第一个二进制,每个结论带证据 rea 快速指南三条命令逆向你的第一个二进制每个结论带证据【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/reaFunctions 窗口一片空白符号一个没有你盯着这个.so发了十分钟呆。rea 是一个面向 AI Agent 的逆向工程编排层它替你驱动 Ghidra、Hopper 这类分析引擎把打开 IDE 空转变成一条终端命令返回的每个结论都附证据。按下面的 4 步走完15 分钟左右你能拿到第一次完整逆向——从概览到证据链闭环。项目坐标它是编排层不是反编译器先把话说清楚rea 不是反编译器不是调试器也不是 IDE。它是把谁来当分析引擎和谁来提问解耦的一层分析引擎可插拔Hopper、Ghidra、IDA、Kuna你本地装哪个它就用哪个双入口AI Agent 走 MCP一种让模型调用工具的标准协议人走终端 CLI证据先行每个结论都带观察、推断边界与未解问题而不是给你一个看起来对的答案。成熟度不用猜仓库 README 提供 22 个语言的本地化版本Discord 社区日常答疑docs/目录有 80 余篇专题文档还维护着一份逐条审核的用户可见错误清单docs/user-visible-errors.csv。它的典型形态是下面这张图——引擎 GUI 照常打开但操作和取数全部由桥接层代劳。坐标定了别急着装——先看一条不装任何东西就能跑通的路。先跑通零安装的最小闭环运行时要求Node.js 22.23.4、24.22.1 或 26.12.1package.json的engines字段23、25 不支持。JavaScript/Electron 静态解析完全不需要任何反编译引擎一条命令先拿到第一次成功# 免安装单次运行静态解析一个 JS/Electron 应用目录或 .asar npx -y rea-agentslatest analyze-javascript-application /absolute/path/to/app --json返回模块、导入、Electron IPC 边界及各自的证据。拿到结果后再回头补正式安装与环境自检# 全局安装 CLI得到 rea 命令 npm install --global rea-agents # 把 MCP 注册给你的 Agent 客户端先列出改动计划你确认后才写入 npx rea-agents setup # 严格只读体检逐项检查 Node 版本、引擎可执行文件失败项附修复命令 rea doctor --jsonsetup支持 Claude Code、Codex、Cursor、Gemini CLI 等客户端且永远不替你安装 Node、Java、Ghidra 这类外部依赖。另外在 Linux 上跑 Ghidra、JADX 或 JS 分析需要PATH里有 procps 的ps缺了看docs/installation.md的 Linux owned-process prerequisite 一节。环境就绪进入主线给一个 stripped 二进制做完整逆向。主线实战逆向仓库自带的 17 行 C 程序练手目标选scripts/fixtures/binary-layout.c17 行源码两个全局变量、一个线程局部变量、一个noinline辅助函数read_values()和一个main。为什么选它一是小输出几分钟能看完二是把它 strip 掉符号表后依然能完整走完符号、字符串、函数、引用四条证据线——stripped 目标最能体现 rea 的价值三是它是仓库自带夹具任何编译器下都可复现。# 编译出调试版与 stripped 版两份后者没有符号表 gcc -O0 -g -o hello_debug scripts/fixtures/binary-layout.c gcc -O0 -s -o hello_stripped scripts/fixtures/binary-layout.c假设本机已配置好 GhidraGHIDRA_INSTALL_DIR指向安装目录。第一步analyze 拿概览# 原生概览工件身份、符号、字符串、函数清单 rea analyze /absolute/path/to/hello_stripped --provider ghidra --json结果先看artifact字段路径、SHA-256、大小是后续所有结论的锚点目标字节一变身份就失配。再看coverage与unknowns前者说明哪些分析是完整观察、哪些只是部分结果后者列的是确实没解出来而不是被悄悄忽略。limitations还会反复提醒伪代码是反编译器输出永远不是原始源码。第二步给 main 建档案# 函数档案、伪代码、原始汇编三种不同粒度的东西 rea function /absolute/path/to/hello_stripped main --provider ghidra --json rea decompile /absolute/path/to/hello_stripped 0x401146 --provider ghidra --json rea instructions /absolute/path/to/hello_stripped main --provider ghidra --jsonfunction返回档案dossier入口地址、调用者与被调用者、控制流信息decompile给可读伪代码instructions只读引擎 Listing 的原始指令根本不启动反编译器。注意0x401146是样例环境里的入口地址换成你analyze结果里main的实际地址。三者语义边界被严格区分这正是它和一把梭反编译最大的不同。第三步xrefs 与 search 闭环证据链# 谁引用了 main搜字面量字符串按正则搜 read_ 开头的函数名 rea xrefs /absolute/path/to/hello_stripped 0x401146 --provider ghidra --json rea search /absolute/path/to/hello_stripped source-owned --provider ghidra --json rea search /absolute/path/to/hello_stripped ^read_ --mode regex --kind procedures --provider ghidra --jsonxrefs返回有界列表调用、跳转、数据等分类保留引擎原始类型search支持字面量--mode literal与正则两种模式--kind切换字符串或函数名。在这份 17 行源码上你能看到main到read_values的调用边以及source-owned字符串的落点——从入口到数据一条证据链闭环。第四步零引擎的离线诊断不是每次都值得启动 Ghidra。inspect-binary-layout完全不碰反编译引擎直接回答这个文件里有什么# 离线 ELF 布局诊断需指向自带 pwntools 4.15.0、pyelftools 与 Unicorn 的隔离 Python REA_PWNTOOLS_PYTHON/absolute/isolated-env/bin/python \ rea inspect-binary-layout /absolute/path/to/hello_stripped --json返回节区/段布局、原始符号与重定位外加 canary、PIE、NX、RELRO 的静态推断。官方验证覆盖 Linux x64 的 ELF64 等 profiledocs/binary-diagnostics.md刚编译的hello_stripped就是标准练手目标。跑通了也难免撞坑下面是退出码对照和三个高频问题的标准解法。排障退出码对照与三个高频卡点退出码含义0完成结果仍可能含部分证据或警告1未完成输入无效、权限、取消、超时等128 N被信号 N 终止SIGINT 为 130SIGTERM 为 143现象一analyze报capability_unavailabledetails.selection_reason是ambiguous——多个引擎都支持该目标rea 不替你猜。定位# 列出可用引擎及支持的操作doctor 严格只读 rea providers --json rea doctor --provider ghidra --json解法从错误里的details.candidate_ids挑一个用--provider显式指定想设长期默认就配REA_ANALYSIS_PROVIDERghidra命令行--provider优先于环境变量。现象二大二进制启动超时。Ghidra 启动期限默认 330000 ms约 5.5 分钟超时返回provider_timeout。解法# 把 Ghidra 启动期限提到 30 分钟再重试 REA_GHIDRA_STARTUP_TIMEOUT_MS1800000 rea analyze /absolute/path/to/big.bin --provider ghidra --json备注期限覆盖导入、自动分析与桥接就绪三个阶段小内存机器同时用GHIDRA_HEADLESS_MAXMEM512M压低 JVM 堆。现象三行为与文档不符疑似 bug。解法# 更新 npm 拥有的 CLI 到最新rea update 只更新拥有当前 CLI 的全局安装 rea update备注仓库维护着docs/user-visible-errors.csv这份逐条审核的错误清单每条带恢复建议遇到 Retry once; if it continues, runrea doctor 的提示就照做。收束快照复用与脚本化写法见 CLI 文档Agent 侧的会话生命周期与证据契约见 MCP 契约文档。下次 Functions 窗口空白敲下analyze证据自己会浮出来。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询