Release Notes
Version: 5.9.2
Previous: 5.9.0
Commits: 237
Contributors: 15
curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.2/radare2-5.9.2.tar.xz | tar xJv
radare2-5.9.2/sys/install.sh
Highlights
More details
Authors
3B85A591 Jules Maselbas Kenny Shen Mewt R MewtR Mikael Berthe Richard Patel Roshanlal Sevan Janiyan Sylvain Pelissier astralia condret kyufie pancake pancake
Changes
abi
- Initial implementation of RBuffer.cache
- Add a --with-new-abi, use_new_abi meson option and a CI job
analysis
- Fix #22947 - afbij now returns an array
- Fix #22939 - ub shifts on sixref
- VAX maxinstrsize is 56, assume 64 bytes as maximum valid size
- Dont do aav via aaa on dalvik/java/python
- Fix invalid instructions on mips not recognized as invalid
- SWIs can define branches too
- Honor the optype to fill the opjump field
- Consider that software interrupt sometimes branch
- Honor maxopsz and minopsz in aae, speeding up emulation a little
- Reduce fp, do not run aav when minaddr is zero
- Suggest -B when finding invalid icod refs
- Speedup
ao
by blocksize orders of magnitude - Catch invalid references earlier
- Fix type confussion bug side effecting arm64 on BE
- Add test for ARM-style jmptbl analysis
- Fix jmptable analysis on ARM
- 0707 is used as padding for the s390 compiler
- Add few function preludes for s390x - aap
arch
- Implement R_ARCH_INFO_ISVM
- Implement archinfo callback for Dalvik
- Initial support for stm8
- Add nor in the RAnalOp.toString()
- Provide proper archinfo details for xtensa
- Add missing =BP in the ppc regprofile
- Define aop.type for more s390 instructions
- Fix destination address for the brasil s390 instruction
asm
- Add a bunch of tests (ARM)
- Add support for writeback on indexed ldst (ARM)
- Fix mvn (ARM)
- Fix for register-operand shifts (ARM)
bin
- Handle another double string case for the lowerdash swift mangling
- Handle more Swift demangler tail attributes
- Improve osabi detection for android
- Handle deinit/dealloc swift mangling attributes
- Implement conformsToProtocol mangling logic for Swift
- Support the 'O' element in the swift demangler
- Improved stripped mach0 detection logic
- Do not parse beyond the end of the ELF dynplt section
- RBinFile.setCurBinFile() accepts null now
- Separate the arm vs arm64 reloc import logic
- Fix #22865 - Autodetect thumb main on arm16 elf binaries
- Fix #22804 - Implement a couple of relocs for ppc64
- Fix macho strip checks and add more tests
- Honor bin.filter on vectored symbols
- Use RBuffer.cache for mach0 swizzling
- Experiment with ir* providing reloc write scripts
- Show utf8-blocks details as a separate column in strings listing
- Handle R_390_GLOB_DAT R_390_RELATIVE relocs for ELF/S390
- Load imports on ELF/s390 from the GOT section
build
- Fix git breaking the terminal
- Now sys/user.sh uses rpath and xdg prefix
- Honor NOSUDO and --prefix in sys/install.sh
- Honor --without-syscapstone in pkgconfig even when capstone is found
- Add user-purge target to rimraf user's r2 directories
- Update Windows's preconfigure.bat to autodetect host arch
- Move sys/osx-pkg into dist/macos/pkg
- Fix compilation on native linux-powerpc
- Guard off parts which do no apply to Darwin/PowerPC
- Add rabin2, radiff2 ragg2 and rahash2 to the wapm
ci
- Keep Ubuntu20, disable ASLR to workaround a racy asan bug caused by a kernel change
- Upgrade to ubuntu22 for the fuzz jobs
- Bring back the abidiff into the CI pipeline
cons
- Remove cursor move on Ctrl-l
- Add support for arrow keys on some terminals
core
- Remove the RCconfig(arch.arch) option
crash
- Fix some vulns spotted in the swift demangler
- Fix possible strlen (NULL) and reduce few dereferences in RConsGrep
- Fix two format strings receiving less arguments
- Fix #22932 - null deref in b64:
- Fix null deref in Vbc
- Fix null deref in CL when no binfile is loaded
- Fix oobread and oobwrite caused by an intovf in coff
- Fix #22808 - null deref in r2 -a riscv -c "/ad li a7, 227" clue
- Fix oobreads on fmt of RStr.scanf
- Fix for the infinite loop on windows RCore.fileOpen
- Fix invalid free in 'afl'
debug
- Fix segfault in 'drf' command
- Fix #22831 - Proper baddr on the FreeBSD debugger
- Add ^be|^le|^me rule in reg profiles to support little, big and middle endianness
- Specify endianness in the RReg instance
- Fix RReg endian bug, fixes debugger in s390 and ppc at least
- Fix unaligned ptrace reads - spotted on s390
diff
- Add
wcd
command for patch diffing instruction and sortwc?
lines
disasm
- Don't show zero values as comments
- Fix aii package imports trick when scr.color
- Do not slurp absolute path sources on Apple
- Fix regression in asm.trace.times
- Handle 32 and 64 bit big endian data references (Vdrr1)
- Add asm.bytes.ascii to display instruction bytecodes as text
- Implement soft esil pins, only executed in the disasm loop
endian
- Fix #22933 - fix endian for c4 comparison
- Fix ahi i for .ipaddr casting instruction arguments in BE
- Fix mips.gnu on BE host
- Fix sparc disassembler for big endian hosts
- Fix reading segment count for ELF
- Fix endian bugs in the tcc enum parser
- Big endian RISC-V dis fix
- Big endian AVR encode fix
- Big endian fix for FLIRT
- Big endian fix for ESIL pokes
esil
- Dont use $$ in xtensa
fun
- Add some fun fortunes from GLaDOS//portal
globals
- Remove all globals from search
- Remove one global from the the esil emulation loop
graph
- Hide asm.dwarf.file in the summary graph
help
- Improve /?* and /ad/? helps with 20 more lines
lang
- Initial support for Dart in rlang via system
- Initial support for RParse r2js plugins
port
- Fix pic_pic18 endian bug
- Fix bpf.mr endian
- Fix ebc_disas endian bugs
- Fix pfb and RBitmap in big endian
- Implement pdsfs command for strings-only listings
- Implement pdsfj - as the json output for pdsf
- Use proper color palette for prcn/prcb
- Nibble colordump under prcn/prcb. Idea by Patrick Hurd
- Add EBCDIC-ascii table for the new abi via ?ae
projects
- Add -P command in the shell and error code on project load
r2js
- Initial import of the tags.r2.js script (CTAGS support)
r2pm
- Honor R_SYS_DIRSEP in r2pm env var settings for Windows
ragg2
- Fix #22859 - saving returns w/ immediate string in args + tests
refactor
- Fix some memory leak issues in libr/core/cbin.c flagged by coverity
- Replace RaxActions enum with a struct
- Fixing some coverity issues in libr/core/panels.c
scripts
- Add unzip script example
search
- Make search.verbose=false
shell
- iX -> idx, also refactor some i? lines on subcommand helps
- Fix i subcommand help messages
- Fix o
- Show ledec+bedec instruction decoding results from
?
- mal: manpage listing, markdown renderer, doc/ via man
- Add -k command that mimics r2 -k
- Show 'newabi' in r2 -v
- Show ASAN in -v options when compiling via
gcc
- Add help for the afii command
- Fix command macro parsing and calling and add another test
- Register command calls in the history logs
- Fix ftw flag tags, broken after the RStr.glob refactoring
test
- Fix concurrency issue (improves 71f57c6)
- Fix concurrency issue
tools
- Rename rax2 -L to rax2 -X
- Rename rax2 -I to rax2 -i
- Rename rax2 -B to rax2 -z
- Rename rax2 -l to rax2 -Z
- Rename rax2 -X to rax2 -H
- Rename rax2 -i to rax2 -C
- Rename rax2 = to -b
- Rename rax2 -b to rax2 -l
visual
- Fix VA Visual Assembler in debug mode when io.va is false
- Support live hexpairs input in the visual assembler
webui
- Fix #22818 - Add more mimetypes and avoid (null) from the webserver
zignatures
- Fix #22894 - Add z, to print zignatures in table format
- Implement 'z[j*] ' to show only 1 zignature