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.shHighlights
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
catin 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
- 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