章节摘要:radare2(约 2.5 万 stars,最新 6.2.4,社区口径 2026-10)是 UNIX 风格的命令行逆向框架:小命令、可组合、可管道。2.1 节讲它的三段哲学——seek 定位、analysis 分析、print 打印——与核心命令族(aaa、afl、pdf、axt 等),并用它把 demo_stripped 再走一遍,顺带说清 r2 与 Ghidra 的互补定位:前者轻快、管道友好,后者厚重、工程化。2.2 节上 r2pipe:Python 经一根管子向 r2 发命令收结果,cmd 与 cmdj 两种返回形态;实战脚本批量导出「函数 + 伪代码文本」的 JSON——与第 1.3 节 Ghidra 侧导出同构,这份备料正是第 04 章喂给大模型的粮食。
r2 的使用模型(一切命令围绕三件事) ┌── seek(s):把光标移到某地址 / 函数 / 标志 │ ├── analyze(a):aaa 全量分析 / af 单函数 / afl 列函数 │ └── print(p):pdf 反汇编函数 / pd N 行 / izz 字符串 │ ▼ r2pipe 把命令搬进 Python ┌──────────────────────────────┐ │ cmd("...") -> 文本 │ │ cmdj("...") -> JSON 对象 │ └──────────────┬───────────────┘ ▼ out/demo_functions.json(第 04 章的备料)
一句话金句:Ghidra 是逆向的工作台,r2 是逆向的瑞士军刀——后者能塞进管道,这正是自动化要的形状。
两节按序读:2.1 建立命令直觉,2.2 把直觉变成脚本。跳过 2.1 直接写 r2pipe 也能跑,但你会不知道该发什么命令。
┌────────────────────┐ 命令会敲了 ┌────────────────────┐ │ 2.1 r2命令行逆向范式 │ ─────────────▶ │ 2.2 r2pipe可编程逆向 │ │ seek / 分析 / 打印 │ 命令进脚本 │ cmd / cmdj 双形态 │ └─────────┬──────────┘ └─────────┬──────────┘ │ 产物:命令直觉 │ 产物:demo_functions.json │ (第 04 章 r2ai 的交互语言) │ (第 04 章 RAG 与模型的输入) └──────────────────────────────────────┘ ▼ 第 04 章 r2ai与r2mcp(把 r2 交给模型)/ 第 03 章(Ghidra 侧同构备料)
合规声明:本节内容仅用于授权范围内的安全研究与教育目的;未经授权对他人软件进行逆向工程可能违反法律与许可协议。