Mirror of rizinorg/rizin
  • C 97.1%
  • C++ 1.6%
  • Meson 0.5%
  • Pawn 0.3%
  • Python 0.3%
  • Other 0.1%
Find a file
Anton Kochkov 86a5c4a9d0 Fix register sync and flags for missing register lists
Since #6981 a register type without registers in its own arena has no
register list, where it had an empty one before.

* Treat a missing list as empty when the debugger looks up the arena of a
  register type, so flag registers, kept in the gpr arena, sync again:
  `dr rflags=...` failed to write on x86-64 (dbg_dts on Windows).
* Return an empty list of register flag candidates without general-purpose
  registers, so `arf` and `arf-` succeed again on such profiles.
* Document rz_debug_reg_sync().
* Test syncing a flag register kept in the gpr arena, assigning x86-64
  flag registers, and register flags of an empty profile.
2026-11-04 13:05:04 +08:00
.builds http test: Continue on timeout and confirm psutil import (#6768) 2026-09-21 12:07:42 +00:00
.github build(deps): bump actions/setup-node from 6 to 7 2026-11-03 18:30:04 +08:00
.woodpecker Run http test on woodpecker (#6820) 2026-10-01 18:08:08 +08:00
binrz Print negative rz-ax results with a minus sign 2026-10-26 22:17:51 +08:00
cross-compile Add Meson cross build definition file for s390x (#6729) 2026-09-12 12:45:28 +08:00
dist ci: fix macOS package creation 2026-02-01 20:29:59 +08:00
doc Open doc: expand gdb.md with supported packets and commands #6233 2026-10-29 23:58:57 +00:00
examples Rename rz_list_first() / rz_list_last() to rz_list_first_val() / rz_list_last_val() (#5654) 2025-12-20 17:08:59 +08:00
librz Fix register sync and flags for missing register lists 2026-11-04 13:05:04 +08:00
LICENSES Move SDB into RzUtil 2022-07-19 08:45:20 +02:00
patches Apply patches/fix_zydis_amalgamated_riscv32_build to subproject 2026-05-11 11:54:02 +08:00
subprojects Fix capstone build due to riscv 2026-10-28 22:28:14 +08:00
sys Check in CI that new commands printing data offer JSON 2026-10-15 16:44:03 +08:00
test Fix register sync and flags for missing register lists 2026-11-04 13:05:04 +08:00
.appveyor.yml Run http test on Windows (#6839) 2026-10-06 19:37:30 +08:00
.clang-format Remove Language from .clang-format to reuse config for C & Cpp 2025-11-22 12:33:15 +08:00
.dockerignore Drop libuv dependency 2022-08-06 13:20:52 +02:00
.git-blame-ignore-revs linter: update clang-format entries in .git-blame-ignore-revs (#5453) 2025-10-12 12:07:13 +08:00
.gitattributes Run http test on Windows (#6839) 2026-10-06 19:37:30 +08:00
.gitignore Add a doc target building the documentation with a modern theme 2026-09-06 10:23:06 +08:00
.lgtm.yml Make LGTM use Meson 2021-01-28 11:57:28 +01:00
.prettierignore Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
.pylintrc Add leak check in CI (#5553) 2025-12-04 11:02:01 +00:00
.travis.yml http test: Continue on timeout and confirm psutil import (#6768) 2026-09-21 12:07:42 +00:00
AGENTS.md Add AGENTS.md with requirement to disclose agent authorship and flag PRs with detected AI usage. (#6025) 2026-03-13 15:00:14 +00:00
BUILDING.md doc: fix various typos and documentation issues (#5771) 2026-01-10 21:33:54 +08:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#93) 2020-11-24 06:50:10 +02:00
codecov.yml refactor: remove unused mpc subproject (#6091) 2026-03-25 20:30:15 +08:00
CODEOWNERS Simplify CODEOWNERS (#6040) 2026-03-15 15:52:16 +00:00
CONTRIBUTING.md Support GitHub merge queue for required CI checks (#6931) 2026-10-20 16:44:33 +00:00
COPYING Honor FSF filename license rules (LICENSE->COPYING) 2013-03-30 00:54:05 +01:00
COPYING.LESSER Honor FSF filename license rules (LICENSE->COPYING) 2013-03-30 00:54:05 +01:00
DEVELOPERS.md Refactor RzIterator to be stack allocated (#6696) 2026-10-12 12:54:45 +00:00
Dockerfile Upgrade Docker build to Debian 12 ("bookworm") (#6843) 2026-10-09 23:08:33 +08:00
Doxyfile Rewrite the Doxygen configuration to only carry non-defaults 2026-09-06 10:23:06 +08:00
meson.build M68k rzil base (#6706) 2026-10-11 12:06:06 +00:00
meson_options.txt Add a doc target building the documentation with a modern theme 2026-09-06 10:23:06 +08:00
README.md rz-ar: add archive extraction utility (#6036) 2026-03-18 03:51:18 +08:00
REUSE.toml Add Meson cross build definition file for s390x (#6729) 2026-09-12 12:45:28 +08:00
SECURITY.md Add AI tool guidelines (#5474) 2025-10-21 20:53:17 +08:00
snapcraft.yaml Set rizin version to 0.10.0 (#6656) 2026-08-02 20:38:57 +02:00
travis-extract-var.sh SPDX Copyright text for all files based on history 2021-03-05 19:39:15 +08:00
travis-script Use meson setup <dir> instead of meson <dir> 2023-04-26 20:01:47 +08:00

Rizin logo

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: