类 UNIX 逆向工程框架与命令行工具集
当前 git master 分支为 6.2.2,下一个版本将是 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 安装radare2 在 dist/nix 下提供了 Nix 打包。
git 安装,或通过 pip 使用 r2env 安装。make uninstall。sudo make purge。在 Windows 上使用 .bat 脚本和 msvc:
preconfigure.bat REM 设置 python、meson、ninja
configure.bat REM 运行 meson b + vs 项目
make.bat REM 运行 ninja -C b
prefix\bin\radare2.exe
使用 r2pm 工具,您可以浏览并安装许多使用 radare2 的插件和工具。
pdd 命令访问r2 frida://0 启动 r2 以使用它pdg 访问的独立原生 ghidra 反编译器以下是使用 r2 的初步步骤,更多详情请阅读相关书籍或查找教程。
$ r2 /bin/ls # 以只读模式打开文件
> aaa # 分析程序(r2 -A)
> afl # 列出所有函数(尝试 aflt、aflm)
> px 32 # 打印当前块的 32 字节十六进制转储
> s sym.main # 跳转到 main(使用 flag 名称)
> f~foo # 过滤匹配 'foo' 的 flags(内部 |grep)
> iS;is # 列出节和符号(rabin2 -Ss)
> pdf; agf # 反汇编和 ASCII 艺术函数图
> oo+;w hello # 以读写模式重新打开并写入字符串
> ?*~... # 在所有命令帮助中交互式过滤
> q # 退出
r2 默认包含许多插件。但您可以通过使用 r2pm 包管理器来扩展其功能。
r2pm -s <word> # 搜索匹配单词的包
r2pm -Uci <pkg> # 更新数据库并全新安装一个包
r2pm -u <pkg> # 卸载指定的包
r2pm -l <pkg> # 列出已安装的包
通过观看来自 r2con 的 youtube 演讲 了解更多关于 r2 的信息。此外还有许多博客文章、幻灯片和官方 radare2 书籍,但加入任何官方聊天频道并在此提出您的问题或反馈始终是个好主意。
#radare、#radare_side#radare:matrix.orgWindows(自 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