rizin

rizinorgLGPL-3.0活跃维护

类 UNIX 的逆向工程框架和命令行工具集,用于二进制分析、反汇编、调试和漏洞利用研究,是 radare2 的分支。

UNIX-like reverse engineering framework and command-line toolset.

v0.9.1发布于 2026-06-29 17:48 UTC4,173star +22 / 7 天708fork同步于 2026-11-10 17:40 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/rizinorg/rizin
meson setup build
meson compile -C build
sudo meson install -C build
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

radare2 的分支逆向工程框架,用于分析二进制、反汇编和调试程序

类 UNIX 的逆向工程框架和命令行工具集,用于二进制分析、反汇编、调试和漏洞利用研究,是 radare2 的分支。

核心能力

  • 支持 x86、ARM、RISC-V 等数十种指令集架构
  • 解析 ELF、PE、Mach-O、DEX、WASM 等文件格式
  • 附带 rz-bin、rz-asm、rz-diff 等独立命令行工具
  • 通过 rzpipe 支持 Python、Rust、Go 等语言脚本交互
  • 可作为可脚本化的十六进制编辑器打开磁盘文件

容易踩的坑

需要 meson 至少 0.55.0,系统版本过旧时可用 pip install meson 安装;安装步骤需 sudo 权限;卸载需执行 sudo ninja -C build uninstall

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.9.1
  1. v0.9.1Release v0.9.1最新正式版2026-06-29 · 2026-06-29 17:48 UTC

    A patch release fixing:

    • Scrolling issues in visual mode for meta items.
    • Fixing the fun fortunes.
    • Setting the default newline character for string search to NUL (to match commonly expected behavior).
  2. v0.9.0Release v0.9.02026-06-21 · 2026-06-21 09:48 UTC
    查看更新说明

    In this release we continued the long-running migration toward the unified RzArch plugin model: the legacy RzAsm struct was dropped from the public API (a compatibility layer remains for the in-progress parts), and ESIL was moved into its own isolated namespace. ESIL remains deprecated and is scheduled for removal, while RzIL continues to grow as its replacement. Sadly, in this release we weren't able to finish the ESIL->RzIL migration yet, but we made a substantial progress in this regard and have working prototype.

    On the architecture front several new disassemblers and analysis plugins were added. TMS320C54x joins the TMS320 family (whose C55x/C55x+ RzIL coverage was also greatly extended), classic BPF (cBPF) disassembly was added, SuperH-3 (SH-3) is now selectable via asm.cpu, and new M680X CPU types (RS08, HCS12X) and MCS96 ISA variants (8096/80C196/80C296) are supported. MCS96 got the analysis support. We also moved more plugins onto Capstone v6 (now 6.0.0-alpha9): RISC-V was rewritten on top of Capstone, HPPA (PA-RISC) switched to the Capstone disassembler (dropping its GNU plugin), and M68k ColdFire support was added. Infineon C166 and MIL-STD-1750 support was added as well. DEC VAX was rewritten from scratch and analysis was implemented.

    On the RzIL front, uplifting was expanded with scalar x86 SSE/SSE2 floating-point instructions and a full SPARC lifter, and the RzIL VM can now halt on exceptions. Also, the uplifting was implemented for the whole TMS320C5x series. RzIL output is now first-class in the UI: a new pl/plF print path, colorized RzIL in ao, and colors, Unicode and RzIL in the visual bit editor.

    The pf format was completely reworked and syntax has changed to support more features and be more consistent. Consult with the doc/pf.md and pf? output for more details.

    A major new visualization arrived: statistical/entropy histograms. Rizin can now render per-block χ², index of coincidence, min-entropy and serial-correlation graphs (essential indicators that allow to scrutinize data when simple entropy is uniform), both as vertical (p=) and horizontal (p==) histograms, several with an interactive minimap mode. A new Marks subsystem (the m command family) lets you place, color, comment, name and navigate named locations in the file.

    Visual bit editor mode was improved:

    A new color theme "underwater" was added:

    Binary-format support saw a lot of activity. New loaders/parsers were added for STABS debug info, Lua bytecode (Luac 5.0–5.5) and LuaJIT 2.1, the CaRT container, Amiga hunk, MDT (Qualcomm peripheral images), and PEF (Preferred Executable Format); the NE parser was rewritten and bootimg now understands v1–v4 images. The iH header-structure command was extended to a long list of formats (WASM, DEX, AVR, PYC, bFLT, CGC, Menuet, …), and ELF coredump parsing was added for LoongArch, s390x, RISC-V, PPC64, HP PA-RISC and DEC Alpha. Python 3.14 bytecode is now supported.

    The debugger's heap inspection was reorganized into per-allocator namespaces under dmh: dmhg for glibc (renamed from dmh), dmhw for Windows heaps (renamed from dmw), and dmhj for jemalloc (renamed from dmx, with new jemalloc 5.3.0 support). On the analysis side we added value constraints for variables and globals, **C++ devirtualizati

  3. v0.8.2Release v0.8.22026-02-01 · 2026-02-01 20:29 UTC
    查看更新说明

    Security fixes

    • Fix CVE-2026-22780
    • Fix heap-based OOB write in mach0_chained_fixups.c
    • Remove unused LE fixups parsing

    Miscellaneous

    • Various small fixes for Haiku OS port
  4. v0.8.1Release v0.8.12025-05-04 · 2025-05-04 18:09 UTC
    查看更新说明
    • Fix tree-sitter's C grammar dependency building
    • rz-find: do not print filenames without a match
    • Forbid aav analysis step when the architecture is MIPS (fixes misalignment issues)
    • Fix izx and iz commands help
    • Fix pxf command to print function hexdump
    • MIPS: set correct instruction alignment according to the CPU
    • Split very large basic blocks
    • Fix possible NULL derefence in the RzCrypto
  5. v0.8.0Release v0.8.02025-04-27 · 2025-04-27 13:01 UTC
    查看更新说明

    In this release we completed migration of the code to the rzshell - YAML-based commands description language and corresponding APIs.

    Another notable refactoring change - a beginning of merging RzAsm and RzAnalysis plugins into RzArch ones, currently incomplete and with compatibility layer. Move RzParse plugins into the RzArch as well. Huge refactoring happened in search commands, to better handle Unicode and regular expressions.

    On the RzIL front, new architectures now support uplifting:

    • MIPS
    • PIC
    • MSP430
    • Xtensa
    • Hexagon
    • Tricore uplifting was improved to include all missing floating point instructions.

    New architectures were added:

    • DEC Alpha
    • nanoMIPS (a part of MIPS ISA family)
    • LoongArch.

    As usual, these architectures were added into the Capstone as well.

    ESIL is marked as deprecated and will be removed in the next release.

    Analysis behavior slightly changed - now Rizin checks for jumps to function preludes by default.

    Added support for parsing PE relocations. Added support for Python 3.11-3.13 bytecode versions.

    New and refactored search commands (strings, bytes, cryptographic material) dispatch their work now into threads. Making them faster on large files. This drops support for search modifiers /f, /b etc.

    And, as usual, droves of various fixes across the framework.

    Show scrolling progress in percent in various interfaces, e.g. in Vv (lower right corner):

    New command line options

    • rz-find -E to execute a command on every match
    • rz-ax - add MS-DOS and Win32 timestamp conversion
    • Add linker version to rz-bin -I output

    New commands

    • dcco - continue until call
    • aezsue - step until PC equals given address and output RzIL VM changes
    • fdt command to print more information about the flag
    • dbtt to print in a table mode
    • aLc command to list features and CPUs of an RzArch plugin (and rz-asm -m to do the same)
    • /cm to search for cryptographic materials
    • /ce and /cef commands for entropy search
    • /z command for searching strings (supports now Unicode 16, regex, and many encodings).
    • izx data to list strings that are referenced from somewhere else

    Removals

    • Deprecated APIs
    • RAP protocol
    • NIOS-II architecture support
    • fb command
    • dta command
    • /w - now handled by /z
    • /!
    • /b
    • /f
    • /+
    • /cd
    • /ca
    • /cr
    • obr
    • rizin -Q flag

    Renames:

    • avg renamed into avgl, added table mode
    • / command became /z
    • /e command became either /z or /xr

    Configuration variables changes

    Removed options

    • str.search.max_uni_blocks

    Renamed options

    • str.search.encoding -> str.encoding - Valid for all string interpretations.
    • str.search.max_threads -> search.max_threads - This is a general setting for the search now.
    • str.search.raw_alignment -> search.str.raw_alignment
    • str.search.min_length -> search.str.min_length
    • str.search.buffer_size -> search.str.max_length
    • str.search.max_region_size -> search.str.max_region_size
    • str.search.check_ascii_freq -> search.str.check_ascii_freq

    Dependency

    This release adds a dependency on SoftFloat3 library for RzFloat and RzIL floating point operations.

    Sponsors

    @stephen-fox

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Rizin

    Rizin is a reverse engineering framework, born as a fork of the radare2, with a focus on usability, features and cleanliness.

    Rizin is portable and it can be used to analyze binaries, disassemble code, debug programs, as a forensic tool, as a scriptable command-line hexadecimal editor able to open disk files, and much more!

    To learn more on Rizin you may want to read the official Rizin book.

    How to install

    Look at install instructions on our web page.

    How to build

    Use meson to compile and install Rizin. Please make sure to get an updated meson (e.g. get it with pip install meson if your system does not provide one that is at least version 0.55.0).

    Clone this repository:

    $ git clone https://github.com/rizinorg/rizin
    

    Then compile and install with:

    $ meson setup build
    $ meson compile -C build
    $ sudo meson install -C build
    

    Now you can use rizin:

    $ rizin
     -- Thank you for using rizin. Have a nice night!
    [0x00000000]>
    
    

    To uninstall rizin, execute sudo ninja -C build uninstall.

    Please have a look at BUILDING.md for more information about building Rizin.

    Contributing

    We very much welcome any kind of contributions, from typos, to documentation, to refactoring, up to completely new features you may think of. Before contributing, we would like you to read the file CONTRIBUTING.md, so that we can all be on the same page.

    Tests

    Look at test/README.md.

    Supported features

    Supported Operating Systems

    Windows 7 and higher, Apple macOS/iOS/iPadOS, GNU/Linux, [Dragonfly|Net|Free|Open]BSD, Android, QNX, Solaris/Illumos, Haiku, GNU/Darwin, GNU/Hurd.

    Supported Architectures

    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.

    There is also support for the following bytecode formats:

    Dalvik, EBC, Java, Lua, Python, WebAssembly, Brainfuck, Malbolge

    Supported File Formats

    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.

    Tools

    Apart from the main tool rizin, there are also other tools tailored for specific purposes and useful for shell scripting or as separate standalone tools:

    • rz-bin - provides all kind of information about binary formats
    • rz-ar - list and extract members from static archives (.a and .lib)
    • rz-asm - a command-line assembler and disassemblers
    • rz-diff - a tool to compare two binaries as raw data or analyzed executables
    • rz-hash - allows to calculate different hashes or even encrypt data
    • rz-gg - a small "eggs" code generator useful for exploitation purposes
    • rz-find - binary analog of find tool, allowing to search patterns and bit masks
    • rz-sign - tool to create, convert and parse FLIRT signatures
    • rz-ax - a calculator and number format converter
    • rz-run - a tool that allows to specify running environment and arguments for debugged file

    Scripting

    We provide a way to interact with Rizin from Python, Haskell, OCaml, Ruby, Rust, and Go languages through rzpipe. Other languages although not currently supported could be easily added.

    Community

    Our website and blog: https://www.rizin.re/

    Join our Mattermost community to discuss Rizin, its development, and general topics related to the project.

    We also provide the following partial bridges to other messaging platforms: