Loading...

文章背景图

radare2:开源逆向工程框架安装与使用指南

2026-10-27
0
- 字
- 分钟
|

radare2(简称 r2)是一个为 Unix 极客打造的自由逆向工程框架,用 LGPLv3 发布。它提供一整套库、工具和插件来完成逆向分析:从最初的命令行十六进制编辑器起家,今天已成为功能完整的底层命令行工具,支持脚本(内置 JavaScript 解释器或 r2pipe),可以分析、模拟、调试、修改和反汇编几乎任意架构的二进制。

一、项目官方信息

项目 信息
GitHub 仓库 https://github.com/radareorg/radare2
官方网站 https://www.radare.org
开源协议 LGPLv3(插件可各自不同,用 r2 -Lj 查看)
主要语言 C(约 96.6%)
Star 数 约 25.0k
当前版本 git master 分支为 6.2.5

能力:编辑本地硬盘文件、查看内核内存、本地调试程序或通过远程 gdb/windbg 服务器调试;支持极其广泛的架构与文件格式(ELF/Mach-O/PE/DEX/Java class/WASM 等)。

二、官方图片

radare2 终端界面截图:

radare2 终端界面

三、环境要求

  • 推荐从源码编译:需要 git、C 编译器(gcc/clang)、meson/ninja 或 make。
  • 预编译二进制:到 Releases 页面直接下载对应平台版本。
  • Windows:需 meson + MSVC 或 MinGW;用仓库自带的 .bat 脚本。
  • 也可用 Nix(dist/nix)或 pip 安装 r2env。

四、完整安装步骤

1. 推荐:从 Git 源码安装

git clone https://github.com/radareorg/radare2
radare2/sys/install.sh

sys/install.sh 默认走 acr+make+symlink 安装;也支持 meson/ninja(muon/samu 亦可)与 make 构建。

2. 下载预编译二进制

到 Releases 页 https://github.com/radareorg/radare2/releases 下载最新发布版,解压即用。

3. Windows 安装

在仓库目录依次执行:

preconfigure.bat       REM 设置 python、meson、ninja
configure.bat          REM 运行 meson b + vs 工程
make.bat               REM 运行 ninja -C b
prefix\bin\radare2.exe

4. 卸载

make uninstall        # 卸载当前构建
sudo make purge       # 卸载系统里所有 r2 安装

5. 验证

r2 -v

能打印版本号即安装成功。

五、使用方法

第一次打开文件

$ r2 /bin/ls     # 只读方式打开文件

进入 r2 交互命令行后:

> aaa          # 分析整个程序(等价于 r2 -A)
> afl          # 列出所有函数(可用 aflt、aflm)
> px 32        # 以 hexdump 打印当前块 32 字节
> s sym.main   # 用 flag 名跳到 main
> f~foo        # 用内置 grep 过滤含 foo 的 flag
> iS;is        # 列出段与符号(等价 rabin2 -Ss)
> pdf; agf     # 反汇编当前函数并画 ASCII 函数图
> oo+;w hello  # 以读写重新打开并写入字符串
> ?*~...       # 在所有命令帮助里做交互过滤
> q            # 退出

插件包管理器 r2pm

r2pm -s <word>    # 搜索包含某词的包
r2pm -Uci <pkg>   # 更新数据库并干净安装
r2pm -u <pkg>     # 卸载包
r2pm -l <pkg>     # 列出已装包

热门插件

  • iaito:官方 Qt 图形界面;
  • r2dec:JS 写的反编译器,用 pdd 调用;
  • r2ghidra:原生 Ghidra 反编译器,用 pdg 调用;
  • r2frida:frida 输入插件,用 r2 frida://0 启动;
  • r2ai / decai:本地大模型反编译器;
  • r2yara:在 r2 里跑 Yara。

支持平台

操作系统:Windows(x86/x64/arm64)、Linux、macOS、BSD、Android、iOS、QNX、Solaris、AIX 等;架构从 x86-64/ARM/MIPS/RISC-V 到 Java、Dalvik、WASM、MSIL 等;文件格式覆盖 ELF、Mach-O、PE、DEX、Java class、WASM、GB/GBA 等。

六、常见问题 FAQ

1. 如何安装到 Linux? 推荐 git clone 后跑 radare2/sys/install.sh;也可从发行版包源(Arch、Fedora、Alpine、Homebrew、Termux、Snap 等)直接安装。

2. 打开二进制后什么都看不到? 进入交互后先执行 aaa 做完整分析,再 afl 列函数、pdf 反汇编。

3. 如何卸载? make uninstall 卸当前构建;sudo make purge 清掉系统里所有 r2。

4. 想要图形界面? 用 r2pm 装 iaito(Qt GUI),或装 r2ghidra 获得 Ghidra 反编译器视图。

5. 如何远程调试? r2 支持通过远程 gdb/windbg 服务器调试目标程序,详见官方书 https://book.rada.re 。

6. 插件许可证和主程序一样吗? 主程序 LGPLv3,但各插件许可证可能不同,用 r2 -Lj 查看。

七、跳转链接

  • GitHub 仓库:https://github.com/radareorg/radare2
  • 官方网站:https://www.radare.org
  • 官方书:https://book.rada.re
  • Releases:https://github.com/radareorg/radare2/releases
  • Discord:https://discord.gg/YBey7CR9jf
评论交流

文章目录