Skip to content

Release v0.7.0

Compare
Choose a tag to compare
@github-actions github-actions released this 24 Feb 04:06
· 332 commits to dev since this release
78d4043

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