
# Rizin
Rizin 是一个逆向工程框架,脱胎于 radare2 的分支,专注于
易用性、功能性和代码整洁度。
Rizin 具有可移植性,可用于分析二进制文件、反汇编代码、
调试程序、作为取证工具、以及作为可脚本的命令行十六进制
编辑器来打开磁盘文件等等!
想了解更多关于 Rizin 的信息,您可以阅读
[官方 Rizin 手册](https://book.rizin.re)。
# 如何安装
请查看我们网页上的[安装说明](https://rizin.re/install/)。
# 如何构建
使用 `meson` 编译并安装 Rizin。请确保获取最新版本的
`meson`(例如,如果您的系统提供的版本低于 `0.55.0`,
请通过 `pip install meson` 获取)。
克隆此仓库:
```
$ git clone https://github.com/rizinorg/rizin
```
然后编译并安装:
```
$ meson setup build
$ meson compile -C build
$ sudo meson install -C build
```
现在您可以使用 `rizin` 了:
```
$ rizin
-- Thank you for using rizin. Have a nice night!
[0x00000000]>
```
若要卸载 rizin,请执行 `sudo ninja -C build uninstall`。
请查看 [BUILDING.md][] 以获取关于构建 Rizin 的更多信息。
## 测试
请查看 [test/README.md][]。
# 支持的特性
## 支持的操作系统
Windows 7 及更高版本、Apple macOS/iOS/iPadOS、GNU/Linux、
[Dragonfly|Net|Free|Open]BSD、Android、QNX、Solaris/Illumos、Haiku、
GNU/Darwin、GNU/Hurd。
## 支持的架构
i386, x86-64, ARM/ARM64, RISC-V, PowerPC, MIPS, AVR, SPARC, System Z (S390),
SuperH, m68k, m680x, XAP, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8/300,
Renesas (V810, V850, RL78), CRIS, XAP, PIC, LM32, 8051, 6502, i4004, i8080, Propeller,
Tricore, CHIP-8, LH5801, T8200, GameBoy, SNES, SPC700, MSP430, Xtensa,
NIOS II, TMS320 (c54x, c55x, c55+, c64x), Hexagon, DCPU16, LANAI,
MCORE, mcs96, RSP, C-SKY(MCore), VAX, AMD Am29000.
此外还支持以下字节码格式:
Dalvik, EBC, Java, Lua, Python, WebAssembly, Brainfuck, Malbolge
## 支持的文件格式
ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, OMF, NE, LE, LX, TE, XBE, BIOS/UEFI,
Dyldcache, DEX, ART, CGC, ELF, Java class, Android boot image, Plan9 executable,
ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), DMP (Windows pagedump),
WASM (WebAssembly binary), Commodore VICE emulator, QNX,
Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs.
## 工具
除了主工具 `rizin` 之外,还有其他针对特定用途定制的工具,
可用于 shell 脚本编写或作为独立的工具使用:
- `rz-bin` - 提供关于二进制格式的各种信息
- `rz-asm` - 命令行汇编器和反汇编器
- `rz-diff` - 用于比较两个二进制文件(作为原始数据或已分析的可执行文件)的工具
- `rz-hash` - 允许计算不同的哈希值,甚至可以加密数据
- `rz-gg` - 小型的“eggs”代码生成器,适用于漏洞利用
- `rz-find` - `find` 工具的二进制模拟版,允许搜索模式和位掩码
- `rz-sign` - 用于创建、转换和解析 FLIRT 签名的工具
- `rz-ax` - 计算器和数字格式转换器
- `rz-run` - 允许为被调试文件指定运行环境和参数的工具
## 脚本编写
我们通过 [rzpipe](https://github.com/rizinorg/rz-pipe) 提供了从 Python、Haskell、OCaml、
Ruby、Rust 和 Go 语言与 Rizin 进行交互的方式。
虽然目前不支持其他语言,但可以轻松添加。