github radareorg/radare2 5.9.8

19 hours ago

Release Notes

Version: 5.9.8
Previous: 5.9.6
Commits: 202
Contributors: 15

curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.8/radare2-5.9.8.tar.xz | tar xJv
radare2-5.9.8/sys/install.sh

Highlights

More details

Authors

Adam Satko Azox Chédotal Julien Juho Kuisma Quentin Kaiser Sylvain Pelissier W0nda astralia condret pancake pancake satk0 sha0coder suidpit wagner riffel

Changes

analysis

  • Add array of values for arguments in aobj
  • Fix aobj representing undefined behaviour bits
  • Fix string ref direction and improve false positive xref types
  • Better indirect code reference detection via flags
  • Skip string/format/data metatypes from the ref analysis
  • Fix false positive string ref spotted as write
  • Fix 'aa' warning when no sections in binobj
  • Make afvt work with 1 parameter to display the type, instead of silently failing
  • Add recursive information in afi
  • Implement aflmr command to list all recursive functions
  • Fixes for the stm8 calling convention
  • Add aflmu command to list function calls once
  • Handle direction and support pointer RAM references for stm8
  • Disable indirect pointer references for stm8
  • Implement 'afln' command to list all function names

arch

  • Add parse.pickle plugin
  • Add the gb.pseudo plugin
  • Fix more issues for stm8.pseudo
  • Add pseudo for rvf stm8 instruction
  • Clarify STM8 memory access, references and immediates in disasm
  • LOADs can be STOREs too in stm8land
  • Use [] syntax instead of the confusing () for stm8
  • In stm8 use brackets for memory writes with mov

bin

  • Fix #23538 - iS sha1,sha1/sort/inc table queries + entropy
  • Cache sections in dwarf parser
  • Handle table queries for imports and segments
  • Use raw symbol name in flatItem.realname instead of the flag name
  • Add math category imports (and few more string)
  • Improve iic subcommands for listing uniq xrefs and more
  • Improve iic command for classifying imports
  • Fix crash in 'iic' and add more import types
  • Fix RVA to offset conversion on PE binaries
  • Remove a hack that breaks parsing sections in some PE

bug

  • Fix broken test exposing reentrant RNum.math glitch

build

  • Fix #23622 - Use USEMESON when builddir contain spaces
  • Fix make purge
  • Aim to fix the duplicated sha symbols from rvc cyclic dep
  • Correct OpenSSL imports
  • Fix qjs when using asan
  • Fix qjs symbols visibility
  • Define cstd for meson-w32
  • Install scripts

config

  • -e log.level accept strings too
  • Use XDG cachedir and expose it via dir.cache for annotations

cons

  • Fix #23588 - remove empty lines when sorting and add grep+end test

core

  • Fix #23639 - Implement e+ command to set config vars in r2rc
  • Increase float and double precision

crash

  • Fix #23657 - Command injection vulnerability via rbin->r2
  • Fix #23581 - Infinite loop with unsupported dwarf command
  • Fix #23581 - (again) bin3 dwarf infinite loop
  • Fix #23581 - (again) another infinite loop in the dwarf parser
  • Fix #23581 - (again) another infinite loop in the dwarf parser
  • Fix #23610 - Stop parsing compressed DWARF sections
  • Disable fortunes in sandbox mode, better null checks
  • Lots of small improvements and bug fixes in the dwarf parser
  • Fix #23581 - DoS in DWARF parser
  • Fix infinite loop in pdc (pseudo decompilation)
  • Fix #23529 - Stack exhaustion overflow in the c++ demangler

crypto

  • Simplify print hash
  • Update cipher plugin descriptions
  • Add ssl builds in the CI and add the SipHash SSL plugin
  • Create sip hash plugin
  • ASN.1 display corrections + fix tests
  • Correct print strhash
  • Fix #22140 - Add bech32 encoding/decoding
  • Update algorithm descriptions
  • Add offset on MK hit for SM4
  • ASN.1 printings enhancements

debug

  • Revert e0b1977 - bring back the full IO address space
  • Stop earlier in glibc checks in dmh
  • Fix dra? in debugger mode (exposed by ?*)

decompiler

  • Fix some broken gotos in pdc
  • Include callconv information in pdc output
  • Honor afs in pdc

disasm

  • Fix false positive in op.ptr(char) reference
  • Add asm.cmt.wrap to ignore asm.cmt.right on long comments
  • Implement asm.cmt.pseudo config option

doc

  • Use SPDX license names for RLang plugins
  • Use SPDX namings for crypto, and list them in Vj
  • Use SPDX license namings in all the arch plugins
  • Use SPDX license namings on all the bin plugins
  • Use SPDX naming in all IO plugins
  • Fix segfault in dL and use SPDX namings on all debug plugins
  • Initial import of the scripts/licenses.r2.js

dwarf

  • Fix DWARF5 file parsing
  • Fix DWARF5 parsing when a MD5 checksum is present

fs

  • Dont load empty fs plugins

globals

  • Remove globals in RCore.cmdMeta

io

  • Minor fixes in io
  • Minor optimization in r_io_bank_locate
  • Give local seek to iobfd
  • Use R_IO_SEEK instead of SEEK
  • Undo some ret2libc harm
  • Dont priorize null:// maps on macho binaries
  • Honor custom seek when map address is set

lang

  • Handle base64: in #!-e
  • Fix #!python -e

lint

  • Add script for linting assert lines on all R_APIs

performance

  • Minor optimizations in RBuffer.bytes

print

  • Import charsets from imhex
  • Fixed old_offset not restored on pdj
  • Improve error handling in pfb strings

projects

  • Save/restore comments in the new projects
  • New prj core plugin as PoC
  • Inform about the project path before removing
  • Honor prj.files in o*
  • Fix copying main executable when prj.files is set

r2js

  • Update to the latest quickjs-ng and pin commit to fix vs2022 build
  • Update to the latest quickjs-ng, so we dont need to ship custom patches
  • Fix "TypeError: not a function" error with an ugly hack
  • Update r2papi to the test version from git

search

  • Add /h* and make /h behave like the rest
  • Add /abf to search loops in current function
  • Display SM4 master key when found

shell

  • Better handling invalid subcommands
  • Handle table queries for strings in "iz,"
  • Handle comma subcommand for "ic"
  • Support @% for reading variables too
  • Fix #23561 - report 'drq' as an invalid command
  • Improve and extend $D numvars
  • Extended $M numvars
  • Refactor and improve $F and $B numvars
  • Refactor, improve and extend all the $S numvars
  • Refactor and extend the numvars for flags
  • Refactor instruction $variables under $i
  • Cleanup, handle errors and support : syntax for $k{}
  • Refactor and extend few RNum $O->$$c|$$$c + error handling
  • Fix xdg cachedir and histfile path issues
  • Fix invalid command error message when subcommand is the null char
  • Fix "?E C.." bug in clippy
  • Don't show license column in r2 -L. use json to get author+license
  • Handle more invalid subcommands under 'a'
  • Invalid h subcommands dont flush the error text
  • Fix all the plugins listing in r2 -Vj

test

  • Set pager to cat in sys/lint.sh

tools

  • Add 'stdouterr' directive in rarun2
  • Add r2 -1 to redirect stderr into stdout

util

  • Initial implementation of the new LZ4 implementation

visual

  • Implement yank/paste in visual bit editor
  • Implement endian swap in visual bit editor
  • Support multibyte inc/dec with Vd1[+-]
  • Implement word size concept in the visual bit editor
  • Implement Vd1! to toggle all bits from the selected byte
  • Handle [] and ; keys in Vv

Don't miss a new radare2 release

NewReleases is sending notifications on new releases.