Skip to content

Releases: rizinorg/rizin

Release v0.8.1

04 May 18:09

Choose a tag to compare

  • 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

Release v0.8.0

27 Apr 13:01

Choose a tag to compare

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):

Screenshot 2025-04-22 at 8 51 07 PM

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

Release v0.7.4

21 Dec 13:05

Choose a tag to compare

Security fixes

  • Fix CVE-2022-1207
  • Fix out of bound read in GNU CRIS analysis plugin
  • Fix out of bound read in ObjC analysis
  • Harden string limits check in coresymbolication
  • Always check for NULL after allocating memory during the parsing of dyldcache

Miscellaneous

  • Remove a call to m command that doesn't exist
  • Fix NetBSD 10 build
  • Improve OpenBSD debugger process state handling
  • Forbid declaration of __ucrt_int_to_float from Win SDK 10.0.25182.0
  • Various CI-specific fixes

Release v0.7.3

14 Apr 02:16

Choose a tag to compare

  • Roll back prepackaged XZ version to 5.2.9

Release v0.7.2

05 Mar 14:40
87add99

Choose a tag to compare

  • Disable PCRE2 JIT on macOS
  • Fix building with newer tree-sitter runtimes

Release v0.7.1

03 Mar 16:40

Choose a tag to compare

  • Fix global variable loading from projects
  • Fix PageUp and PageDown use in the graph mode of Vv
  • Fix pf format generation for union C types
  • Remove the plugin from the list if the initialization step fails
  • Unset static linking of PCRE2 if the system library is present
  • Do not use the WX pages allocator for PCRE2 JIT on macOS platforms

Release v0.7.0

24 Feb 04:06
78d4043

Choose a tag to compare

In this release we continued adding the RzIL uplifting support for different architectures - Infineon Tricore, NEC V810, NEC(Renesas) V850, GameBoy. Floating point support for x86 RzIL uplifting was added as well (experimental until the next release).

One more notable change - by default we use the Capstone 6, you can read about details in the auto-sync blog post. Capstone 3 (and below) support was removed.

Another major change - greatly improved support for DWARF and PDB debug information, including various versions, compressed formats, different architectures support, and extracting global variables.

Support for loading debug information from debuginfod was added as well as support for loading "splitdebug" DWARF files.

Various refactorings to improve binary loading and analysis speed were performed, along with continuing battle to eliminate global state to make Rizin thread-safe.

Screenshot 2024-02-24 at 8 31 47 AM Screenshot 2024-02-24 at 8 32 25 AM

New command line options

  • rz-bin -dd to download DWARF from the debuginfod server

New and changed commands

In this release we continued refactoring from the old shell to the new one.

  • A new command to list all RzIL instructions in the current function similar to pdf to print all assembly instructions - plf
  • Added new command to print CFG (agF) and the interprocedual CFG (agCi)
  • Added new command to print references to a global variable (avgx)
  • Extended afvl commands to support long (afvll) and table (afvlt) outputs, integrated DWARF storage information
  • pf. now requires space after dot
  • Any pf command now recognizes named format - it should start from dot, e.g. pfs .bla where bla is the format name
  • Defining new format now requires using pfn <format name> <format>
  • Listing named formats - pfn (before - pf.)
  • Print definition of the named format - pfn <format name>, previously pf.bla
  • Writing data requires using pfw command instead of just pf or pf.
  • pfw now supports both variants: pfw bla.foo 42 and pfw bla.foo=42

Configuration variables changes:

Removed options:

  • bin.maxstr
  • scr.rainbow

Renamed options:

  • bin.minstr is now str.search.min_length
  • bin.maxstrbuf is now str.search.buffer_size
  • bin.str.enc is now str.search.encoding

New options:

  • str.search.reload
  • str.search.max_threads
  • str.search.max_uni_blocks
  • str.search.max_region_size
  • str.search.raw_alignment
  • str.search.check_ascii_freq
  • str.search.mode
  • bin.dbginfo.debuginfod
  • bin.dbginfo.debuginfod_urls
  • bin.dbginfo.dwo_path
  • bin.dbginfo.debug_file_directory
  • bin.hashes.default
  • asm.var.fold

New features

Support for new hash and encryption algorithms - SM3, SM4

New architectures

  • Renesas RX
  • Renesas RL78
  • Renesas (formerly NEC) RH850 (continuation of NEC V850)

New depedendencies

  • PCRE2

Documentation

Code documentation and man pages were updated and improved.

Sponsors

@stephen-fox

Release v0.6.3

18 Oct 00:02
36a1bf3

Choose a tag to compare

  • Fix a double free in LE file format handling
  • Fix arrow keys on some terminals
  • Fix #3835: off-by-1 for 32-bit x86 stack args
  • Fix dbg.hwbp config variable
  • Fix j/k movements in visual hexdump mode
  • Fix some leftovers of the ?i command
  • Try searching for backtrace() in libexecinfo.
  • Implement add r#, K in the x86 assembler
  • Improvements in w? help and env command
  • regex: support \s
  • Refactor some rz_core_cmd*() calls to use the API instead

Release v0.6.2

14 Sep 07:01

Choose a tag to compare

  • Update to Capstone 5.0.1
  • Update to zlib 1.3
  • Fix syscall definitions preprocessing
  • Fix forgotten remnants of the old ? command (was changed and reworked to % command in previous releases)
  • Refactor pointer command (*) to use the API
  • Fix multiple Use-After-Frees in disassembly and PYC parsing code
  • Fix division by zero in s++ and s-- commands
  • Fix infinite loop condition in parsing some ELF files
  • Fix various memory leaks
  • Fix env command help message
  • Update rizin and rz-diff man pages

Release v0.6.1

19 Aug 18:12

Choose a tag to compare

  • Fix CVE-2023-40022
  • Fix memory leak in disassembly
  • Fix Tricore disassembly performance
  • Fix AVX512 detection in BLAKE3 (fixes building for older generations of macOS systems)
  • Fix help in visual mode
  • Unify crypto plugin API to match other types of plugins
  • Add %$ command to handle Rizin $varname variables