Skip to content

5.7.8 - codename "boredom"

Compare
Choose a tag to compare
@github-actions github-actions released this 13 Sep 16:53

Release Notes

Version: 5.7.8
Previous: 5.7.6
Commits: 307
Contributors: 17

Highlights

More details

Authors

Axel Iota Ben L Denis Ovsienko Dennis Goodlett Dennis Goodlett Francesco Tamagni Nikhil Saxena Paul B Mahol Richard Patel Seunghwan Chun Sylvain Pelissier adwait1-g condret erfur pancake pancake rax64

Changes

anal

  • Define =SN for the sparc register profile and improve warning message
  • Include bb instruction addresses in an array for abj
  • Fix more tests to run outside x86-64
  • Implement aflx and aflx* commands to re-analyze function callers
  • Implement aflm. and aflm? to print the makefile-style function call summary
  • Fix bug in esil_cfg
  • Implement r_anal_esil_dfg_reg_is_const
  • Fix quotes in pickle assembly
  • Improve aab results by using section size
  • Refactor esil new in cmd_anal
  • Refactor ar set command to static func
  • Fix '/gg' output
  • Fix duplicate aarch64 syscalls
  • Fix leak in 'aex' command.
  • Fix compilation warning
  • Silence compilation warning in show_reg_args()
  • Fix leak in r_core_esil_step()
  • Check list allocation return value
  • Fix leak of RAnalBlock in false return code path
  • Check that vector length is not 0
  • Fix leak of list when using asj command
  • Fix leaks caused by not calling r_anal_op_fini()
  • Add pickle descriptions

analysis

  • Define =SN for the sparc register profile and improve warning message
  • Include bb instruction addresses in an array for abj
  • Implement aflx and aflx* commands to re-analyze function callers
  • Fix duplicate aarch64 syscalls

arch

  • Support assembler plugin resolution by aproximated name
  • Rename asm.arm_cs to asm.arm
  • Merge asm.sparc_gnu into anal.sparc_gnu
  • Lowercase all pickle instructions
  • Upgrade to the latest capstone-next for ppc purposes

asm

  • Fix integer overflow in match_c_lui()

bin

  • Fix boundary check in mach0 fixups reconstruction
  • Fix two oobreads in coresymbolication and dyldcache
  • Update coresymbolication cache parser
  • Add table's :help and ignore commas in i subcommand parsing
  • Fix incorrect relocs=false in macho
  • Fix regressions affecting dyldcache parsing
  • Fix #20624 - Implement ic, command to query klass information
  • Fix oba $$ in frida://0 global
  • Add support for REL file format plugin
  • Support powerpc coffs
  • Handle RABIN2_MACHO_SKIPFIXUPS env var in the macho parser
  • Add wasm globals to symbols
  • Fix leak in bin_sections

build

  • if != ifdef on msvc
  • Add lint for C++ include support

ci

  • Fix #20655 - Zip the blob for windows

config

  • Fix prj.alwasyprompt description text

cons

  • Fix a couple of coverities in canvas and dietline
  • Fix 'num' display with gentoo theme on 256 term
  • Add to all themes 'ecd' at start
  • Remove duplicate entry for basic theme
  • Fix background color for dark theme
  • Simplify ansi color mapping
  • Fix several bugs when interacting in VE mode
  • Fix leak in nextpal()
  • Fix leaks in VE mode
  • Fix leak of memory returned by r_str_ansi_crop()

core

  • Fix leaks when calling r_flag_all_list()
  • Fix leak in error path of r_core_anal_search_xrefs()
  • Fix leak of pointer left behind

crash

  • Fix stack exhaustion bug in the c++ gnu demangler
  • Fix oobread in protobuf parser
  • Fix oobread in r_str_is_printable_limited
  • Fix UB bug in afi command causing random segfaults
  • Harden swift demangler
  • Harden msvc demangler
  • Fill null deref check in the x509 parser
  • Fix two more bugs in pdb found by libfuzzer
  • Some safe fixes in rbin
  • More r_run_parseline fixes
  • Fix #9782 - r_run_parseline OOB read
  • Fix oob write in dyldcache
  • Fix null deref on non-capstone builds

crypto

  • Add SM4 block cipher

debug

  • Add new 'drp*' 'arp*' commands to flag the reg arena
  • Fix build for 32bit iOS debugger
  • Fix process detach in the xnu debugger
  • Fix arm64 register access in xnu debugger
  • Initial blind support for io.self for serenity

diff

  • Implement radiff2 -B to specify base address
  • Emit json when radiff2 is run with -Cj

disasm

  • Fix #20202 - pd-55 showing invalid instructions

esil

  • Fix tests and emulation for x86_cs BSR and BSF instructions
  • Add warning for esil op $$ deprecation
  • Tag dfg nodes that are vars with constant values properly in esil_dfg.c

fs

  • Implement mdd, mdq and ms's ls -l
  • Add initial fs.zip plugin, listing only for now

fuzz

  • Fix another crash in the protobuf parser
  • Fix too much time spent loading corrupted dyldcaches
  • Fix negative allocation in the dex parser
  • Fix infinite loop in dyldcache parser
  • Fix large allocation bug in wasm parser
  • Fuzz pdb
  • Fuzz protobuf
  • Fuzz pkcs7, punycode, x509
  • libFuzzer demangler target
  • libFuzzer bin target
  • add libFuzzer integration, r_run_parseline test

globals

  • Remove two global variables in the anal.ppc.cs plugin
  • Remove global in cons.rgb
  • Remove globals in bin.sms
  • Remove globals in flirt and apply some extra cleanups

graph

  • Implement new toyish visualization command agt
  • Implement aggb command, like agfb but for agn/age
  • Add cmd.bbgraph to use a different command to render the basic blocks
  • Remove hack fixing a bug that is now gone for agn

io

  • Initial implementation of the reg:// io plugin
  • Fix #20616 - Fix analysis when using io.cache
  • Implement wcu command to undo cached writes
  • Initial implementation of the xattr io plugin
  • Fix leaks on error path in r_io_zip_open_many()

lint

  • Enable linting for trailing tabs

panels

  • Fix #20651 - Decompiler panel was disapearing after clicking

print

  • Implement pxu{1,2,4,8} like pxd but unsigned
  • Fix w6e and w6d, Add w6x, p6[e|d][s|z] + tests
  • Fix #20540 - pc should use an unsigned char buffer
  • Implement p8x and p8* similar to y*

refactor

  • Add linting to spot misuses of r_strbuf_appendf and fix them all
  • Minor optimization of generated esil expressions
  • Remove some unused macros in anal_riscv_cs
  • Remove occurences of $$ in riscv esil
  • Remove occurences of $$ in mips_gnu esil
  • Remove occurences of $$ in bf and mips_cs esil
  • Move the asm.m68k.gnu into the anal
  • move asm.arm_windebg to anal.arm_wd
  • Remove occurences of $$ in v810/v850 esil
  • Minor optimization of generated esil in anal_arm_cs.c
  • Minor optimization of esil generation in anal_arm_cs.c
  • Avoid =[*] in arm_cs esil
  • Remove occurences of $$ in arm_cs esil
  • Move lanai from asm to anal
  • Move the hppa plugin from asm to anal
  • Use more R_LOG in cmd.open
  • Merge asm.arm.gnu into anal.arm.gnu
  • Move asm.ppc.cs into anal.ppc.cs
  • Merge asm_arm_cs disassembler into anal_arm_cs

search

  • Add help message for /at?
  • /at accepts a comma separated list of optypes
  • Enable emulation in /as, it's fast enough and results are better
  • Test and benchmark --with-sysmagic in the CI

shell

  • Add open command as a wrapper for the system launcher
  • Fix #20387 - woa 1 confusing error message
  • Honor autocompletion in the of command
  • Use RCoreHelp for j? and uc? to fix a lint
  • Add |E |D |J pipe aliases for base64 command execution and encoding
  • Support interpreting executable binaries with r2 -i or '.'
  • Don't print eol chars for now to fix an r2pipe issue
  • Make command repeat behave as expected with the foreach operator
  • Improve the yank command and help
  • Honor : table modifiers in om,
  • omt->om, and make omr print map size with no args
  • Implement s** for proper seek history parseable output
  • Implement ics command to list address of class methods
  • Protect ms shell with scr.interactive
  • Fix null deref crash in RTable and improve C,
  • Implement 'e,' for table format, old e, is now e:
  • Use RCore.help instead of eprintf in more commands under aa
  • Implement y- command and some other indentation fixes
  • Use : instead of =! in all the io plugin help messages
  • Fix autocompletion for :. for r2frida

tests

  • Fix total amount count of tests in r2r output
  • Add test index progress in default output
  • Support REQUIRE in r2r tests
  • Add a few tests for cBPF conditional jumps.

tools

  • Remove all global variables in rahash2
  • Implement native r2pm pkg registry, buffer r2pm -s
  • Enable r2pm-native when calling it from r2
  • Use R_LOG in libr.main and fix RLogLevelMatch
  • Allow rasm2 -f to open files with r_io files
  • Fix ragg2 -C for pe64
  • Fix memory leak on error path of rabin_do_operation()
  • Fix leaks of allocated memory for duplicate plugins
  • Check return value of r_list_new()
  • Improve pid directive in rarun2, better info reporting

types

  • Fix #16492 - Handle - suffix in te and ts, add tests

util

  • Tests for the "standard" splist() implementation
  • Minor bugfix in strbuf.c
  • Add some more asn1 oids from apple
  • Check for RGraph in r_graph_free()
  • Fix several issues in r_syscmd_join()
  • Fix leak of char* in r_table_visual_list()
  • Fix leak in some yanking cases
  • Fix possible leak of list after each loop iteration
  • Move eprintf message to debug log
  • Check if RList* is available before calling r_list_get_n()
  • Fix leak in r_log_vmessage()

visual

  • Add 'pxu' mode to
  • Improve visual text editor navigation ('j' moves to next line)
  • Fix #20602 - Insert and cursor glitching in hex panel
  • Implement interactive text editor mode in VPi command
  • Fix insert nibbles in visual hex editor
  • Use p8x and remove pcj from visual list

windows

  • Implement r_cons_is_tty for w32

write

  • Warn when bypassing the word bounds of numeric arguments in wo
  • New syntax for wox to differentiate hex and numbers
  • Implement wa+ command to assemble + seek