github radareorg/radare2 5.8.4

latest releases: 5.9.0, 5.8.8, 5.8.6...
13 months ago

Release Notes

Version: 5.8.4
Previous: 5.8.2
Commits: 277
Contributors: 29

Highlights

More details

Authors

Dennis Goodlett Dennis Goodlett Francesco Tamagni Jose Antonio Romero Jules Maselbas Jules Maselbas Koh M. Nakagawa Lazula Mewt R MewtR Mohamed Lemine Ould El-Hadj Murphy Murphy Murphy Pau Rodriguez-Estivill Richard Patel Siguza Sylvain Pelissier Sören Tempel Teutates Yaroslav Yuvraj Saxena Zhipeng Xue condret icy17 ksen-lin meme pancake

Changes

anal

  • Support function arguments without a name
  • Optimize RCore.analOp() lowers aa from 1m23 to 1m19
  • Make aab even faster (39s -> 32s)
  • Fix #21340 - fix list of callrefs in afij
  • Add some recently seen x86-32 preludes
  • New 'aarr' command to reanalize all function refs
  • Add support for DUP in esil_dfg
  • Add fake =SN for gb to fix the missing =SN warning
  • Implement esil-dfg support for POP
  • Initial implementation of the aob/aobj commands
  • Do not override anal.calls user settings in aaa
  • Use a visited check to speedup recursive reference analysis
  • Invalid call from warning is now a debug message
  • Handle missing LDURH on arm.v35
  • Add refs column in aflt listing and fix refs&xrefs counting apis
  • Remove duplicated code adding a string reference during analysis
  • Set refptr for Xtensa l32r opcode for better disassembly output

api

  • Introduce the new R_CONST macros

arch

  • Migrate cr16
  • Migrate cris from anal to
  • Update to the latest capstone for SH and arm64 improvements
  • Move the riscv.cs plugin
  • Improve v850 esil support
  • Move the pic
  • Move the anal.tricore
  • Improve the NIOS arch plugin with regs, archinfo and invalid
  • Move and improve the anal.alpha
  • Move Vax plugin from anal
  • Add Inferno Dis VM
  • Move the bpf plugins
  • Move anal.lm32
  • Move the z80 plugin
  • Add support for all-bits-set registers needed for LANAI
  • Move the lanai plugin
  • Fix the type used for the fini callback in r_arch_plugin_t
  • Move the mcs96 plugin
  • Fix #21325 - Do not assert when instantiating empty plugins
  • Convert kvx analysis plugin into arch
  • Add esil support for satadd, satadd_imm5, satsub and satsubr v850 instruction
  • Handle wasm control flow errors better
  • Wasm accept br out of if/else
  • Refactor wasm into arch
  • Move xtensa into the
  • Initial re-import of the LUA bin parser and disassembler from extras
  • Move the ws plugin and annotate the plans for 5.9
  • Move or1k into the arch
  • Add evm.sdb.txt with description
  • Add esil support for mulh reg, reg v850 instruction
  • Move anal.evm.cs into arch.evm
  • Rename evm.cs to evm
  • Add esil support for v850 stb, sth and stw instruction
  • Add esil support for v850 ldb, ldh and ldw instruction

asm

  • Add more conditional branch instructions for the arm64 assembler
  • Implement conditional branch instruction for the arm64 assembler
  • Improve armass64 for tbz/tbnz to handle relative instructions

bin

  • Report errors when failing to patch relocs in the internal buffer
  • Implement qword to better display patched relocs in macho
  • Fix #21451 - Support IDREF in cf_dict parsing
  • Apply macho relocs on the swizzled buffer if bin.cache is not set
  • Find libswiftCore and libswiftDemangle in linux paths too
  • Fix wrong check in dyldcache rebase v2 logic
  • Add new fuzz.bin2 program and fix integer overflow for XTAC
  • Prevent an oom in the macho when corrupted fields are involved
  • Fix infinite loop in the xtac parser
  • Fix oom in the LE parser
  • Fix ELF parser hang on malformed .plt.got header
  • Fix sign warnings in the elf parser spotted by msvc
  • Fix absolute path resolution for dwarf source files
  • Remove globals from the MSVC demangler
  • Blindfix for some msvc demangling characters
  • Fix Dis fuzz failure
  • Add missing S_INIT_FUNC_OFFSETS definition for macho
  • Add Inferno Dis VM
  • Improve checks parsing dyldcache headers
  • Fix missing types and paddr/vaddr issue in ihj
  • Fix double free in class method handling
  • Update dyld shared cache parser
  • Better header checks for the MSX plugin
  • Some fixes for the bin.msx plugin
  • Add support for the XTAC file format
  • Add XCOFF64 support
  • Refix another null deref after 586af3f
  • Improve code quality in some RBin plugins (1/n)
  • Fix null deref when no signature is found
  • Minor improvements to elf parse
  • Fix memory leak when parsing DW_FORM_line_strp
  • Use correct compilation directory for binaries that use DWARF before version 5
  • Fix heap overflow in the swift parser

build

  • Add --with-new-io-cache configure and meson flags
  • Use acr-2.1.0 new PKGCFG_DO to speedup pkg-config file generation
  • Fix libdir and includedir in the pkgconfig templates with latest acr
  • Fix #21375 - Generate .sdb files properly for syscalls with meson
  • Fix #21332 - Add missing use_sys_openssl option for meson
  • Fix #21287 - compilation with .c in path
  • Clear SSL (C|LD)FLAGS if not willing to use SSL at all
  • Fix 'no rule to make libcapstone.a' error
  • Fix meson build with x86 option arch
  • Check for linux/can.h at configure time
  • meson: install rasign2.1 man page too
  • Fixes for the offline tarball generation

ci

  • Abidiff shouldnt check internal structs like the capstone ones
  • Remove broken github counters and introduce the sys/counters.sh
  • Add pkg-config for macos-test
  • Add pkg-config for macOS via brew
  • Upgrade to abidiff 2.2
  • Remove LGTM, it's no longer available

cleanup

  • Remove all char* casts in free

cons

  • Fix scr.html when using bold attribute in scr.color=1

core

  • Support R2_PREFIX env var to override compile-time PREFIX
  • Use single quote instead of "" for RCore.call()
  • Fix command injection bugs in patch scripts

crash

  • Fix oob in we command
  • Fix null deref in omr with no maps
  • Fix null deref in fuzzed omt command
  • Fix uaf in r_asm_op_get_hex
  • Fix UAF in y-;q and assert with 0 size functions
  • Fix uaf caused by RRegItem.free instead of .unref
  • Fix oom in the nso parser
  • Fix uaf in xtac and check for more vector allocation failures
  • Fix unchecked vector allocation in wasm
  • Fix oom spotted in the wasm bin parser and other stylish things
  • Fix segfault when saving a project with no write perms in home
  • Fix oobread in dwarf5 parser
  • Fix #21363 - null deref in the wasm disassembler
  • Fix use after free in RStr.replaceAll()
  • Fix null deref in aeg command

debug

  • Fix setting registers in linux/rv64
  • Fix retrieving registers on Linux/RV64
  • Fix #21329 - do not include the privileged registers from the gdb profile

disasm

  • Dont try to resolve strings on call destinations
  • Fix instruction colors when '0' is at the end
  • Deprecate the asm.minicols config variable
  • Truncate invalid strings in disasm

dwarf

  • Add CLLf command as an alias for 'list' and fix @@i

esil

  • Avoid >64 bit shift left on 128bit registers
  • Implement esil for arm64's brk and clarify TRAP usage
  • Simplify the ESIL for x86 shift instruction
  • Better nullchk and reduce dereferences in esil

globals

  • Remove 2 globals from arch.or1k
  • Remove 1 global from arch.snes

io

  • Initial implementation of the io-write-cache command

json

  • iCj always renders valid json, fixing a warning in iaito

lang

  • Run the pending jobs in the qjs repl and expose r2pipe module
  • Add fake 'r2papi' module for r2frida-compile scripts
  • Implement ESM module loader for the QJS runtime
  • Initial support for r_arch plugins via qjs
  • Add support for NIM scripting on top of the QJS engine

magic

  • Add Inferno Dis

panels

  • Move Stack into Debug menu, and add Register columns output

print

  • Improve the pseudo-decompilation output for !x86 and inlined gotos
  • Fix duplicated source lines in CLLf output
  • Honor hex.offset + hex.header
  • Initial support for custom bitmap images

projects

  • Add Pz[ie] command to import/export project in zip format

r2pm

  • Fix support for builddir-less packages
  • mkdir home plugin directory
  • Add R2PM_DIR directive needed for tarball/zip packages
  • mkdir(R2PM_BINDIR) before pkg install, so packages dont have to mkdir

search

  • Magic depth starts at 0 now
  • Remove global magic depth
  • Honor esil.* options in RAnal.search
  • Improve syscall detection in /as
  • Fix #21339 - Fix syscall search when executed twice

shell

  • Fix help message when write fails (omp -> omf)
  • Fix #21380 - Refer to "? in /R for escaping chars
  • Correctly align r_core_cmd_help_match output in inexact mode
  • Update help message for ""? for ""@""
  • Drastically reduce eUsage counter
  • Fix signed integer treated as unsigned in the wX command
  • Fix oobread in load_zign
  • Fix assert in wd command
  • Add ?Tj and get rid of all the eprintf("Usage in cmd.egg
  • Fix #21412 - Implement segment iterator
  • Add help message and improve the ahs command
  • Add support for calling commands with a temporal seek
  • Implement the 'wget' command to download files from http://
  • Autocomplete file argument in wff command

test

  • Load the bin.types again from r2r

tools

  • Fix #21333 - Update radiff2 manpage, add mermaid mode

types

  • Add some basic swift and objc function signatures

util

  • Return NULL on miss in r_file_path
  • Move filter_shell and filter_quoted_shell into RName

visual

  • Honor stack.size in the Stack panel
  • Compute the opcode operand index in the bit editor
  • Handle 'R' key to refresh the slides from disk

Don't miss a new radare2 release

NewReleases is sending notifications on new releases.