github radareorg/radare2 6.0.6

5 hours ago

Release Notes

Version: 6.0.6
Previous: 6.0.4
AbiDiff: 24-39
Commits: 331
Contributors: 28

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

Highlights

More details

Authors

0verflowme Abhi Edoardo Mantovani Eduardo Novella Ignacio Sanmillan Luc Schrijvers MiKi Miquel S. Nikesh Chavhan Pau RE Priyanshu Kumar Quentin BUATHIER Quet Zal Sagittarius-a Sverker Sverker Berggren System Administrator astralia dependabot[bot] dominikfhnw google-labs-jules[bot] gum3t pancake pancake pancake potato qz vicky-dx

Changes

abi

  • The old RStr.pad() is now replaced by pad2

analysis

  • Use code/call/data refs to find shortest flow path
  • Improved support for anal.timeout
  • Handle more arm64 jump tables
  • Expose the ptrsize on more arm LOADS
  • Handle more cjmp instructions for loongson
  • Fallback to recursive esil for too sparse functions
  • Dont change blocksize when running afva
  • Properly expose the ADD imm on arm64
  • Some more consistency fixes for arm
  • Fill the op.val on arm64 CMP instructions
  • Fix #24712 - p8fm mask size mismatch for instructions longer than 8 bytes
  • Add comprehensive ROP gadget tests for ARM32/ARM64/x86-64
  • Fix duplicate xrefs in axff output
  • RThreads use 8MB of stack instead of 1MB

analysys

  • Expose the LOAD size for arm64 LDR ops

api

  • Implement simple arena memory allocator
  • CoreBind getI must resolve ut64
  • RCoreHelp should take a const string as argument

arch

  • Fix wasm opsize read issue
  • Assemble msub, str and stur ARM64 instructions
  • Support encoding ex9.it, ifret and ifcall nds32 instructions
  • Add register alias names for nds32
  • Throw more ESIL and pseudo for nds32 instructions
  • Add support for v1/v2/v3 sBPF bytecode standards
  • Describe all instructions for the COSMAC architecture
  • Support assembling the 'notrack' r{jmp|call} prefix for x86-64
  • Implement x86 assembler for pushfq/popfq and fix cwde
  • Fixed registers name for NDS32
  • Initial import of the hppa pseudo parser
  • Add HPPA disassembler database with instruction descriptions
  • Add the instructionset documentation for nds32
  • Initial import of the nds32 pseudo parser
  • Fix #17637 - ARM64 variable substitution in address calculation instructions
  • Fix #15947 - Compound assignments for the ARM64 pseudo
  • Support asm.pseudo for the x86 BMI1 instructions
  • Assemble the BMI1 instructions for x86-64
  • Fix pseudocode for arm64 movk instruction
  • Add more arm32 instruction descriptions
  • Assembler movsz and movzx for x86-64
  • Add support for ghost nops for x86-{32,64}

asm

  • Fix #24824 - Use asm.imm.base for ATT syntax
  • Custom float directives for rasm2
  • Add Floating Point profiles for VAX, CRAY, IBM370 and more
  • Support signed and unsigned directives in rasm2
  • Initial support for the .db .dw .dd .dq rasm2 directives
  • Eliminate RAsmOp and just use RArchOp
  • Unify asm_massemble and add asm.spp into asm_assemble
  • Implement r_asm_plugin_remove
  • Fix #19171 - movaps assembly with xmmword size specifier

bin

  • Expose sBPF version via asm.cpu and support rebaseable relocations
  • Keep up parsing TPI leaves and support PDBs larger than 64KB
  • Initial support for HPPA / SOM binaries
  • Fix parsing TLS entrypoints in PE64
  • Fix swift demangling on Linux
  • Add missing e_machine EM_486
  • Support large fat machos > 4GB
  • Add the eeprom category for symbols
  • Fix stripped detection for some ELFs

build

  • Remove static builds from release
  • Remove arm64 linux crosscompile
  • Cancel old workflow executions
  • Make pkgConfig unnecessary with R2_CFLAGS|R2_LDFLAGS to r2/r2pm -H

cons

  • Fix null deref in windows when process received ^C
  • Fix multi-byte character support in panels and graphs
  • Clean some code and fix visual wrap regression
  • Fix blinking prompt on windows dietline
  • Refactor the drain csi escape codes logic
  • Fix dietline bug on Windows causing SUPR key to quit
  • Replace fixed line limit with adaptive page-based limit
  • Fix #1973 - line counting for large output
  • Fix hud large filter, resize refresh, fix ansi text wrap
  • RCons.less should act as cat in non-interactive mode

core

  • Initial redesign of the RCoreTasks to support fork and thread jobs

crash

  • Fix oobwrite bugs spotted by clang-analyzer
  • Fix buffer ovf at r_str_scale
  • Fix null deref in '?$' and '$o' when no RBinObject
  • Fix null format in 'fa' command
  • Prevent the :::infinite but interruptable command
  • Fix #24813 - null deref in xnu kernelcache
  • Fix oobread in the command parser
  • Fix two DoS bugs in the iso9660 parser from grub
  • Fix assert on windows when opening a file that doesnt exist
  • Fix race condition in thread_kill
  • Ignore bad bin plugins with null section/symbol names
  • Fix recurive r2ai calls with failed rc
  • Fix #24748 - Avoid double free in pyc parser
  • Fix null deref in rasm2
  • Fix #24737 - NULL pointer dereference in r_anal_extract_rarg
  • Fix null deref crash reported by @astralia during the nn training
  • Fix #24661 - null deref in dsc loader
  • Fix #24660 - Null deref in NE parser

debug

  • Avoid mach exceptions to slip breakpoints by accident
  • Add :tls command in mach:// to print the thread info address (not the tls)
  • Add :tls command for the w32dbg io plugin
  • Fix dd filename handling and add seek reset test
  • Add cfg.regnums (false by default) to read register values via rnum
  • Fix #14715 - Validate pid argument in cmd_debug_continue function
  • Implement extended support for custom floating-point formats in the register subsystem
  • Honor special chars in more rsocket profiles
  • Fix fuzzy backtrace to show complete call stack with correct SP values
  • Add name field to breakpoint JSON list

dev

  • Ship the .clang-format file INSIDE the clang-format-radare2 script
  • Update for the code-format tooling (introducing clang-format-radare2)
  • Introduce the new radare2-format script

disasm

  • Fix #17637 - Don't substitute variables while in stack frame setup
  • arm32 workaround for resolving function arguments
  • Fallback to callconv reg when argument is invalid

doc

  • Improve the manpage to markdown parser
  • The "man" r2 command now loads other categories
  • Install man(3) pages

egg

  • Fix #14765 - Include rasm version of the shellcodes and verify them

esil

  • Honor cmd.esil.trap when running TRAP or invalid code
  • Implement ESIL for the ANDN instruction

flags

  • Add fzs for seeking

fs

  • Initial support for the BeOS Filesystem (BFS)
  • Fix 'mc' for filenames with spaces
  • Add automagic detection for more filesystem types
  • Audo mount ubifs and make it available for meson
  • Miknight Commander improvements (mouse support et al)
  • Add Miknight Commander (mmc) dual-panel file manager for r_fs and local filesystem
  • Implement get64, set and set64 commands in the fs.shell
  • Implement the mkdir command in the fs:shell
  • Fix double fs.cwd bug in the "mw" command
  • Add 'md+' command to create directories
  • Add the new temporal filesystem
  • Add new API r_fs_mkdir
  • Add rafs2 - radare2 filesystem tool
  • Implement filesystem details command (mn) for mounted
  • Add test suite for UBIFS filesystem plugin
  • Fix #23463 - Add support for UBIFS, add prgr and mis commands
  • RFSPlugins expose the cmd interface for m:

io

  • Fix and optimize support for blockdevice
  • Fix and enable rawio by default (use mmap:// otherwise)
  • Fix io.cache truncation bug

json

  • Fix bug in pj and another in json_parser when using arrays of raws

lang

  • Handle ^C and show stacktrace in RLang.qjs

print

  • Add cfg.newpf to run pf2 instead of pf
  • Handle help in pp subcommands, fix ppf, refactor pd and add tests
  • Make clippy capable of emojis
  • Add utf8_display_width api
  • Fix #2953 - Handle functions in pxa (not just flags)
  • Add support for bf16 in rax2 and pf

projects

  • Minor improvements and code cleanup for the old

pseudo

  • Implement minimal pseudo for evm

r2pm

  • Warn when the package database is older than 2 weeks

rarun2

  • Disable read timeout for connect sockets in rarun2

search

  • Fix #24812 - JSON output for Rabin Karp
  • Fix JSON output for Rabin Karp
  • Support JSON output for /s command
  • Use 1024 as maximum valid string

shell

  • Fix grep in quoted commands
  • Add ${relto} and \s handlers for scr.prompt.format
  • Handle ${e:EVAR} variables for the scr.prompt.format
  • Add vaddr, paddr, r:reg and use corehelp in prompt.format
  • Revert "Revert "Parse -h and -H flags before RCore
  • Add rc+value in scr.prompt.format
  • Handle more help messages for u subcommands
  • Initial implementation of scr.prompt.format
  • Handle ^D in -j to leave the r2js repl
  • Fix 'h?' help message
  • Add scr.clippy to select the model
  • Add help for clippy command ?E?
  • Revert "Parse -h and -H flags before RCore
  • Parse -h and -H flags before RCore is instantiated for performance reasons
  • Implement the r2-E flag and -E,ed! commands
  • Add wvg and cfg.float to write custom float values
  • Handle the new 'pd:' subcommands, using r2ghidra-git for now
  • Use Core's SDB to hold the command based suggestions
  • There's no sense to use r_config_eval in r2 -e
  • Handle 'pdc.' to list all the decompilers installed. Like 'e cmd.pdc=?'
  • Fix al and aF subcommand handling
  • Show proper help for the 'ex' subcommands and implement 'export'
  • Fix #24658 - Better conditional commands (?eq/ne/ge/le)
  • Fix r2pm inside r2
  • Help quote help with '?
  • Revamped flagzone commands after 9 years
  • Make rafs2 accessible from inside radare

shell"

  • Revert "Revert "Parse -h and -H flags before RCore
  • Revert "Parse -h and -H flags before RCore

shell""

  • Revert "Revert "Parse -h and -H flags before RCore

socket

  • Use RSocketTimeout(0), reindent and add _fini method
  • Allow to disable timeouts in sockets and forbid negative time

test

  • Handle R2_DEBUG_FUZZ to crash instead of breakpoint on assert
  • Use clang18 in test/fuzz, add C-types fuzzer and make orchestrator
  • Respect r2r to pick an alternative r2 binary
  • Add r2r -q for quiet testing

tests

  • Respect r2r to pick an alternative r2 binary
  • Add r2r -q for quiet testing

tools

  • Add r2 -H R2_ABIVERSION
  • Show if arch plugin supports pseudo disasm in 'rasm2 -L'

types

  • Refactoring and cleanup of the C preprocessor
  • Properly parse static functions
  • Fix parsing C functions without argument names, improved vararg

util

  • Initial implementation for the custom floating point api
  • Revert "Fix the bug in r_str_wrap taking sometimes one less char
  • Fix the bug in r_str_wrap taking sometimes one less char
  • Fix empty output on r_sys_cmd

util"

  • Revert "Fix the bug in r_str_wrap taking sometimes one less char

visual

  • Handle mouse clicks in graph
  • r2slides are now using the .r2.md extension
  • Fix scr.wheel.speed regression
  • Fix another glitch in the hud filtered selection
  • Clippy now supports multiline and long text

wasm

  • Use rasm2 main from r2 in wasi only for now
  • Use 8MB stack size in WASI builds

windows

  • In the preoconfigure add the windows debugger toolkit in the PATH

zignatures

  • Use RStrBuf instead of calling cb_printf many times in the flirt parser

Don't miss a new radare2 release

NewReleases is sending notifications on new releases.