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