
radare2 v6.2.0
类 UNIX 逆向工程框架与命令行工具集
Radare2:面向 Unix 极客的自由逆向工程框架
当前 git master 分支为 6.2.3,下一个版本将是 6.2.4。
描述
r2 是 radare 的完全重写版本。它提供了一套库、工具和插件,以简化逆向工程任务。以 LGPLv3 许可分发,尽管每个插件可能有不同的许可证(详情请参见 r2 -Lj)
radare 项目最初是一个专注于取证分析的简单命令行十六进制编辑器。如今,r2 已发展为一个功能齐全的底层命令行工具,支持使用内嵌的 Javascript 解释器或通过 r2pipe 进行脚本编写。
r2 可以编辑本地硬盘上的文件、查看内核内存,并在本地或通过远程 gdb/windbg 服务器调试程序。r2 广泛的架构支持使您能够分析、模拟、调试、修改和反汇编任何二进制文件。
安装
下载最新的发布版二进制文件。
推荐通过 Git 仓库源码安装 radare2:
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
- 运行
sys/install.sh进行默认的 acr+make+symlink 安装 - 支持 meson/ninja(muon/samu 也可用)和 make 构建。
Nix
radare2 在 dist/nix 下提供了 Nix 打包。
源码构建
- r2 可以通过
git安装,或使用r2env通过pip安装。 - Windows 构建需要 meson 和 msvc 或 mingw 作为编译器
- 要卸载当前构建的 r2,请运行
make uninstall - 要卸载系统中所有 r2 安装,请执行:
sudo make purge
在 Windows 上使用 .bat 脚本和 msvc:
preconfigure.bat REM setup python, meson, ninja
configure.bat REM run meson b + vs project
make.bat REM run ninja -C b
prefix\bin\radare2.exe
热门插件:
使用 r2pm 工具,您可以浏览并安装许多使用 radare2 的插件和工具。
- iaito:官方 Qt 图形界面
- keystone 使用 Keystone 库的汇编指令
- decai 基于 AI 的反编译器
- r2ai 在 r2 内使用 Llama 在本地主机上运行语言模型!
- r2dec:基于 r2 用 JS 编写的反编译器,通过
pdd命令访问 - r2diaphora:基于 radare2 的 Diaphora 二进制差异引擎
- r2flutter:针对 Android 和 iOS 应用的 Dart/Flutter AOT 快照分析
- r2frida:frida io 插件。使用
r2 frida://0启动 r2 即可使用 - r2ghidra:独立的原生 ghidra 反编译器,可通过
pdg访问 - r4ghidra:在您的 Ghidra 中感受 radare 的乐趣
- r2papi 基于 r2pipe 的高层 API
- r2pipe 使用任何编程语言为 radare2 编写脚本
- r2poke 与 GNU/Poke 集成以扩展二进制解析能力
- goresym:将 GoReSym 符号导入为标志
- r2yara 从 r2 运行 Yara 或从 Yara 使用 r2 原语
- radius2:基于 boolector 和 esil 的快速符号执行引擎
- r2sarif 导入/扩展/导出 SARIF 文档
- r2hermes 针对 React Native Hermes 字节码的反汇编器和分析器
- r2renef 适用于 Radare2 的 Renef IO 插件 - 动态 Android 插桩
- r2unity:从 radare2 检查 Unity IL2CPP 元数据和原生二进制文件
- warrp 适用于 binary ninja 的 WARP 格式的原生 radare2 插件
用法
以下是使用 r2 的入门步骤,阅读书籍或查找教程以了解更多细节
$ r2 /bin/ls # open file in read-only
> aaa # analyse the program (r2 -A)
> afl # list all functions (try aflt, aflm)
> px 32 # print 32 byte hexdump current block
> s sym.main # seek to main (using flag name)
> f~foo # filter flags matching 'foo' (internal |grep)
> iS;is # list sections and symbols (rabin2 -Ss)
> pdf; agf # disassembly and ascii-art function graph
> oo+;w hello # reopen in read-write and write a string
> ?*~... # interactive filter in all command help
> q # quit
r2 默认包含许多插件。但您可以使用 r2pm 包管理器扩展其功能。
r2pm -s <word> # search packages matching a word
r2pm -Uci <pkg> # update database and clean install a package
r2pm -u <pkg> # uninstall the given package
r2pm -l <pkg> # list installed packages
资源
- 官方书籍:了解 r2 的用法
- COMMUNITY.md:社区参与和宽松指南
- CONTRIBUTING.md:关于报告问题和贡献的信息。另请参见贡献
- DEVELOPERS.md:r2 的开发指南
- SECURITY.md:报告漏洞的说明
- USAGE.md:一些示例命令
- INSTALL.md:使用 make 或 meson 的安装说明
文档
通过观看 r2con 的 youtube 演讲了解更多关于 r2 的信息。还有许多博客文章、幻灯片和官方 radare2 书籍,但加入任何官方聊天并在那里提出您的问题或反馈总是一个好主意。
社区
- 网站:https://www.radare.org/
- Discord:服务器
- Mastodon:@radareorg
- Telegram:主和副频道
- irc.libera.chat:
#radare、#radare_side - Matrix:
#radare:matrix.org
支持的平台
操作系统
Windows(自 XP 起支持 x86/x64/arm64)、Linux、Darwin、GNU/Hurd、Apple 的 {Mac,i,iPad,watch}OS、 Android、Wasmer、[Dragonfly, Net, Free, Open] BSD、Z/OS、QNX、SerenityOS、Solaris、AIX、 Haiku、Vinix、FirefoxOS。
架构
i386、x86-64、Alpha、ARM、AVR、BPF、sBPF、MIPS、PowerPC、SPARC、RISC-V、SH、m68k、 S390、XCore、CR16、HPPA、ARC、Blackfin、Z80、H8/300、V810、PDP11、m680x、V850、 CRIS、XAP (CSR)、PIC、LM32、8051、6502、i4004、i8080、Propeller、EVM、OR1K Tricore、CHIP-8、LH5801、T8200、GameBoy、SNES、SPC700、MSP430、Xtensa、xcore、 NIOS II、Java、Dalvik、Pickle、WebAssembly、MSIL、EBC、TMS320 (c54x、c55x、 c55+、c64x)、Hexagon、Brainfuck、Malbolge、whitespace、DCPU16、LANAI、lm32、 MSIL、InfernoDis、UXN、Cosmac、PythonBytecode、Sharp sm5xx MCPus、FreeScale QIQa、 MCORE、mcs96、RSP、SuperH-4、VAX、KVX、Am29000、LOONGARCH、JDH8、s390x、STM8。
文件格式
ELF、Mach-O、Fatmach-O、PE、PE+、MZ、COFF、XCOFF、OMF、TE、XBE、SEP64、BIOS/UEFI、BFLT、Pebble 应用、 Apple Dyldcache、Kernelcache、MCLF trustlets、DEX、ART、Java class、Android boot image、Plan9 可执行文件、Amiga HUNK、 ZIMG、MBN/SBL bootloader、ELF coredump、MDMP(Windows minidump)、PDP11、XTAC、CGC、DotNet、 WASM(WebAssembly 二进制)、Commodore VICE 模拟器、DOL、QNX、WAD、OFF、TIC-80、 GB/GBA、PSX、PRG (C64)、Apple Classic PEF、NDS、z64 和 N3DS ...
文件系统
在用户空间挂载多种文件系统,如 NTFS、FAT、HFS+、EXT、APFS、BeosFS、BFS、MINIX、ReiserFS、SFS、ubifs、ufs、jfs、ISO9660、UDF、xfs

