Radare2: 3.5.0 – Dismay

05/13/2019 9:25 am

Radare2: 3.5.0 – Dismay

Radare2 3.5.0 Dismay – Release Notes

  • Version: 3.5.0
  • From: 3.4.1
  • To: 3.5.0
  • Commits: 419
  • Contributors: 41

Screenshot 2019-05-13 at 12 33 24

  •  

Radare2 3.5.0 – Changes

anal

  • Initial support for src/dst RAnalOps for ARM
  • Add anal.ex option, cleanup and improve the Java support
  • Add aae in aaaa
  • Add disasm field to ao command output
  • Fix the arm/thumb switch emulation bug spotted in capstone5
  • Stop analyzing call to reloc and fix pifcj to honor asm.jmpsub
  • Fix aaft Stack isn’t initialized and run aaft after aaaa
  • Fix fcn.rip regression
  • Fill op->src[0] and op->dst in x86 and improve arg analysis with it
  • Include aap in aaaa
  • Add the ability to set some registers readonly
  • Fix – Identify BP usage in x86 functions to improve var analysis
  • Initialize GP on MIPS when no symbols found with ESIL
  • Implement ESIL for CPUID on x86.cs
  • Implement /am and add initial support for PAC instructions
  • Honor more anal hints in the anal loop
  • Add anal.ignhintbits to only obey asm.bits and ignore hints
  • Optimize r_anal_try_get_fcn by removing fixed size buffer
  • Add an option for anal.loads
  • Load instructions now set a data meta
  • Fix  – Implement afb= and afl= and do some refactor
  • Add more fcn types, new api r_str_fmtargs and af- is af-$$
  • Add instruction refs array in pdj and agj, for r2dec
  • Make agj work in any offset inside a function, not just the first instruction

asm

  • Asm assemble, mem leak fixes
  • Fix x86.nz assembler for the rip-relative LEA
  • Mips asm mem leak

bin

  • Fix isStripped() bit for PE bins
  • Seek to the first executable section if there’s no entrypoint
  • Implement COFF imports and honor no-entry0 case
  • Implement mw command and fix segfault on old fs support
  • mdmp: fix incorrect data setting in pe sections
  • Use HtPP instead of Sdb in r_bin_filter_sym function
  • Optimize class_get() to make demangling and objc/dex registration O(1)
  • Restore io buffer creation in dyldcache
  • Fix rahash2 -B and -b regression not printing partial hashes
  • Fix heap overflow in macho parser
  • Add 'oba [addr] [baddr]' command handler when m != b
  • Fix oba command when called with only one argument
  • Improvements for rabin2 -H and pfo in macho
  • Fix ELF main detection for ARM binaries
  • Add ELF Identification fields to elf64 pfo

build

  • Automatically choose wget/curl/git depending on availability
  • Fix  – asm/anal cant be build in parallel
  • Do not use system-wide capstone when building with sys/install.sh

config

  • Code cleanup in RConfig and bring back 'e asm.' for listing

cons

  • Fix – Glitch in panels with bgcolor
  • Code refactoring for the theme based colorization to reduce derefs – dmh commands set
  • Use RPVector in RLineAutocompletion
  • Make p= bars dont use the background color
  • Code refactoring the theme based colorization to reduce derefs
  • Fix – Autocomplete $aliases

core

  • Few mem leak fixes
  • Implement yq,yj,y*,y! and b*
  • Fix binary number to ut64 conversion
  • Implement @@@Strings iterator
  • Fix  – Implement ftj and ft* commands
  • Fix 'e cmd.gprompt=dr=' becaues of the strtok approach
  • Fix bug when quoting a comment
  • Add scr.confirmquit to actually "Confirm on quit"
  • Implement fq. fj. and f*. - show flag in current offset commands
  • Implement the missing bits in the triple-at
  • Add ooc, o., o.q and rename old o. into o:
  • Print “Task finished” only if interactive

debug

  • Implement aesuo and add help for all those step until subcommands
  • Initial implementation of dr. and ar. commands
  • Implement drc k=v to set conditional flags by type
  • Fix dg in Linux by using r_debug_ptrace instead of ptrace

diff

  • Added missing c2 command + theme support for comparison commands
  • Initial import of the WIP zdiff algorithm

disasm

  • Enable capstone5 at configure time option
  • Fix – aho issue not showing bytes
  • Honor asm.pseudo in ‘pi’
  • Add asm.optype
  • Honor ec flag in colorized disasm for names vs numbers
  • Do not switch to v8 by default
  • Implement ‘piu’ by deconstructing ‘pdp’
  • Demangle relocs and add asm.flags.{inline|limit|maxname}
  • Fix asm.meta issues when asm.flags.inbytes is set
  • Fix another bug in asm.jmpsub
  • Fix : Display variables value in the disasm view
  • Add asm.xrefs.code option to show/hide code references in
  • Add some more x86 instructions for pseudo
  • Honor anal.ignhintbits for hintbits
  • Honor fcn->bits in disassembly
  • Update capstone to use the NEXT branch
  • Enable asm.jmpsub by default\xa0
  • Add asm.fcnsig instead of making function signature depend on asm.var

esil

  • Remove unnecessary RPICK in avr.esil
  • Few UAF fixes
  • Add esil_weak_eq and make an operation

flags

  • Add json output to “fd.”
  • Call remove_offsetmap only if the flagItem is not new
  • Add realname flag command
  • More improvements in the current flagtags and ftl->ftw
  • Implement ftl and add more flag tags

fs

  • Improve the RFS API to support write and unlink operations
  • Implement mlj to list files in json
  • Implement mj and improve ‘m / io’ vs ‘m io /’

graph

  • Fix agfg – GML output format fails with high-ids because of Java
  • Improve the graphviz output for traced bbs

io

  • oob [arg] sets bin.baddr, then seeks to new entry0

panels

  • Naming tabs is supported
  • Fix dc and F9
  • Status should be shown on top of the screen
  • Improvements in panels for usability
  • Filter is supported with command f/F
  • Decompiler default off for everything especially tabs working better this way
  • Better key allocations for tabs
  • Initial support for tabs
  • n/N should behave like the ones in visual which are for go next nkeys
  • Auto update synced with every mode change is supported
  • A panel will be allocated for each help msg when it is called
  • Help menu is classified better and help panels are implemented
  • t key is supported in both window and zoom mode
  • n/N commands are supported in window mode
  • t key is supported in Function panel
  • Better algo for t and it is supported in hexdump too
  • t key support for entropy
  • t key instead of tab key is supported in Disassembly panel
  • Comments work in Disassembly panel
  • Interactive message for cursor and insert mode
  • ioCache menu works
  • Do not ask yesno for decompiler if it is not even available
  • Show meaningful messages for invalid operations
  • n/N splitting a panel vertically/horizontally with new user input cmd
  • Show if the cache is on or not on each panel
  • Fix some potential memory leaks
  • Toggle cache boolean of a panel by &
  • Default positioning was not just right
  • instead of [x] to honor the command of deleting a panel
  • C in panel should behave like the one in visual too
  • Add summary and Entropy fire added in the menu
    • Entropy fire added in the menu
    • add Summary under View menu as well
  • Better page scrolling for JK
  • Refactoring plus a little tweak for HL and some fixes
  • Auto update decompiler
  • v!g instead of v!o for consistency
  • Refactoring for performance issue part1
  • undo/redo seek enabled.
  • Opt the decompiler in panels
  • Fixed a few bugs
  • SAKURA instead of SNOW since it is April:P
  • Handle rotateAsmEmu via ‘)’ in Panels

print

  • Add p=a, p=A (and p==a, p==A, prc=a and prc=A)
  • Fix hex.cols usage in prc and pxA and add pxAv for visual
  • Fix : Add dt=
  • Implement pfc normalized types and values
  • Add scr.bgfill config option
  • Honor color theme in p==
  • Fix p== in debugger (only processes current map)
  • Add scr.square and implement the prc= command ala pz,p=..
  • Implement ‘less’ command and add ‘l?’ command
  • Move pava from core to print and honor it in pxa
  • Implement pfc C struct format command
  • Fix large disasm issue with invalids and handle @{xfs}
  • Hide switch/case refs from pds
  • pf z honors scr.strconv and str.escbslash

r2pipe

  • Add support for r2pipe shellscripts

search

  • Fix – Add JSON output format to rafind2
  • End of archive detection in rafind2 -m
  • Avoid scanning the whole -1 address space. Fixes aap in debugger
  • Android magic numbers until Android 9.x
  • Add io.sky and solve io.maps.x issue happening with aap
  • Fix – Make /ci [from] [to] find immediates in range
  • Fix search asm boundaries issue

sign

  • Make zignatures database more flexible, add realname, comments and xrefs

sync

  • Initial rework towards bringing back remoting commands

traces

  • Introduce dtdi and update help message

types

  • Add vvs command to edit function signature from visual
  • Implement more tx subcommands (type-xrefs)
  • Implement afs! to edit current function signature with cfg.editor
  • Added a command to edit types using cmd.editor
  • tfc->tcc and tcc in sync with t*c
  • Fix afs command, parsing, behaviour and help message
  • Add more basic types from libc
  • Fix null deref in types when invalid db and add more basic libc

visual

  • Improve visual mark
  • Implement graph neighbourhood navigation with i and I keys
  • Move the esil debugger into vbE
  • Improve the visual ropchain editor
  • Fix cursor jk in disasm and debugger visual modes
  • Make scr.gadgets true by default
  • Make ‘o’ do the inverse of ‘O’
  • Fix : Sort column results in vbg
  • Fix  – vr rotates between JMP, CALL and DATA reference hints
  • Fixes for flagzones and scr.scrollbar
  • Add scr.scrollbar.bottom
  • Fix callgraph browsing and node folding glitches
  • Handle /* in reg/stack cursor in debugger view
  • Handle +- keys to increase/decrease register value
  • Honor scr.scrollbar in visual graph

windows

  • Convert Windows error message to utf8
  • sys/meson.py: Create r2.bat as alias to radare2.exe