
radare2 v6.2.0
类 UNIX 逆向工程框架与命令行工具集
Radare2:面向 Unix 极客的自由逆向工程框架
当前 git master 分支为 6.2.0,下一个版本将是 6.2.1。
描述
r2 是对 radare 的完全重写。它提供了一组库、工具和
插件,以简化逆向工程任务。以 LGPLv3 分发,尽管
每个插件可以有不同许可证(详见 r2 -Lj)。
radare 项目最初是一个专注于取证分析的简单命令行十六进制编辑器。 如今,r2 是一个功能完备的底层命令行工具,支持通过内嵌的 Javascript 解释器或 r2pipe 进行脚本编程。
r2 可以编辑本地硬盘上的文件、查看内核内存,并在本地或通过远程 gdb/windbg 服务器调试程序。r2 广泛的架构支持让您能够分析、 仿真、调试、修改和反汇编任何二进制文件。
安装
下载最新的发布二进制文件。
推荐的 radare2 安装方式是从 Git 仓库源码安装:
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安装,或通过pip使用r2env安装。 - 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 在 localhost 上运行语言模型!
- r2dec:基于 r2 用 JS 编写的反编译器,可通过
pdd命令访问 - r2diaphora:基于 radare2 的 Diaphora 二进制差异比对引擎
- r2flutter:针对 Android 和 iOS 应用的 Dart/Flutter AOT 快照分析
- r2frida:frida io 插件。使用
r2 frida://0启动 r2 即可使用 - r2ghidra:可通过
pdg访问的独立原生 ghidra 反编译器 - r4ghidra:在您的 Ghidra 中感受 radare 的乐趣
- r2papi 基于 r2pipe 的高层 API
- r2pipe 用任何编程语言编写 radare2 脚本
- r2poke 与 GNU/Poke 集成,提供扩展的二进制解析能力
- goresym:将 GoReSym 符号导入为 flags
- 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 (since XP for x86/x64/arm64), Linux, Darwin, GNU/Hurd, Apple's {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 apps, Apple Dyldcache, Kernelcache, MCLF trustlets, DEX, ART, Java class, Android boot image, Plan9 executables, Amiga HUNK, ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), PDP11, XTAC, CGC, DotNet, WASM (WebAssembly binary), Commodore VICE emulator, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), Apple Classic PEF, NDS, z64, and N3DS ...
文件系统
在用户态挂载多种文件系统,如 NTFS、FAT、HFS+、EXT、APFS、BeosFS、BFS、MINIX、ReiserFS、SFS、ubifs、ufs、jfs、ISO9660、UDF、xfs

