github radareorg/radare2 5.6.0
5.6.0 - codename Miteigi

latest releases: 5.9.6, 5.9.4, 5.9.2...
2 years ago

Release Notes

Version: 5.6.0
Previous: 5.5.4
Commits: 254
Contributors: 16

Highlights

  • ABI breaks - RAnal api is the new home for the RAsm plugins, reduce installation size
  • Add an initial and working native reimplementation of r2pm in plain C (no posix shell required)
    • Windows support will come later, needs more testing and user feedback.
  • Initial release with support for threads (one RCore per-thread is supported for now)
    • Remove or make TLS globals, add atomic support, fix mutexes and threads
    • r2r testsuite now runs with the thread sanitizer enabled builds
    • Remove all uses of sdb_fmt in exchange of the thread safety r_strf
  • More tests for ESIL and improve quality on x86, arm64, riscv, v850 and more!
  • Improved usability and fixed some buggy interactions in panels, better help messages and improved color themes.
  • Support latest capstone, and prefer system wide installation for better offline builds
  • Add project loading in sandbox mode and add dirty bit to avoid saving things when nothing changed.
  • New commands: pdu, r-/r+, fc, aafs, pcc, /aF, isqq. iS,, axl, /e, pFB, ws# for more pascal string types support
  • Binary PLIST printing (pFB) which combines great with (pFA - for android binary xml)
  • Orders of magnitude faster analysis with aafs and sixref
  • Honor flag colors in hexdump and instruction tokenization in disasm
  • Fix 3 CVEs since 5.5.4, lots of memory leaks and all the coverity critical issues
    • Improve code quality by using new tools and stdint basic types
  • Support arm32 debugging on native arm64 linux hosts
  • Extend scripting support to quickjs and wren programming languages
  • Add time measurement directive to rarun2
  • Add Rabin Karp faster search algorithm (/e) and fix some bugs in the search loops
  • Add new arch plugins: loongarch, evm.cs, v850.np and chip8
More details

Authors -------

Adrian Laskowski Apkunpacker Claudemirovsky Dennis Goodlett Francesco Tamagni Lazula RHL120 Roman Valls Guimera Sylvain Pelissier aemmitt-ns gogo2464 junchao-loongson lasek0 meme pancake pancake

Changes

abi

  • Move asm/wasm into anal, and add new opasm() callback

anal

  • Simpler var counting API
  • Add support for x86-32 callpop artifacts
  • Add ablc, ab-, Fix and optimize in af- and aafs
    • Add ablc, ab-, Fix and optimize in af- and aafs
  • Fix 'afls' and add tests
  • Fix heap overread in loongarch when len < 4
  • Add axl command for consistency with afl for 'axlc'
  • Fix reference order and use the API in sixref (2x faster)
  • Initial implementation of the 'aafs' command
  • Add support for the new loongarch architecture
  • Improve the v850.np analysis, fix all call refs

analysis

  • Simpler var counting API
  • Add support for x86-32 callpop artifacts
  • Add ablc, ab-, Fix and optimize in af- and aafs
    • Add ablc, ab-, Fix and optimize in af- and aafs
  • Fix 'afls' and add tests
  • Add axl command for consistency with afl for 'axlc'
  • Fix reference order and use the API in sixref (2x faster)
  • Initial implementation of the 'aafs' command
  • Add support for the new loongarch architecture
  • Improve the v850.np analysis, fix all call refs

api

  • Add r_core_help_match() to get help for a specific command

arch

  • Initial import of the evm.cs plugin

asm

  • Handle instruction operands in wasm.asm
  • Refactor, improve and move chip8 support out of libr/asm

bin

  • Parse relocs from Mach-O chained binds if no opcodes
  • Add support for rebasing ARM64E_USERLAND24 chained format
  • Fix isqq. command
  • Fix #19541 - Fix null deref and stack exhaustion bugs in the kernelcache
  • Implement iS, command (table query format for section listing)

build

  • Fix #18621 - Specify ABI version to be X.Y instead of X.Y.Z
  • Add 16GB pagefile for the windows ci
  • Simplify meson logic and use ole's PR to fix Windows
  • Add CI job to verify builds with system-wide capstone
  • Use system capstone if available in sys/install.sh
  • Fix ios-sdk compilation
  • Bring back the 32bit builds for Cydia
  • Use api9 for android-arm builds to bring back Kitkat support

charset

  • Add iso8859_1

cleanup

  • Remove globals from tcc code

cons

  • Use static RThreadLock in cons
  • Dont SIGINT in RCons when used in a thready way
  • Improve the 'fc' command to unset and get color flags easily
  • Add scr.theme and Lt commands as alias for 'eco'
  • Improve the basic theme
  • Fix all the known issues in the ayu theme
  • Honor jmp/call argument colors by type

core

  • Fix #19628 - wx+ as an alias for wxs
  • Mark all globals (or most of them) as TLS variables
  • Make RCons thread-friendly
  • Fix race conditions in RCoreTasks
  • Rewrite r_list_uniq with a faster algorithm

crash

  • Fix null deref in xnu.kernelcache
  • Optimize and fix heap overflow in asm.tabs using RStrBuf

debug

  • Expose the 32bit arm reg profile on 64bit hosts

disasm

  • Workaround to handle seg:off on x86_16 due to a capstone bug
  • Fix #15473 - Align meta dwords in the middle of instructions
  • Improve reg detection in asm highlighting + add test
  • Fix reg/flag detection in disasm colorization
  • Initial import of the v850.np plugin
  • Handle anal.cpu=? and fallback for asm.cpu when no asm plugin
  • Add asm.bytes.opcolor configuration option

doc

  • Add 'first session' example in the README

esil

  • Disable ESIL macros and add reproducer test
  • Add helper function for pending macro handling
  • Improve EVM analysis and update tests
  • Macrofication of the '+=' and '-=' esil operations
  • Add support for list12 logic in the v850.np distillation
  • Fix esil for bnd jmp x86 instrs and cmn arm instrs
  • Implement ESIL on more instructions for v850.np
  • Handle ESIL in more v850.np instructions

help

  • Fix helps for aan? aaf? and aes?
  • Fix help for the 'aaa' subcommands

io

  • Fix use-after-free in iobank rbtree usage

panels

  • Autoset cache flag on whitelisted panels on create
  • Fix #19410 - Fix cursor mode regression

parse

  • Use static RThreadLock in TCC

ports

  • Add basic support for loongarch

print

  • Add 'pFB' command to use the new BPLIST parser
  • Add scr.color.ophex to colorize 'px' with opcode type
  • Honor flag colors in 'px' hexdump
  • Fix pxa@e:hex.compact=true and add tests
  • Improve the way color flags are handled
  • Improve pcc output and add a test
  • Add 'pcc' command to print block as C char*string
  • Fix pdsf?, forbid V? and remove newlines in pxA?

projects

  • A better way to check if a project has been saved
  • Add prj.sandbox to enable experimental sandboxed project loading

r2pm

  • Initial implementation of r2pm.c

refactor

  • Use stdint like if there was no yesterday
  • Remove asm.hexagon, anal one is enough
  • Remove asm.ebc and merge disasm into the anal

search

  • Implement /aF and /aFd to search for instructions in functions
  • Add Rabin Karp algorythm to
  • Add r_search_maps to
  • Search adjacent maps together
  • Move /e to new search API
  • Fix bug in regex searching
  • Add longest field to RSearch
  • Add r_search_upate_read API

security

  • Implement fine grained sandbox control

shell

  • Implement rarun2 time=true attribute

tests

  • Initial implementation of the dummy benchmark

tools

  • Fix R2PM_DEPS handling in r2pm -ci

util

  • Fix: Mark r_print_format globals as TLS
  • Add atomic primitives for Windows
  • Add safe static lock initialization
  • Improvements and fixes for the threading APIs
  • Introduce r_strf and stop using sdb_fmt

visual

  • Fix #19409 - Close menu after creating a new panel from it
  • Handle vE as in VE - edit color theme
  • Fix fast jump with ahc on register calls

windows

  • Use I64x instead of llx format strings for mingw builds too

write

  • Add ws1, ws2 and ws4 commands for variable size pascal strings

Don't miss a new radare2 release

NewReleases is sending notifications on new releases.