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 -dd
to download DWARF from thedebuginfod
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
wherebla
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>
, previouslypf.bla
- Writing data requires using
pfw
command instead of justpf
orpf.
pfw
now supports both variants:pfw bla.foo 42
andpfw bla.foo=42
Configuration variables changes:
Removed options:
bin.maxstr
scr.rainbow
Renamed options:
bin.minstr
is nowstr.search.min_length
bin.maxstrbuf
is nowstr.search.buffer_size
bin.str.enc
is nowstr.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.