Skip to content

5.9.2

Compare
Choose a tag to compare
@github-actions github-actions released this 20 May 23:35
· 766 commits to master since this release

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 sort wc? 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

print

  • 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