Skip to content

5.9.6

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 13 Oct 10:54
· 175 commits to master since this release

Release Notes

Version: 5.9.6
Previous: 5.9.4
Commits: 311
Contributors: 27

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

Highlights

More details

Authors

3393304070 Abhi Adam Satko Azox Chédotal Julien Dennis Goodlett Dennis Goodlett John Sebastian Peterson Juho Kuisma Juho Kuisma Keegan Saunders Lzu Tao Marcel Alexandru Nitan Ole André Vadla Ravnås Pau RE Sarveshwaar SS Sylvain Pelissier Valentin Obst Valentin Obst astralia condret kcdq maliByatzes pancake pancake satk0 satk0

Changes

Analysis

  • Fix #21171 - Infinite loop with -e anal.slow=false workaround
  • Support fixed x27 as global pointer reference on Dart binaries
  • Fix some arm64 instruction types and LOADs not LEAs for arm64
  • Fix memory direction and permissions detection in xref
  • Support for jump table constructions for arm64 (Swift binaries)
  • Fix invalid esil for add+shift on arm64
  • Fix #23286 - Add ESIL translation for the MIPS movn instruction
  • Fix ESIL for TST and AND v850 instructions
  • Expose imm value on ADD/SUB arm64 instructions
  • Implement ESIL and reg details for BRAA instructions on arm64
  • Default jumptable word size is 32bit if not defined
  • Fill the op.val for stm8 ref analysis
  • Fix for xrefs permission indicator: -w- r--
  • Use flags check esil references on flags in 'aae'

Architecture Support

  • Assembler support for m68k
  • Fix more x86 assembler instructions
  • Added new Dalvik disassembler contribution by Keegan from NowSecure
  • Capstone6 support: PowerPC, MIPS, ARM64
  • Better TriCore support: fix control-flow-graph, calling conventions, asm.cpu, opex, pseudodisasm support, basic ESIL, and fixed register profile
  • Handle asm.syntax=regnum for the arm.cs plugin
  • Expose asm.cpu options for bpf, not just depend on asm.bits
  • Generic pseudo disasm for non-supported archs
  • Fix stm8 pseudo return
  • Improvements for the tricore, arm, stm8 and x86 pseudo
  • Colorize more stdint types in the ~:)) operator
  • Check if value for rasm2 -c asm.cpu is valid and warn the user
  • Make rasm2 flags more coherent (-s,-S,-o,-O)
  • Fix .ascii and .asciiz directives for rasm2

Binary file formats

  • Fix resizing ELF sections
  • Detect Dart ELFs
  • Fix duplicated and large swift symbol demangling issues
  • Clarify bin.demangle.libs -> bin.demangle.pfxlib
  • Speedup macho parser by reducing repetitive calls to RConfig.get
  • Move lua bin parser, remove globals and refactor its code
  • Detect VisionOS binaries
  • Better bin.str.(min/max) defaults

Shell

  • Replace ia with iA, deprecated 'ia'
  • Add help for $?, ?$?, -, ' and improve other command helps
  • Enforce valid value for asm.offset.relto
  • Handle ^C in agf and afr
  • Add -A and -H commands
  • Replace "" with ' in more * subcommands, wip deprecation for safetiness
  • Fix .! multiline quoted scripts with the shouting dot
  • Add 'test' command with -s, -f, -x and -d flags
  • Accept '@ expressions that dont start with '0x'
  • Use RCore.returnInvalidCommand in many commands for better error handling
  • Add @@f (alias for @@c:afla) inverse recursive function list
  • Add f-0x f-? and other flag removal missing commands
  • Improved syntax error handling on tmpseek expressions

Build

  • Fixes for the webassembly builds for the Frida-trace UI
  • Fix preconfigure.bat setuptools installation
  • Install setuptools if needed in preconfigure.bat
  • Undevilize preconfigure.bat and add MSBuild 2022 Community support
  • Use the latest capstone 5.0.3

Crypto

  • New commands poE and poD
  • Add type definition for CCCrypt import for ios-arm64
  • Add new command to print signature of a block
  • Refactor listing crypto algorithms into a single function
  • Fix rahash2 -B behavior
  • Fix more bugs in /ck tire
  • Fix oobread in /ck for search/tire
  • Add CRC search to magic
  • Add ed25519 private key search

Charset

  • Add space character ascii.sdb.txt
  • Support no string decoding/filtering in disasm, needed for chinese string references

Console

  • Also export scr.color via R2_COLOR env var
  • Horziontal scrolling with control+wheel i graph and visual modes
  • Emit span instead of font in the scr.html filter
  • Add scr.css and scr.css.prefix used in 'ecc' for now
  • New dark theme: gruvbox
  • Fix eco* and refactor theme loading logic

Debugger

  • Use hwbp by default on mac-x64 (m1 fails)
  • Fix xmm?[hl] (dbg_drt test) for Linux x64
  • Add xmm registers for the FreeBSD debugger
  • Added registers st0 to st7, mm0 to mm7 while debugging under FreeBSD
  • Fix #23357 - Add missing flag registers for the freebsd profile
  • Fix bug when calling dr8 in the debug.io
  • Fix #23298 - Breakpoints recoil not working on FreeBSD

Disassembly

  • Use sumarized variable listing by default (asm.var.summary=4)
  • Support tail addresses in pdua..
  • Implement the ano command to manage function annotations
  • Fix #23273 - Honor scr.strconv in emustr, fncarg and add tests
  • Fix #23012 - Make pduoj json consistent with pdj
  • Improved function argument emulation listing

IO

  • Fix #23405 - Implement multibyte binary write support in the 'pb' command
  • Fix wb single byte write behavior
  • Add io.mapinc config variable
  • Fix #23313 - aeim stack locate
  • Fix #23313 - overlapping maps after aeim

Print

  • Improve and document pfb bitfield printing in C, ascii art, oneliner
  • Handle multiline comments in pdsf
  • Display strings with 'ps' until first non-printable character instead of escaping

Projects

  • Make -p/-P available from the r2 shell and better subcommand handling
  • Honor absolute and relative paths in Pze
  • Add scr.prompt.prj to show project name
  • Save and restore annotations

r2pm

  • Honor user env variables, Use git clone depth=1
  • Fix radareorg/radare2-pm#164 - Verboser database/package upgrade r2pm -U / r2pm -UU
  • Remove r2pm -HH, use r2pm -H (without argument), same as r2 and in sync with doc

Search

  • Add /V value range support in rafind2
  • Honor quiet mode to not set noisy flags in /azs
  • Implement /xn command to search for repeated patterns
  • Implement the /xv[s] value array search command
  • Find longer computed strings with /az
  • Add comments (to replace flags) for asm strings
  • Implement /azj and add a test

Types

  • Fix null format when displaying unknown argument types
  • Ignore "signed " prefixed types. signed is the default
  • Add missing setuid/setgid signature type definition

Visual

  • Better visual xrefs layout
  • Fix some emulated reference hints
  • Show function name when scrolling inside the function
  • Fix the q; function signature bug in Vdf

Other

  • Sync $R2_FILE with 'o.' output
  • Add -e cmd.exit to run commands before leaving
  • Fix log level details in r2pipe output
  • Add script to symbolicate iOS kernels using IPSW
  • Update lang.qjs and use quickjs-ng instead
  • Update the /m and /t webuis
  • Initial implementation of the http sessions
  • Deprecate the IS_DIGIT/IS_UPPER/IS_LOWER, we have posix
  • Initial pavement for RCorePriv opaque struct

Security

  • Fix segfault in hex2bin when length is zero
  • Fix assert in some title-less graphs
  • Fix null deref in poS
  • Fix timeout bug in r2r when fd is closed
  • Fix double free in lua bin parser
  • Fix /cp segfault on missing key
  • Fix invalid free in 'icc'
  • Fix a 1 byte overflow in r2cmd and improve logic checks
  • Fix another assert in the tricore.cs because of capstone bugs
  • Fix null deref bug in the swift demangler
  • Dont shift left signed types as reported in bug8 from #23278
  • Fix large left shift in buf.sleb as reported in bug7 from #23278
  • Fix another left shift UB in uleb aka bug5 from #23278
  • Fix addition overflow in ELF relocs as reported in #23278 (bug4)
  • Fix large left int shift in TE as reported in #23278
  • Fix multiplication overflow in PE as reported in #23278
  • Fix UB in uleb128 left shift reported in #23278
  • Fix #23277 - invalid allocation on verdef struct for ELF
  • Sometimes functions end up asserting with empty names
  • Fix assert in the omni command
  • Fix segfault when deallocating arch plugins
  • Fix null deref in Lcj
  • Fix command injection bug in search hit bug exposed by bad asm string
  • Fix memory leak in RLangSession.fini
  • Implement ahb*, use more single quote, fix codeinj vuln and more