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