Releases: rizinorg/rizin
Release v0.8.1
- Fix tree-sitter's C grammar dependency building
rz-find: do not print filenames without a match- Forbid
aavanalysis step when the architecture is MIPS (fixes misalignment issues) - Fix
izxandizcommands help - Fix
pxfcommand 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
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 -Eto execute a command on every matchrz-ax- add MS-DOS and Win32 timestamp conversion- Add linker version to
rz-bin -Ioutput
New commands
dcco- continue until callaezsue- step until PC equals given address and output RzIL VM changesfdtcommand to print more information about the flagdbttto print in a table modeaLccommand to list features and CPUs of an RzArch plugin (andrz-asm -mto do the same)/cmto search for cryptographic materials/ceand/cefcommands for entropy search/zcommand for searching strings (supports now Unicode 16, regex, and many encodings).izxdata to list strings that are referenced from somewhere else
Removals
- Deprecated APIs
- RAP protocol
- NIOS-II architecture support
fbcommanddtacommand/w- now handled by/z/!/b/f/+/cd/ca/crobrrizin -Qflag
Renames:
avgrenamed intoavgl, added table mode/command became/z/ecommand became either/zor/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_alignmentstr.search.min_length->search.str.min_lengthstr.search.buffer_size->search.str.max_lengthstr.search.max_region_size->search.str.max_region_sizestr.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
Release v0.7.4
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
mcommand that doesn't exist - Fix NetBSD 10 build
- Improve OpenBSD debugger process state handling
- Forbid declaration of
__ucrt_int_to_floatfrom Win SDK 10.0.25182.0 - Various CI-specific fixes
Release v0.7.3
- Roll back prepackaged XZ version to 5.2.9
Release v0.7.2
- Disable PCRE2 JIT on macOS
- Fix building with newer tree-sitter runtimes
Release v0.7.1
- Fix global variable loading from projects
- Fix PageUp and PageDown use in the graph mode of
Vv - Fix
pfformat 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
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.
New command line options
rz-bin -ddto download DWARF from thedebuginfodserver
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
pdfto 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
afvlcommands to support long (afvll) and table (afvlt) outputs, integrated DWARF storage information pf.now requires space after dot- Any
pfcommand now recognizes named format - it should start from dot, e.g.pfs .blawhereblais 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>, previouslypf.bla - Writing data requires using
pfwcommand instead of justpforpf. pfwnow supports both variants:pfw bla.foo 42andpfw bla.foo=42
Configuration variables changes:
Removed options:
bin.maxstrscr.rainbow
Renamed options:
bin.minstris nowstr.search.min_lengthbin.maxstrbufis nowstr.search.buffer_sizebin.str.encis nowstr.search.encoding
New options:
str.search.reloadstr.search.max_threadsstr.search.max_uni_blocksstr.search.max_region_sizestr.search.raw_alignmentstr.search.check_ascii_freqstr.search.modebin.dbginfo.debuginfodbin.dbginfo.debuginfod_urlsbin.dbginfo.dwo_pathbin.dbginfo.debug_file_directorybin.hashes.defaultasm.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
Release v0.6.3
- 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.hwbpconfig variable - Fix
j/kmovements in visual hexdump mode - Fix some leftovers of the
?icommand - Try searching for
backtrace()in libexecinfo. - Implement
add r#, Kin the x86 assembler - Improvements in
w?help andenvcommand - regex: support
\s - Refactor some
rz_core_cmd*()calls to use the API instead
Release v0.6.2
- 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++ands--commands - Fix infinite loop condition in parsing some ELF files
- Fix various memory leaks
- Fix
envcommand help message - Update
rizinandrz-diffman pages
Release v0.6.1
- 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$varnamevariables