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