Reverse Engineeringreverse engineeringdisassemblerdebuggerhex editorforensicsbinary analysis

Rizin

Rizin is a fork of the radare2 reverse engineering framework focused on usability, working features, and code cleanliness. It is a portable tool for analyzing binaries, disassembling code, debugging programs, forensics, and scriptable hexadecimal editing.

Description

Rizin serves as a comprehensive reverse engineering framework and command-line toolset. It enables users to analyze binaries, disassemble code, debug programs, perform forensics tasks, and edit files as a scriptable hexadecimal editor capable of handling disk files and more. The suite includes multiple specialized binaries for tasks like assembly, binary information extraction, diffing, pattern finding, hashing, and signature generation.

Use cases include malware analysis, vulnerability research, software debugging, and binary patching across various architectures. The tool supports multiple architectures and bit widths, making it versatile for different binary formats and platforms. Rizin is particularly valued for its command-line efficiency and extensibility through scripts and plugins.

The package ecosystem includes libraries (librizin0, librizin-common), development files (librizin-dev), and standalone tools like rz-asm, rz-bin, rz-diff, enhancing its utility in automated workflows and integration with other tools.

How It Works

Rizin operates as a modular framework with a core command-line interface (rizin binary) that loads architecture-specific plugins for disassembly, analysis, and debugging. It performs static and dynamic analysis using commands like 'aaa' for recursive code analysis, supports PIE binaries with base address overrides, and integrates libraries for parsing formats like ELF, Mach-O, and PE. Subtools leverage Rizin core libraries for specialized tasks: rz-asm handles assembly/disassembly, rz-bin extracts metadata and debug info, rz-diff computes edit distances or fuzzy hashes, while environment variables like RZ_ARCH and RZ_ASM_BITS configure behavior across tools.

Installation

bash
sudo apt install rizin

Flags

-hShow help/usage for rizin
-ARun 'aaa' command to analyze all referenced code
-a [arch]Set asm.arch
-b [bits]Set asm.bits
-c 'cmd..'Execute rizin command
-B [baddr]Set base address for PIE binaries
--Run rizin without opening any file
=Same as 'rizin malloc://512'

Examples

Display usage and flags for the main rizin tool
rizin -h
Show help for Rizin assembler and disassembler tool
rz-asm -h
Convert 0x46 to base 10 using Rizin base converter
rz-ax =10 0x46
Convert integer 10 to hex using rz-ax
rz-ax 10
Display help for binary program info extractor
rz-bin -h
Parse and dump content of a FLIRT signature
rz-sign -d signature.sig
Generate FLIRT signature from libc.so.6 binary
rz-sign -o libc.sig libc.so.6
Updated 2026-04-16kali.org ↗