github radareorg/radare2 5.8.8

latest release: 5.9.0
10 months ago

Release Notes

Version: 5.8.8
Previous: 5.8.6
Commits: 192
Contributors: 11

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

Highlights

More details

Authors

Dennis Goodlett Dennis Goodlett Hertatijanto Hartono Luc Tielen Luc Tielen Murphy condret pancake pancake phix33 rgc

Changes

anal

  • Small improvement on tail call detection
  • Check for noret destinations in afbr listings
  • Consider zero pages as invalid code
  • Dont enable debug tracing from type propagation
  • Implement ahb-* missing command
  • Make macos/ios targets inherit types from darwin
  • Fix aod command for pickle arch

analysis

  • Small improvement on tail call detection
  • Check for noret destinations in afbr listings
  • Consider zero pages as invalid code
  • Dont enable debug tracing from type propagation
  • Implement ahb-* missing command

arch

  • Improve tricore.cs handling jumps/rets/movs/
  • Fix ESIL MIPS64 NOR instruction
  • Migrate java plugin
  • Migrate i8080 with full refactor
  • Fix max asm len in pickle
  • Fix cs4 build of the sh arch plugin
  • Honor endianness without messing with capstone initialization in ppc.cs
  • Remove global state in ppc_cs plugin
  • Migrate ppc_cs plugin
  • Update to the latest capstone for new sh and tricore
  • Remove global state in v850 plugin
  • Remove global state from loongarch dis
  • Remove globals/duplicate code in riscv plugin
  • Remove global state in lua5.3 plugin
  • Remove global state from 6502_cs plugin
  • Remove global state from xtensa plugin
  • Cleanup global state in riscv plugin
  • Remove thread local state from m68k_cs plugin
  • Remove global state in loongarch plugin
  • Refactor z80 plugin to not have global state
  • Migrate sparc_cs plugin
  • Add more call level registers for i4004
  • Dont abuse asm.bits in bin.pyc and honor asm.cpu
  • Add support for 4bit registers
  • Initial support for the Sharp SM5xx MCUs

asm

  • Improve adrp instruction assembler and add more tests

bin

  • Warn on unresolved symbols/relocs in ELF and better handle -1 addresses
  • Parse more CodeSignature fields for mach0
  • Parse CodeSignatureDirectory entries for mach0
  • Faster Css using the api instead of Cz with tmpseek
  • Use Css in ELF (instead of section.has_strings) to avoid flags
  • Apply section formats in a second iteration
  • Fix #21823 - tag static elfs as non libinjectables
  • Fix #19964 - show relro:no even if no dyn section is found
  • Add support for even more elf reloc types
  • Add support for more elf reloc types
  • Refactor elf get_import_addr checks
  • Fix #21715 - Add baddr to the class info from DEX
  • Add missing flags for the internal ELF symbol relocactions
  • Check for PT_LOAD segments before fully reading elf phdr
  • Iterate over vector i.s.o. list in elf entries
  • Speed up loading of elf relocs
  • Refactor even more parts of elf loader
  • Refactor more of elf loader
  • Refactor more elf loader code
  • Use main=-1 instead of 0 before finding the symbol in mach0
  • Handling ELF symbols with no name
  • Refactor more functions in elf loader
  • Refactorings for elf loader
  • Add RBinInfo.libinjprot field for mach0 at least
  • Infer asm.os from platform's LC_BUILD_VERSION
  • Improve performance when loading mach0 classes
  • Implement basic pdp11 binary parser and a bit better disasm
  • Add support for more ELF SPARC relocs
  • Implement ELF relocs for SPARC and MIPS and avoid duplicates

build

  • Update and improve r2docker as well as publish the new image into the hub
  • Add r2pm build-arg to the r2docker with r2frida,r2ghidra,r2dec packages
  • Install r2frida and use /usr as prefix for r2docker
  • Apply fixes from the Termux package and update acr
  • Add wasm to the default meson builds

ci

  • apt-get update before install in the syslibs job

cons

  • Faster ~? rcons filtering
  • Improve the twilight theme
  • Fix #21772 - Ensure RCons.raw after reading from user in ~/
  • Early return on RCons.flush() when nothing to do
  • Detect too large input strings in RCons.prompt
  • Fix RCons.readCharTimeout()
  • Remove globals from 2048
  • Remove global state in stiv
  • Fix ::pd and ::? glitch with (null) colors

core

  • Make fortune file selection random
  • Make all the RCoreCmdStr functions R_MUSTUSE its return
  • Refactor global state in vslides

crash

  • Fix UAF in 8051 analysis on fuzzed code
  • Fix out-of-memory allocation on a fuzzed plan9 binary
  • Fix oob write in dyldcache accel loading
  • Store the vector index instead of a weak pointer for the ELF
  • Prevent an oobread in the lua bin parser
  • Fix UAF read in the LUA bin parser
  • Fix UAF in RNumCalc

debug

  • Fix reading and parsing /proc/pid/maps from remote gdb on android
  • Fix #21813 - parsing reg profiles from android-gdbserver
  • Don't run dmh on macOS when not debugging
  • Fix null deref in get_base_from_maps
  • Add initial debug heap support for macOS
  • Initial import of the rv32ima debug plugin

disasm

  • Implement asm.cmt.token to choose the comment prefix token
  • Fix '*' cursor mark on some addresses
  • Implement hint color for nicer disasm comments
  • Implement asm.offset.focus to show addrs ofs interest
  • Add ahi36 and asm.offset.base36=true
  • Implement asm.bytes.asbits to display instruction bits in binary

egg

  • Initial support for arm64 eggs

esil

  • Fix null derefs and memleaks in {esil,debug}traces
  • Improvements in the visual esil debugger and documentation

graph

  • Set terminal in raw mode before entering visual graph mode

io

  • Remove meaningless optimization leftover in io.cache
  • Fix and prevent null assert on RIODesc fixing zip0://
  • Fix hypothetical arbitrary code execution vuln in r_io

lang

  • Implement RLangPlugin.init for Go,Rust,Typescript and Zig
  • Make RLangPlugin.init() actually define if can be instantiated
  • Fix RCons.noflush issue when using '-i foo.c'
  • Improve r2js module loading, honoring relatve and absolute paths
  • Update r2papi.ts 0.1.1
  • Support relative module resolution in qjs
  • Fix alias marker parser in the qjs loader
  • Handle .r2.js file extension

main

  • Move .inc files to .inc.c for editor support
  • Remove global state and fix memory leak in rabin2

print

  • Fix invalid json on 'pfj x[1]z'
  • Fix assert on null deref with the 'pf E' command
  • Let 'pxr' follow tagged pointers

qjs

  • Handle multiple ../ imports

r2pm

  • Implement r2pm -t for timeless packages
  • Fix r2pm when launching it from a deleted working directory

search

  • Implement Css (section string scan) and Csz (same as Cz)
  • String search no longer requires a keyword

shell

  • Show log.level=? help message
  • Merge all R*2_NOPLUGINS as R2_NOPLUGINS
  • Ship and use our own manpage reader
  • Implement man command for launching "man pages"
  • Autocomplete -i command
  • Fix help message for idp?
  • Show capstone version in r2 -v
  • Show build system used (meson|make) in r2 -v
  • r2pm search is case insensitive
  • Fix the r2p tool and add a test
  • Fix help for ?:? and show its links with =!

shlr

  • Fix undefined behavior when reading java uints

tests

  • Implement r2r -g to run the tests associated with the files changed

tools

  • Implement rax2 -rS and update manpage

util

  • Add support for base36 numbers
  • Remove global state in time.c

visual

  • Visual ESIL debugger improvements
  • Improve and simplify Vv ascii art, and make it available from panels
  • Call more setraw() to fix a recent visual regression
  • Improve interactive config and color editors

windows

  • Fix stty windows warning

Don't miss a new radare2 release

NewReleases is sending notifications on new releases.