Skip to content

Releases: radareorg/radare2

4.1.0 - codename 'antull'

19 Dec 00:07
Compare
Choose a tag to compare

Release Notes

Version: 4.1.0
From: 4.0.0
To: 4.1.0
Commits: 252
Contributors: 40

Authors

Changes

anal

  • Improve SP based variable analysis
  • Some more helpful messages for anal.verbose
  • Fix first r_anal_op call after asm.bits change
  • Improve SP based var analysis
  • Fix ms cc wrong argument analysis
  • Fix r_type_del() for typedefs (Fix #15337)
  • Add base64: for afn
  • Move the fcn preludes into RAnal and add anal.jmp.tailcall (-1,0,N)
  • Fix typo in ios-syscalls.txt (#15436)
  • Initial implementation of afvf - show bp-relative stackvars
  • Insert arguments into types SDB on function analysis

arch

  • Add support for or1k (OpenRISC) disasm+analysis (#15515)

asm

  • Fix ignored asm.bits settings because of RBin overrides
  • Fix for #15459 - Also set the first operant to the right value on a mov from pointer with offset
  • Add ARM strd support (#15388)

bin

  • Add 64-bit iOS SEP xtr plugin
  • Add PIE flag check in kernelcache detection
  • bin.str.enc: Accept UTF hyphen aliases (#15492)
  • Support UTF32-BE decoding (#15472)
  • Recognize Unicode BOMs (#15469)
  • Use pj in the izj and izzj commands
  • Fix #15445 - Add support for Mach-O external relocs
  • Add support for C64 PRG fileformat
  • pd: Don't abort string printing on initial null if bin.str.enc != guess (#15446)
  • Fix #14279 - Ignore entrypoint on non-executable ELFs
  • Analyse HIOS and LOOS symbol types by default. (#15411)

build

  • Fix #15485 - Improve argument parsing in sys/{install,build} (#15486)
  • FIx 32bit windows
  • Rename "asan" to "sanitize" (#15412)
  • Fix build for 32bit Linux systems
  • Fix build of the onefied shared lib 

command

  • Very simple tree sitter integration (#15414)

config

  • Pass R2_CONFIG file to ! commands and serialize methods

cons

  • Fix #14197 - Don't highlight control chars on hud filter (#15552)
  • Include last line when greping using foo~n.. (#15524)

core

  • Fix some Race Conditions with the thready task scheduler (#15667)
  • Make Task Scheduling Explicit (#15511)
  • asm.cmt.off: Accept 0 & 1 as aliases for false & true respectively (#15500)
  • Use sigaction instead of signal
  • CPU affinity API introduction
  • Honor cfg.editor in 'vi' instead of always using 'vi'
  • Implement $foo:=,+=,-= and $foo to alias some flags commands
  • Support 'f foo+=4' and 'f foo-=4' syntax for flags

debug

  • Improve debug rebasing and fix partial windows rebase
  • Refactor debug native's wait function
  • Fix native debug not working with files that were opened as RW
    • Add ppid to win32 debug and 'dp''s display/json
    • Add process selection to w32 debug
  • Fixed a crash caused by reopening gdb
  • Fixed not killing child processes and added detach
  • Fixed gdbr warnings and a dpt crash after debug was over
  • Added an event to signal the end of the debug session
  • Fix 'oo' rebasing when leaving debug and add 'doc' to exit
  • Silence drr warning on UT64_MAX registers
  • Fixed an issue with detached child breakpoint inheretence
  • Added oodf\doof to enable rebasing for remote debug
  • Rebase Breakpoints for PIEs
  • Added dp processes info support to gdbr
  • Add breaking to ood in linux to avoid execvp freezing
  • Allow debug plugins to modify pid/tid on select
  • Fix linux_set_options error
  • Add process selection to linux native debug
  • Setting parent pid on pid list on BSD
  • Show all processes for pid 0 using dp
  • Improve linux native debug dp output
  • Fix getting DRX breakpoint size
  • Fixed overflow that broke remote debugger reopening
  • Impl. list modules for WinDbg
  • Fix WinDbg IO in page boundaries
  • Fixed windbg concurrency and added missing locks
  • Fixed windbg pipe timeout behavior on linux
  • Added rebuild rules for windbg
  • Fixed windbg continue on windows 7 64bit
  • Allow breaking for WinDbg
  • Update hardcoded gdbr registers for 16/32bit x86 (#15488)
  • Added parsing support to all gdb registers
  • Fix gdbr's reg_write and reg_next_diff for reverse stepping
  • Reduced gdbr's tcp connect timeout and added a break
  • Fix gdbr not closing sockets after connect failed
  • Add break to gdbr's read_packet and move isbreaked to libgdbr
  • Fix gdbr_write_registers and refactor gdbr_write_reg
  • Replaced lock_check with tryenter in gdbr_read_registers
  • Add breaking to gdbr connect to avoid waiting on invalid connections (#15442)
  • Add experimental ymm regs support for linux-x64 and extend drm command
  • Add Windows 8 and 8.1 WinDbg profiles
  • Fix attaching to a pid on Windows (#15406)
  • Fixed w32dbg breaking issues (#15386)
  • Add support for printing xmm* as packed floats and doubles (#15378)

disasm

  • Fix hidden hint.lea for hint.pos==0
  • Improve switch-statements in disassembly
  • Add refs, xrefs and esil columns to pdt
  • Add asm.cmt.esil to show ESIL as comment

doc

  • Improve macOS installation documentation (#15438)
  • Fix links to Doxygen documentation (#15377)

gdbclient

  • gdbclient reduces risk of use after free down the road

io

  • Uses the setitimer api instead for the alarm in self://
  • Automatically set the debug plugin when opening debug uris (#15403)

json

  • Add current process field to dpj

network

  • Fix r_socket_connect not using the given timeout in unix

print

  • Fix #14661 - Support parsing binary protobuf data (#15423)
  • Add utf-8 support in r_print_rangebar (#15389)

r_debug

  • Refactor signal handling for FreeBSD

search

  • Introduce the r_magic_load_buffer() api and boolify a bit
  • Update RSA key search to find larger keys (#15494)
  • Search for AES 128, 192 and 256-bit keys (#15426)

signatures

  • Add auto zignspace generation for the zg command (#15402)

test

  • Implement asm, fuzz and json test runner in r2r.v

util

  • Add RIntervalTree data structure
  • Added r_th_lock_tryenter API (#15454)
  • Use HtPP for RStrConstPool (#15424)

visual

  • Improve the interaction with decompilers in panels
  • Reduce the blocksize on some hexvisual modes

windows

  • Add command to identify window under cursor
  • Fix #15456 - Fix reopening in write mode
  • Fix hang when running dc in a task

To Review

  • Release 4.1.0 - Codename 'antull'
  • Fix lock ordering of RCoreTaskScheduler.lock vs. RCoreTask.dispatch_lock
  • Remove RThreadLock.refs
  • Fix a race in tasks
  • Make SP based variable analysis aware of changes to SP
  • Use delta inside stack to identify the variable used instead of offset to SP
  • Keep track of offsets to SP used to access the variable
  • Fix argument printing order for reg args
  • Add test
  • Revert pe coverity fixes to fix ihj
  • The format is reused for printing and internal type representation,
  • breaking the JSON by making the value field in ihj empty since "llx"
  • isn't a valid type
  • Fix ESIL UB
  • Mark fixed tests as such
  • Fix some FX Tests
  • Separate windows, linux and *bsd/apple since they have vastly different
  • logic and the ifdef jungle implementation was too confusing
  • sys/meson.py: Use == 'vs2017' instead
  • The FD was kept open and ptrace was prevented from opening it with the
  • error "Could not execvp: Text file busy". Fixes issue #15650.
  • Solving r_debug_handle_signals build warning issue.
  • Fix #15653: Silence MSVC XP deprecation warning
  • Use eprintf instead
  • Fix typo
  • Make it possible to use sysmagic again (#15658)
  • Compile tree-sitter with std=c99 flag (#15654)
  • SystemZ analysis logic error
  • Fix some MSVC warnings
  • Add ppid to dp and fix dp= for windows (#15649)
  • Previously, dp= wouldn't fully switch to the given process since it
  • was treated like dpt thread switching, leaving the debugger in
  • an undefined state.
  • Function r_anal_cc_arg should just return NULL when nothing is available (#15646)
  • Function r_anal_cc_arg should just return NULL when nothing is available
  • Callers should be able to handle NULLs
  • Fix memory leaks in unit tests
  • Some coverity fixes (#15643)
  • The plugin would try to work with an old version of desc that was already
  • freed by r_io_clo...
Read more

v4.0 : Codename Kràmpack - vifino edition

28 Oct 15:52
Compare
Choose a tag to compare

Release Notes

Version: 4.0.0
From: 3.9.0
To: 4.0.0
Commits: 299
Contributors: 48

Changes

anal

  • Bring back the MASK_DISASM because not all nanal plugins support it yet ##anal
  • Select default var type based on its size (#15352)
  • Fix #15325 - Improve af- like its done in Vdu
  • Deprecate anal.jmp.eob /refs #13482
  • Fix #15117 - honor asm.var.sub in ao/aoj
  • Fix #15315 - Honor RAnalOp.disp in aar and ao
  • Update 8051 plugin (#15321)
  • Avoid reloading of cc sdb - huge speedup (#15306)
  • Implement ESIL for arm64 UBFX
  • Make RAnalFunction.cc come from RAnal String Pool
  • Deprecate the use of anal plugins that doesnt handle mask.disasm
  • Add jumptable support for main() in bins/elf/analysis/ls-alxchk (#15266)
  • Add jumptable support for main() in bins/elf/ls.odd (#15233)
  • add afoj and afdj (#15254)
  • Fix #15235 - push [mem] not handled in /r
  • Add initial reg profile for sysz arch
  • Don't propagate noret to fcn if fcn jmps outside itself (#15190)
  • Fix #15004: Make meta.min rbtree more robust (#15141)
  • Fix memleak in r_core_anal_propagate_noreturn()
  • Minor speedup/cleanup/refactor of the RAnal
  • Implement ESIL control-flow-graph and further dfg analysis
  • Add anal.delay to disable delay slot analysis for testing
  • Fix pc-rel movs in sh's esil
  • Delay execution debug messages are now available via anal.verbose
  • Fix #15073: Disambiguate using fcn addr also in meta.min rbtree (#15077)

api

  • Add r_strbuf_copy API (#15186)

asm

  • Fix post-indexed memory access for str instructions on ARM (#15298)
  • Fix #15302 [rasm2/armass] Correctly propagate errors from thumb_assemble (#15303)
  • Add additional [indirect] access syntax for 8051 (#15272)
  • Fix #10651 sub sp, sp, 0x1000 not correctly assembled for ARM (#15187)
  • Fix #15198 (#15199) arm64 assembler const value
  • Add 8051 assembler plugin (#15189)
  • Z80's LD opcodes assembly (#15185)
  • Fix parsing of floating point instructions in x86_64 assembler (#15174)
  • Fix x86 assembler output for some memory loads (#15068)

bin

  • On AArch64 there is a new special symbol $x (#15362)
  • Fix #15152 - Support old Java attribute format (#15317)
  • Simplify r_bin_open_io function (#15307)
  • Support > 4GB ELF files
  • Add support for RTable.query in i
  • Fix #15132: Integrate table to iS,ia,ir,iz,is (RBin info) based commands (#15159)
  • Implement support for the RISCV PLT ELF relocs
  • Fixes for MSVC demangling (#15210)
  • Format the .rela. sections in ELF
  • Add NES ROM mirroring map

build

  • sys/asan.sh: Use -fsanitize=... instead of -lasan when linking (#15375)
  • Link sdb fully into r_util in meson (#15338)
  • Fix #15296 - *BSD builds (#15309)
  • Fix macOS build with latest XCode
  • Add MSVC 2019 for AppVeyor
    • Try MSVC 2019 for AppVeyor
  • Set rpath if non-Windows Meson shared
  • Debian package fixes (#15081)

cons

  • Fix function key handling in visual/panels
  • For utf-8 locale, check LC_ALL, LC_CTYPE and LANG in sequence instead (#15326)
  • Also use LANG env var to check for UTF-8 output support (#15257)
  • Move UTF-8 setting logic to scr.utf8 config callback on Windows (#15273)
  • Implement 'str' operation in RTable queries

core

  • Fix #14247 - fn.j/fnj. show all flags in current offset, not just one
  • Few compiler watning fixes here and there
  • Fix #15114 - Implement r_sys_info() and uname
  • Add kitty clippy replacement :3 (#15232)
  • Add possibility to specify time zone with rax2 -t (#15180)
  • Implement cj command using the PJ api (#15168)
  • Add support for the V programming language
  • Fix #15134 - Support octal numbers like 0o666
  • Implement function-based plugin loading method
  • Add omt and help message for RTableQuery + add format column api
  • Move Lib already loaded check before dlopen Call (#15075)
  • Replace r_str_const* with RStrConstPool (#15300)
  • Kill r_sys_get_osinfo () (#15346) ##core

debug

  • Use RTable for Windows heap info output (#15368)
  • Add support for setting xmm registers on linux (#15365)
  • Fixed continue not being associated with the current thread in unix
  • Added a way to break while in dbg_wait (continue, step etc)
  • Fixed dpk
  • Fixed opcodes not being associated with the current thread in gdbr (#15358)
  • Fix drm[bwdq] command, add xmm0h/l and xmm8-15 registers (#15354)
  • Fix the way linux debugging options are set (#15323)
  • r_reg_get_pack/r_reg_set_pack are not able to deal with 128 packbits
  • Added support to thread switching in linux and fix r_debug_select
  • Fixed ptrace 'Operation not permitted' errors (#15287)
  • Fix debugger build for native GNU/Linux on RISC-V
  • Fix incomplete drr/drrj formatting when r_core_anal_hasrefs fails (#15277)
  • Added "dptj" and "dptj " (#15259)
  • Enhance drm command, add drm xmm0 functionality (#15214)
  • Fix drf output formatting
  • Implementing debug info per pid on NetBSD
  • Using unused map debug field on macOS
  • Rebase fcn/bbs, flags , comments, meta, refs when ood
  • Fix issues in windows thread switching (#15366) ##debug

diff

  • Implement radiff2 -X for hexII diffing
  • Fix #14845: Support radare2_rc in radiff2 for graphs (#15078)

disasm

  • Better pdi output when Cd is involved
  • Implement 'pdt' - print disasm in table, supports queries
  • Make asm.fcnsig more compact
  • Do not resolve the strings pointed by ADRP on arm64
  • Improve (change) sh4 disasm (lowercase regs...)

emu

  • anal_x86_cs fix esil expr for neg instruction (#15252)
  • Fix #15246 - Honor the 'u' suffix in PPC instructions in ESIL

esil

  • Fix #15297 - Update ESIL help message
  • Improve registers handling in ESIL dfg
  • Simplify ESIL code for ARM str instructions
  • Add a parameter to $s and $o (#15171)

io

  • Setting the upper address limit for OpenBSD
  • Improve omt and implement RTable.filterSum

io_self

  • Setting the upper address limit for OpenBSD

json

  • Show flagname and realname in json format for fnj and such
  • Add current thread field to dptj (#15268)

lang

  • Rewrite hashbang command parser, use argc & argv in hashbang (#15188)

panel

  • Fix #14857 - Handle 'O' key to rotate asm.pseudo/asm.esil
  • Another const pointer to be free fix
  • Handle / highlight in panels for zoom and window modes
  • Fix const address freeing
  • fix #15060 - Add xrefs and xrefs here in visual
  • Fix #14559 - Honor scr.fps

panels

  • Fix #14857 - Handle 'O' key to rotate asm.pseudo/asm.esil
  • Handle / highlight in panels for zoom and window modes
  • Fix const address freeing
  • fix #15060 - Add xrefs and xrefs here in visual
  • Fix #14559 - Honor scr.fps

print

  • Fix #15216 - Implement pcy command to print hexpairs in Yara format

r2pie

  • Implement r2pipe_open_dl() to use dlopen/dlsym

rasm2

  • Freeing main assembly object

script

  • Fix vlang plugin to run scripts and add example

search

  • Fix #8575 - Support stdin slurping in rafind2 -
  • Add support for hex escaped litterals in regular expressions (#15291)
  • Fix RCALL and RJMP in aop and /at
  • Refactor Search to use less Global State (#15076)

table

  • Add :json,:quiet,strlen,minlen,maxlen,sortlen in table queries
  • Integrate table API for p-h (#15083)

util

  • Fix rop inline assembly form

visual

  • Run .dr* in visual prompt in cfg.debug is set
  • Fix for VV going to V (issue 15181) (#15195)
  • Fix #14919: truncate long function names in Vv (#14996)

wasm

  • Further wasm memory leak fixes
  • Memory leak fixes in error code paths

windows

  • Print child output in pipe lang plugin

zign

  • Integrate types field in zignature operations (#15082)

Thanks to all the contributors

3.9.0 - Carxofes

17 Sep 13:34
Compare
Choose a tag to compare

In r2land we are happy to celebrate that the artichoke seasson is back with a new release \o/

Binaries: http://radare.mikelloc.com/release/3.9.0

Release Notes

Version: 3.9.0
PreviousVersion: 3.8.0
Commits: 102
Contributors: 31
TimeSinceLastRelease: 2 weeks

Authors

Changes

anal

  • Implement anal.norevisit using SetU instead of Sdb
  • Fix #15013 - jump/cjmp analop for m680x
  • Fix the infinite aac issue, reduce false positives, speedup a bit (#15015)
  • Fix mov.l/jsr ESIL for SuperH4 (#15039)
  • Fix nopskip (its not fixed at all. just random typing here and there) (#15024)
  • Add anal.nonull to avoid analyzing functions if starting by zeros
  • Fixed i4004 arch to be according to spec (#15062)
  • Fix zero register set issue (r2wars)
  • Implement types field for zignatures

cons

  • Fix #14611: Vi-mode indication by prompt color
  • Add a way to print an aliased without a trailing new line (#15031)
  • Fix clicking on frame borders to resize
  • Remove code for no-anal asm.bb.line (#14977)

core

  • Make -m do an implicit -s
  • Fix #14990 - multiple quoted command parsing issue
  • Fix multiple quote cmd issue
  • Fix #14019 - Move ta to aht, move other commands around, refactor indentation
  • Fix #10851 - Solve slurp messages on http/sandbox/pipe
  • Don't run ldconfig when installing into /usr (#15049)

debug

  • Fix gdb reg write byte order (#15009)
  • Improving slighty the process status check on Darwin
  • On Darwin, expose process path
  • ASLR check setting fix on FreeBSD

emu

  • Hackaround to get esil stepping on delayed execution
  • Fix arm32 stmia post-increment (#14983) (r2wars)

io

  • Support shm_open in shm:// and some code cleanup
  • Fixing perms for Darwin
  • Fix #15002 - Propagate write error issues into RCore.patch
  • Print error msg if write fails (#14978)
  • Fixing self:// perms issue on Darwin

r2-3.8.0 - Taupe

03 Sep 08:24
Compare
Choose a tag to compare

Release Notes

Version: 3.8.0
From: 3.7.1
To: 3.8.0
Commits: 188
Contributors: 30

Authors

Changes

analysis

  • Improve the aab (blaze) analysis by honoring data meta
  • Speedup and reduce false positives in aae by honoring code/string/format
  • Do not analyze functions in strings/data by honoring the meta
  • Fix infinite (or expensive) loop when fcnsize=0
  • Honor anal.strings in aav
  • Define argument and ret pseudo registers in the SuperH4's reg profile (#14920)
  • Introduce anal.in=code (2x faster aar in some big binaries)
  • Introduce afisaj and fix table contents for afisao and such
  • Implement afis[aof] - to show instruction type, family and mnemonic tables
  • Fix as command to resolve syscall by name, number and SN reg
  • Fixing ESIL for ARM architecture pre-indexed addressing mode with LDRB (issue #14850) (#14901)
  • Add more info in aflt and add afltj
  • Initial implementation of aflt (using the new RTable API)
  • Hide the shift overflow warnings under esil.verbose
  • Fix ownership issues related to cc
  • Add calling conventions for ARM32 and Thumb
  • Unify the use of R_ANAL_CC_MAXARG
  • Propagate noreturn information (#14793)

bin

  • Fix code injection issues i* commands (rabin2 -r)
  • Fix #14930 - handle LC_DATA_IN_CODE in macho
  • Fix strings on ELF bins for SH-4 with the Renesas SDK
  • Support deep JSON format for binary headers in iHj
  • Fix Cf with named formats when .iH* is used
  • Fix #14898 - Show warning when -B used on unknown binaries

build

  • Shrink the Cydia package from 512mb to only 64

core

  • Add single quote as alias for =! and \
  • Support 0X as an alias for 0x in numbers

debug

  • Fix crash in gdb client (#14897)
  • Notify user on hardware breakpoint hit

diff

  • AGraph integration with radiff2

disasm

  • Fix #14716 - Honor local flags in RParse
  • Implement asm.hint.emu and improve Vr reftype selection
  • Do not try to resolve strings pointed by adrp instructions on arm64
  • Honor asm.instr in pdi
  • Hide brackets for LEA even if operand is section flag
  • Add support for the amd29k architecture
  • pix and pdx are now aliases for pad

doc

  • Remove help for hud in ??

graph

  • Fix #14859: Enter used to update seek in visual call/ref graphs (#14906)

io

  • Fix a couple of bugs in wo* and implment wo8
  • Add support for io-plugin initialization via null system command =! (#14915)
  • Simplification of the io_self plugin for macOS/iOS
  • Consider endiannes when performing block write operations

panel

  • Few memory leaks fixes
  • Fix #14891 - Seek in panels after coming back from console
  • Fix #14883 - use[] to realign comments in disasm
  • O in visual is supported in panels with the "i" key
  • Added some asm settings and classified it

panels

  • Fix #14891 - Seek in panels after coming back from console
  • Fix #14883 - use[] to realign comments in disasm
  • O in visual is supported in panels with the "i" key
  • Added some asm settings and classified it

print

  • Implement pv* to completely fix #14165
  • Fix #14165 - Implement pVj and fix pvj with argument
  • Fix #14936 - Add po[..] set of commands
  • Implement 'cols' RTable.query to filter by column names
  • Use block character for p= and p== graphs (#14941)

r2pipe

  • Initial support for r2pipe.html

rop

  • Add ROP chain execution support in ragg2

search

  • Let search.align override arch.align if set, improves aav in SH
  • Bring back /ai and fix regression for SUB.val
  • Skip gadgets starting with a nop in /R
  • Fix #14755 - read-only raw search
  • Fix #14202 - Add support to '\d', '\w', etc. in regex

util

  • Initial implementation of the RTable API with filter, sorting and query APIs

visual

  • Fixes #14914: Mouse wheel for hud (#14940)
  • Improve mouse in visual (hud instead of goto and ignore cursor toggle

windows

  • Fix #14816 - Properly get lib path

Other Changes

  • add nf flag in ESIL generated for ARM thumb (#14954)
  • Fix regression in wo2/4/8
  • Fix divbyzero and garbage variable found by clang-analyzer
  • Fix memleak in r_strbuf_prepend
  • Fix logic in 2-byte endian swap used by "wo2" (#14951)
  • Display operand of EBC push/pop instructions (#14949)
  • ARM: fix order of registers in push/pop with reglist
  • fixing esil =[*] (poke multiple regs/values)
  • Fix out-of-loop issue in aae
  • macOs/Notes 6.8s -> 6.4s
  • macOS/r_core 4.3s -> 3.8s
  • Still wip. only works as a hint when using -e bin.verbose=true
  • Improve r_core_anal_hasrefs_to_depth (#14863)
  • Fix Win32 build patch from @sanguinawer (#14945)
  • Fix uninitialized variable issue related to the mouse state
  • Fix regressions
  • Fix #14380 - Fix demangling symbols containing the '?' char with iD
  • Fix #14889 - Implement ! and c keys in visual help
  • Improve vq and v!!! workflows
  • Break early in Cf format name failure
  • Fix #14939: Replace assertions about missing RReg profile registers with warnings (#14943)
  • fix help message of ? (#14944)
  • Fix #14935 - Kill harmless warning
  • Fix assert in aea for r2wars
  • Show backtrace when assert happens
  • Fix crash in aea* when code is ffff
  • Fix #14771 - Modified pdx/pix to disassemble hexpairs (blocksize-independent) (#14892)
  • Add frame pointer to AVR register profile (#14938)
  • Enable mouse only if it was prev enabled and based on scr.wheel (#14925)
  • Fixes #14911: Use theme colors for p= and p== (#14934)
  • Add fortune
  • 1 != 0
  • Massage two more assertions
  • Fix early assert for IO
  • Disable Travis IRC notifications
  • Too much noise at IRC.
  • Blindfix more null derefs in reg.value
  • Fix another null arena deref
  • Assertify io.fd api
  • Fix aea for instructions referencing PC
  • Boolify the reg api a bit more
  • Fix null deref in reg arena
  • Blindfix for empty reg arenas
  • Add Predicate for Task Dispatch
  • Fix assertion when emulating invalid instructions and revert pcalign4 for sh
  • Update help message for Vd
  • Fix #14928 - vr to be in sync with Vr
  • Fix assert regression before it triggers
  • Minor cleanup and visitor cache proposal test for RAnal.fcn()
  • Fix #14821 - crash in td
  • r_str_split_list() rewritten to support nth limit
  • r2 -qq -c 'aac;aflt size/gt/200,addr/cols/name/nbbs,nbbs/sort/inc' /bin/ls
  • Fix off-by-one in RCore.lines.initCache();
  • Set asm.hint.emu=false by default
  • Fix build
  • Add r2con2019 svg logo
  • $ r2 -i doc/r2pipe.html /bin/ls
  • Syncing with r2hexagon (#14918)
  • the reference of emulation are displayed one instruction after. which is bad
  • Fix build
  • Fix Windows build (#14916)
  • afisa uses rtable, as well as afist@@@f
  • Useful for r2frida to automatically run .=!i*
  • This makes reading iOS apps much simpler by removing lot of false positive strings
  • Fixes #14900: Disable color for dot mode (#14908)
  • Better directory structure for the panels config file (#14903)
  • Fixes #14896: Enable and disable mouse based on requirement in visual/panels (#14909)
  • v!! = V!! - use ! to toggle between visual and panels
  • Fix hexdump height issue in panels
  • Reset mouse settings after leaving the hud
  • Fixes #14900: xdot type commands functional now (#14902)
  • Fixes #14900: xdot type commands functional now
  • Remove recursive handle_stop_reason call
  • Revert "Fixed the bug that I had fixed before (#14788)"
  • This reverts commit 9e27142.
  • This change was breaking panels in Mac
  • Fix MSVC build
  • Add afltj and some more fixes and improvements related to RTable
  • Accepts a query as argument
  • Fix a segfault in RStrBuf.prepend
  • Add lsls and ldrh thumb asm.describes
  • Add missing include install for meson
  • Improve disasm char hints
  • Fix some warnings from gcc
  • Make cmd_depth task-local (#14888)
  • Add neg pseudo instruction to arm assembler (#14890)
  • Freed some vars (#14885)
  • Fixes #14845: Use unicode settings in radiff2 (#14884)
  • Fixes #14845: Use unicode settings in radiff2
  • Fixed indent
  • Tame vayour
  • Fixes #14534: Ignore non-printable and non json chars (#14876)
  • Fix #14878 - Fix unaligned field access
  • Add afos command and minor cleanup for afo
  • Fix null derefs in afv subcommands when no function is found
  • Fix afvn outside of Function (#14882)
  • Fixes #14856: Changing visual seek behaviour in Vv (#14877)
  • Fix #12438 - Fixes for PDB (#14874)
  • Fix use after free when autoloading pdb
  • Use heap on td command
  • Fix #12438 - Fix wrong 2 byte read for char value
  • ...
Read more

r2-3.7.0 - Codename TopHat

01 Aug 03:16
Compare
Choose a tag to compare

https://images-na.ssl-images-amazon.com/images/I/7102BnBdGoL.UX522.jpg

Version: 3.7.0
Previous: 3.6.0
Commits: 320
Contributors: 42

Authors

Changes

anal

  • Fix #13766 - Sum the meta_data_code as covered code
  • Add more function definitions for posix and macOS binaries
  • Add argument to 'afll' to select column to sort by
  • Print MSVC RTTI Warnings only on anal.verbose=1
  • Add afj command to analyze jmptbl from the shell
  • Honor RAnalBlock->switch_op in afb. and afbi
  • Improve ARM64 PAC instructions support
  • Fix #14530 - Implementation of i.~{} aka RCoreItem
  • Added val op hints to let the user define jmptbl sizes
  • Fix #14501 - Jumptables are made of signed values
  • Reduce xrefs sorting for aflj perf
  • Initial implementation of anal.trycatch blocks

asm

  • Implement PAC instructions in the ARM64 assembler

bin

  • Add icqj command
  • Fixes for msvc demangling (#14695)
  • Add jni.h in bin/d for pfo
  • Update Mach-O hardcoded format definitions
  • Improve Mach-O header fields
  • Improve RConsBind and use it from RBin via iz^C
  • Use libswiftCore library if available to demangle Swift5 symbols
  • Fix oba on frida://
  • Add more e_machine values for ELF
  • Fix support for Swift5 demangling via bin.demanglecmd
  • Fix ordinal name on Linux for NE (invalid sdb path location)
  • Fix function detection on coff file
  • Add icqq to print unknow classnames
  • Add icc support for Java/Dalvik
  • Improve ObjC classes boundary checks and slightly improve demangling
  • Parse macho's LC_ENCRYPTION_INFO command in rabin2 -H
  • Fix undefined behaviour bugs in malformed macho bins
  • Handle “stub and resolver” exports and fix export trie for dyldcache
  • Handle the export flags to avoid de-syncing
  • Support ObjC categories on mangled classes
  • Avoid loops in Mach-O export trie walking
  • Parse Mach-O exports trie structure
  • Fix #14499: Detect ascii substrings
  • Show Class visibility information in icj for DEX
  • Fix symbols in wasm and add custom sections
  • Parse Rich header in PE
  • Initial implementation of the bin.libs imports linking
  • List multidex as dependency libs
  • Initial working implementation of bin.libs
  • The words of GOT
  • Fix new exe header detection for MZ
  • Optimize DEX subsystem detection
  • Fix #14441 - Invalid codesize in some DEX files
  • PoC: Initial implementation of direct bin symbols (20% speedup in loading times
  • Remove the check_bytes and more bin-buf refactoring
  • Add __const to potential VTable Sections
  • Add r2 iw and rabin2 -w to enumerate try/catch blocks
  • Parse the try/catch info of methods in DEX files

build

  • Fix android-static
  • Delete prefix/ and fix static builds (missing libmpc.a)
  • Fixes for the android compilations
  • Add $onlydebug in sys/ios-cydia.sh
  • Towards emscripten build fix (update sdb)
  • Enable ASSERTS on all travis builds, to avoid confusion
  • mesonbuild: Backport to python 3.5

cons

  • Make click and drag work on Windows
  • Fix #12921 - Impl. r_cons_arrow_to_hjkl for Windows
  • Fix scrolling directions in the hud
  • Implement RCons.echo() and use it from r2.cmd("echo64")
  • Fix grep in tasks
  • Fix #11396: Integrate dietline with the hud
  • Fix for RCons.html when no color is used
  • Add example file for the pri command
  • Add pri command to print raw images in RGB (using stiv code)
  • Introduce ?e= and ?ed to print progressbar and 3D donut
  • WIP: Initial support for rotozooming strings via ~<zoom
  • Initial implementation of the human friendly json indent {:
  • Fix #9269 - Initial Implementation of vi mode
  • Enable click mouse input on Windows
  • Add mouse click support to VTE terminals. Hopefully fix others too
  • Click toggles cursor, make panels click mode more consistent
  • Add RCons.get_click(), initial integration in visual and panels
  • Initial support of mouse wheel+click
  • Improve the ayu theme
  • Clear also attributes on screen clear under scr.ansicon=0

core

  • Handle ^C in repeated commands
  • Implemented head and tail commands
  • Alphabetically sort more help messages and fix /ac/aa help msg
  • Fix i subcmd help grep
  • Initial implementation of calling the r*2 commands natively from inside r2
  • Expand on FreeBSD>=10 sandbox handling
  • Add -qq to force quit. Avoid the -qcq confusion

debug

  • Windows native debugger refactoring
  • More fixes to WinDbg (#14675)
  • Step over rep and repne prefixed instructions with dsui
  • Fix breakpoints handling for FreeBSD
  • Fix single-step in the iOS-arm64 native debugger
  • Fix xnu_thread_get_drx for iOS/arm64
  • Honor SWI for step-over

decompiler

  • Add support for the native r2ghidra plugin detection in cmd.pdc

disasm

  • Don't show function name comment in Visual mode
  • Fix #14655 - Improve asm.pseudo for Dalvik
  • Demangle xrefs if asm.demangle=true and use '@' for xref locs
  • Fix #14622 - Skip reflines on non-executable offsets
  • Respace demangled c++ names
  • Do not asm.describe metaa .dwords
  • Find relocs at instr. location first, then the dest
  • Kill MOV/LEA comments
  • Implement global imports (aii) and improve disasm-print-instruction code
  • Implement 'function imports' concept (afii command)
  • Add some SuperH opcode descriptions

fs

  • Improve R_FS via IO

graph

  • VV<> draw refs/xrefs graphs for visual navigation
  • Implement icg to create class graphs
  • Honor utf8 in diagonal graph lines
  • Fix #14553 - Use HtUP to store canvas attributes instead of a sorted array (#14556)
  • Add graph.body and graph.bubble config vars, move sin/cos into r_util
  • Initial implementation of RConsCanvas.circle and bubble graphs

io

  • Fix timeout issue in http.get
  • Better use of perm/mode names in R_IO

mount

  • Autocompletion for mount commands

mouse

  • Improve mouse support in visual prompt

panels

  • Drag and resize the panels with the mouse
  • Add aflm and handle : as separator in click
  • Handle click on toggle cache, frame title and screen borders
  • Add tiny graph in panels and simplify the code a bit
  • Show all the decompilers output at once
  • W + hjkl just works like Ctrl w + hjkl
  • Seek by clicking the offsets on Function Panel
  • Right click is supported to open " widget
  • Wheel is supported
  • Mouse supports the menus which have spaces in their names
  • Mouse kind of works on the menu, still lot to work on
  • W + h/l moves the current panel to the direction like vim does with Ctrl W + h/l
  • Introduce scr.demo to add effects in panels enter/exit
  • Fix word highlighting with mouse in panels
  • Cache the pdc outcome for each function
  • Handle mouse click on panel tabs and select frames
  • The 'g' key seek to highlighted address in current panel
  • Highlight words onclick in panels
  • Fix #14468 - Add pdsf panel for the " widget
  • Initial support for saving the layouts with the names feature
  • Unsync the base offset of each tab

parse

  • Add r_parse_ctype

print

  • Fix aho being ignored by asm.tabs

r2pipe

  • Enlarge RLang.cmd() to 8KB length commands
  • Improve decompiler integration 'pdc?' -> '!*%s -h" ..
  • Interpret .c files as #! via -i

search

  • Skip PAC instructions in rop searching
  • Skip ROP gadgets starting with RET
  • Fix #14585 and #14584 - /c->/a* /C->/c /B->/mb /M->/mm - better help msg and autocompletion

types

  • add tlj and tllj
  • Fix #11404 - Implement "afsr" to change function return type

visual

  • Visual Help colorized
  • Improve the visual browse classes mode (vbc)
  • Initial mouse support for visual tabs
  • vda is an alias for vA

wasm

  • Few memory leak fixes
  • Copy the symbol id instead of reference

write

  • Implement wao for dalvik

To Review

  • Release 3.7.0 - TopHat
  • Use RFlag.list() instead of .get() avoid false positives (#14735)
  • Fixx oobread in flag.c (#14728)
  • check for null
  • Fix #14732 - Fix out-of-bounds read
  • Better gameboy theme
  • Fix #14696 - Fix p= in utf8 mode recent regression
  • Fix edge detection for click and drag
  • Fix a bug where a drag event could be initiated outside an edge
  • Fix not being able to select the menu any...
Read more

3.6.0 - EGO

24 Jun 12:11
Compare
Choose a tag to compare

http://radare.mikelloc.com/release/3.6.0

Release Notes

Version: 3.6.0
From: 3.5.1
To: 3.6.0
Commits: 365
Contributors: 30

Authors

Changes

anal

  • Fix syscall resolutions for s110 operating system
  • wzr/zr/xzr register on arm64 is wired to ground
  • Fix naming of entrypoint symbols in files with class information (DEX/C++)
  • Fix #13668 - Implement a* as an alias for afl*;ah*;ax*
  • Fix and improve ESIL for arm64
  • Fix #10567 - Implement afl. command
  • Fix afl* not saving function bits
  • Add experimental `axm command
  • Implement refs for iget/iput Dalvik instructions
  • Implement esil for OR and MUL dalvik instructions
  • RAnalOp.Type.CAST.toString() and implicit refptr init
  • Improve af performance affected by `aflc
  • Honor R_ANAL_OP_MASK_ESIL in anal.dalvik
  • Improvements in dalvik analysis
  • Add Stackframe Anal Hint
  • Add opcode mask field in ao and aoj
  • Add opcode description in ao
  • Show pseudo in ao and aoj
  • Improve anal and parse plugins for Thumb
  • Implement ESIL for stxb and stxh THUMB instructions
  • Fix issue when analyzing the last DEX method

asm

  • Handle LEA operand rip in x86.nz

bin

  • Fix code section size in dex files
  • Handle mod_init/mod_fini as word sections in mach-o
  • Handle the interpos section as words in the disasm
  • Fix ObjC detection in macho binaries
  • Get rid of the ELF-specific C++ detection
  • Add -O a/l/ for macho to add libraries
  • Honor more segments vs sections, for jmptbl, fatmacho, zeropage
  • Fix iS/iSS in macho and kernelcache
  • For #14268: Implement ob= listing bin map coverage
  • A couple of fixes for base address support
  • Add missing ARM64v8 and ARM64e defines for the mach0 parser
  • Kill RBinFile.objs RList
  • Implement RBinFile.at and make it work with e bin.at
  • Fix some RBin file format crashes
  • Speedup loading fuzzed ELF files with huge nrel field
  • Faster macho loading by reusing symbol parsing for getMain()
  • Remove symbol table size hard limit in macho
  • Fix regressions in dyldcache and xnu_kernelcache plugins
  • Completely eliminate the bytes apis in RBin
  • Fix #14147 - Honor -qq for classes and imports
  • Initial extermination of the *_bytes methods in RBin
  • Fix #12600 - Implement .ic** command to import bin.class info as anal.class
  • Handle DEX files with no entrypoint properly
  • Properly handle ELFs with no entrypoint defined
  • Little ELF segment labelling change UNKNOWN -> NONE

build

  • Continuous Fuzzing Integration with Fuzzit
  • Add sys/build-shlib.sh and fix static builds

config

  • Improve the list of supported decompilers in e cmd.pdc=?

cons

  • Little va_list leaking
  • Fix #14046 - Don't use ansi with aaa notifications if no ansicon
  • Add bold to eco bright items that were originally bold in default palette
  • Fix #14254 - Add eco bright (r2 default palette but with bright colors for all)
  • Add bright colors to the colors table
  • Fix #14101 - Fix non-ansicon UTF printing
  • Fix THE glitch affecting panels box colors
  • Default to scr.color=COLOR_MODE_16 for Alacritty on Windows
  • Dfferent color for up and down in disasm reflines
  • Implement reset command to reset the terminal settings
  • Enable color prompt on Windows
  • Fix Color_GRAY/BGGRAY
  • palloc return checks

core

  • Fix #14335 - Add sort, join and uniq
  • Simplify RConfig.eval and improve e with e, for csv
  • Add r_sys_exit to proper quit
  • Honor hashbang and PATH when interpretting extension-less scripts
  • Honor ^C in @@@F and @@@s
  • Implement $O variable pointing at cursor
  • Implement |. (alias for .)

debug

  • Improvements to windows heap parsing
  • Set cmd.gprompt=.dr* when cfg.debug=true
  • Initial implementation GetSingleBlock for Windows heap
  • Initial implementation of heap parsing for Windows (#14218)

debugger

  • Improvements to windows heap parsing

disasm

  • Avoid printing nulls on invalid code or missing bin info for Dalvik
  • Add asm.movlea configuration option
  • Improve comments alignment in the disassembly
  • Fix arm64 parse for BL instructions
  • fix, improve and add some sh pseudo
  • Support asm.hint.pos=-1 for leftish key hints
  • Initial cleanup in RParse, delete mreplace plugin
  • Toggle asm.dwarf in V# and pds
  • Add support for base64 in CL command
  • Faster dtd (trace disassembling) using API instead of RCore.cmd
  • Fix #14258: Issue with upgoing refline at XREFS
  • Fix CL command and make asm.dwarf work without source files
  • Fix asm.varsub in a hacky way to fix the disasm output
  • Fix project's asm.cpu behaviour
  • Priorize strings in case multiple metas match
  • Set the RBinSection.format as dwords for the constpool in DEX
  • Initial import of the RISCV capstone plugins for asm and anal

esil

  • Skip {urc}{jmp,call,ret} in aesou
  • Fix issues with negative esil.timeout values
  • Fixes related to ARM64 ESIL emulation
  • Make $r{} work without the debugger
  • Add cmd.esil.stepout to run r2 commands (before and after emulation)
  • Fix recursivity issue when calling aes in cmd.esil.step
  • Fix cmd.esil.step handling of return value

graph

  • Implement fg command to create a graph of flags (WIP)
  • Implement graph.ntitles to toggle graph title nodes

hash

  • Initial implementation of pasasword generators under /Cc
  • Fixes for fletcher8
  • Add support for fletcher8, 16, 32 and 64 hash algorithms

heap

  • Implement GetSingleSegmentBlock for LFH and VS Windows heap

json

  • Use asserts in pj api to catch this issue earlier

meta

  • Fix CC-, CC-* and CCf- commands to work as expected

network

  • Handle R2_CURL env var in RSocket.httpGet

panels

  • Add more configs for disassembly are supported in the menu
  • Emulate menu is added
  • Settings menu is added, and decompiler is configurable in there
  • Something like Ctrl w + T in vim implemented
  • Almighty menu has got debug items too if it is in debug mode
  • Search->Cursor->Xref/Ref enabled
  • Cursor works better in many panels
  • izz~ and iz~ available from both the menu and " modal
  • Force cache the result of Decompiler and Graph panels plus better auto updating, and refactoring
  • Cut out the widget as a struct and name it Modal
  • Enable deleting an item from the list in " widget
  • New item can be created and inserted to the '"' widget.
  • Centered the '"' widget plus v and h commands are added to it.
  • Added l command to the console which works like Ctrl l and Refactoring
  • dwm style default layout
  • Implement Console frame in visual panels
  • Enable creating a panel from the list of all kind of the panels and replace the current panel with it
  • Autocompletion is supported for Breakpoints and so is cursor to seek to and del them
  • Cursor is available in strings panel
  • Cursor is supported in Symbols panel

performance

  • More code cleanup in RBin, speedup method resolution

print

  • Honor hex.section in prc and pxa
  • Implement pV command - like pv but for bytes instead of values
  • Fix pv [arg] behaviour
  • Added support for pd and px without space
  • Honor hex.section in pxW and pxQ
  • Honor hex.section in pxb
  • Improve pxr for null words and relocs and use hex.section in pxs+pxr
  • Fix #14250 - ps[puzwW+]j
  • Fix #14263 - Add hex.section option for the hexdump
  • Add Objective-C and Rust (pco, pcr)
  • Add Kotlin, Java and Swift pc sub-commands

r2pm

  • Honor the 2nd arg of R2PM_TGZ with ZIP files

refactor

  • Change the signature of r_str_trim to avoid confusions
  • Deprecate the RBinObject.id field
  • Rewrite the RBuffer API to make it safer and adjust the codebase

refactoring

  • Deprecate the RBinObject.id field

remote

  • Improve the r2web:// IO plugin and fix a couple of bugs in there
  • Speedup r2web://
  • Make -C http work like the tcp and rap remotes, expose the shell via ==
  • Honor rap.loop in rap server and add examples in =?
  • Fix issues with the tcp server .: and =+tcp, use index instead of fd
  • Fix some UAF in rap server, handle HTTP over rap and tcp properly

search

  • Fix #14403 - Fix search on multiple maps (#14405)
  • Add /cc for case insensitive instruction
  • Add search.in=bin.segment[.s[rwx]] and fix bin.section[.s[rwx]]
  • Fix hexpairs search containing whitespace
  • Fix /r for dalvik and en...
Read more

3.5.1 - Dismay2

15 May 09:40
Compare
Choose a tag to compare

Binaries: https://radare.mikelloc.com/release/3.5.1

  • Fixed hardware breakpoints in the native Windows debugger
  • Introduce the new scr.prompt.popup and honor it in all the color themes
  • ESIL emulation is now 2x faster
  • Fixed a huge performance regression when generating zignatures on big binaries
  • Fix iOS, Android (non-arm64) builds with new NDK
  • r2frida comes with Frida 12.5.3 (v8 enabled by default and working on iOS + Android)
  • Upgrade capstone and capstone5 dependencies
  • Improved cursor mode in panels
  • Initial ESIL emulation for RISC-V
  • Fixed C output for nested structs/enums/unions from pf strings

Screenshot 2019-05-15 at 11 34 37

3.5.0 - Dismay

13 May 09:25
Compare
Choose a tag to compare

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

Authors

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 #12867 - 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 #13596 - 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 #13765 - 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 #13980 - 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 #13738 - Autocomplete $aliases

core

  • Few mem leak fixes
  • Implement yq,yj,y*,y! and b*
  • Fix binary number to ut64 conversion
  • Implement @@@Strings iterator
  • Fix #13823 - 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 #13975 - 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 #13672: 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 
  • 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 #13880: 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 #13988 - Add JSON outpu...
Read more

3.4.1

02 Apr 22:14
Compare
Choose a tag to compare
  • Fix static, ios and android builds

3.4.0 - Codename: "hufflepuff"

01 Apr 20:20
Compare
Choose a tag to compare

Release Notes

Version: 3.4.0
From: 3.3.0
To: 3.4.0
Commits: 349
Contributors: 47

Authors

Changes

anal

  • Add more function sorting methods and reduce unnecessary resorts
  • Fix #13466 - Adjust thumb xrefs on aae
  • Fix axf without args
  • anal_riscv: Implement get_reg_profile
  • Fix #13451 - make afs work
  • Show destination in axf
  • Analyze symbols of type STATIC
  • Add R_ANAL_OP_MASK_DISASM for r_core_anal_op() for now
  • Reduce false positives in aav honoring align and skipping code blocks
  • Remove CALL_IS_EOB, it was experimental in r1, not useful
  • Add warning message when jump table size is invalid
  • Fix #13077 - calling convention args to start from 0 instead of 1
  • Add avrr and aao in aaa
    • m68k architecture is always 32 bits and big endian
  • Implement jmptbl for Thumb TBB and TBH instructions
  • Fix m68k analysis issues 
  • Add R_ANAL_OP_MASK_OPEX
  • Add support for Thumb jmptbl based on TBH
  • Fix glitch found in analyzing jmptbl in debug
  • Avoid passing fixed size buffers in RAnal.fcn, reducing the use of anal.bb.maxsz
  • Fix r_reg asserts issues spotted in the mips emulation
  • Remove redundant key in anal/cc
  • Simplify function guessing
  • Add missing ESIL for ARM64's LDRH instruction
  • Fix null string issue in afi and add afcf in afij
  • Use ARM special syms as analysis hints (#13249)
  • Use fcn->meta.min instead of fcn->addr in fcn rbtree code
  • Fill ptrsize for TBH and TBB Thumb/ARM instructions
  • Update register profile for m68k
  • Update Windows type db
  • x86: add ESIL for BSF/BSR instructions
  • Implement new aesou and abte commands
  • x86 afb+: Update size in fcn rbtree after adding bb
  • Support another type of jmptbl for x86-64
  • Add fp register as BP in mips analysis
  • Improve CHIP-8 analysis
  • Add Windows types from synchapi.h
  • Add Windows Crypto API types
  • Update Registry API types

asm

  • New command: 'wai' write assembly inside the current instruction
  • Initial implementation of the .offset RAsm directive
  • Updated ppc's libvle with latest fixes
  • Add asm.refptr eval variable
  • Implement rasm2 -x to output in hex dwords
  • Add CHIP-8 asm descriptions
  • Fix #13208 - Initial import of the asm.null plugin

bin

  • Add dex.h and cdex.h for header structs
  • Parse segment name in -H, deprecate 2 old load methods
  • Adding symbols for 32bit version of mfc140u.dll
  • Fail kernelcache check for non-arm64 kernels
  • Use entrypoint from LC_UNIXTHREAD for the Kernelcache
  • Fix integer overflow that leads to a crash in the DEX parser
  • ELF: returning the full compilation toolchain info
  • Added load_buffer and check_buffer for qnx (#13446)
  • Rebase strings when necessary
  • Rbin remove old load_bytes callbacks
  • bin_art: avoid double free
  • Compute file hashes on request via it and compare if has changed
  • Add bin_qnx.c in Meson.build
  • Add Homewbrew detection
  • Import the XNU kernelcache RBin plugin
  • Add initial support for QNX executables
  • Adding OpenBSD elf sections
  • Fix #13157 - Invalid read in r_bin_demangle_swift
  • Parse objc categories
  • Fix mach0 relocs when no symtab is there

build

  • AppVeyor - Update MSVC to 2017, Ninja to 1.9.0
  • Fix compilation on Android
  • Fix offline build: Remove duplicated curl line

config

  • Change anal.maxreflines to asm.lines.maxref
  • Fix #13201 - Merge anal.jmp vars fix

cons

  • dm= now honors theme (eco) settings + wx sections are highlighted
  • Added missing flags & file paths autocompletions
  • Add more file paths autocompletions
  • Added missing autocompletions for breakpoints related commands
  • Add prompt handling in r_cons_gets
  • Add missing autocompletions for e and P subcommands
  • Add missing keywords for tab completion

core

  • Make flag comments base64-compatible
  • Support alias files in '.' interpret too ('. $foo')
  • Implement $foo=- to use cfg.ediitor to edit the alias
  • Initial implementation of alias files
  • Fix wcr command
  • bin.str{purge,filter} -> bin.str.{purge,filter}
  • Rename asm.bbline to asm.bb.line and disable it in graph
  • Create libr_main and make all binaries use it
  • Introduce anal.verbose and set http.verbose and bin.verbose to false
  • Make function to allow grabbing the flags by order of importance in flagspace
  • Fix va_arg issue in r_str_newf and r_str_appendf

debug

  • Fix #13363 - Remove URI handler before looking for auxillary script
  • Some fixes for the debug/emul traces and initial visual mode
  • Fix #13391 - issues when using file:// and ood together
  • Displaying chunk flags as bits
  • Implement dbg.skipover and fix dss for esil
  • Documentate and fix 'afa' and 'afal' commands
  • Implement V$ to set the program counter
  • ASLR settings little refactor, available as util mean
  • Initial implementation of the dri command - inverse debug registers
  • FreeBSD will be having aslr finally

deprecate

  • Fix #13430 - Kill MinGW remnants

diff

  • Implement the dif command to compare two files using unified
  • Fix #13541 - Automatic radiff2 -p when no bininfo is found

disasm

  • Call to same relocs must have same name instead of appending number
  • Improve pf visualization via Cf in pd
  • Fix #13502 - alignment of .dword things
  • Remove reflines2
  • Fix bugs on E_MASK_D and BD24 (343eeb9) powerpc/vle
  • Fix printing consecutive type links in pd
  • Support asm.pseudo=1 in pad command
  • Sync with libvle (bugfixing & new instructions)
  • Fix #13412 - Improve folded-bb message
  • Fix asm.stackptr when disassembling in the middle of a function
  • Add support to fold basic blocks in graph, disasm and commandline
  • Add chip8 pseudo support
  • Implement UJMP/UCALL color and update themes
  • Fix #13326 - Implement of asm.regsub to replace register names with their role alias
  • Implement visual decompiler and fix the RConfigHold API
  • Show function signature on tailcall jumps
  • On ARM, labeeling the unwind address segment a bit more accurately

docs

  • Updating which assert version to be used

esil

  • Add cmd.esil.step

flags

  • Add symbols.objects and symbols.sections flag spaces

format

  • Fix #12041 - fix truncated pf output
  • Add pfo dex|macho and bind structs to offsets with Cf via .iH*

fs

  • Rename mg to mc and implement 'mg' properly

graph

  • Handle b key in graph, doing the same as in visual
  • Improve interactive graph title with function signature
  • Implement graph.trace and improve dt+ with dt++ for abt
  • Trim decompiler text in graph nodes
  • Implement support for decompiler graphs in 'v #'

hexdump

  • Support colors in prx (abusing px)

io

  • Consider the map sorting when two map_events are the same

nds

  • Add Homewbrew detection

optimization

  • Add an early-out optimization for r_isprint (2%-30% speedup)
  • Optimize r_str_bounds by removing an unnecessary strdup
  • Avoid unnecessary RConfig.get('cmd.times') in RCore.cmdSubst

panels

  • pP rotate panels
  • ROP gadgets work properly when in-n-out
  • Fix some crashes
  • bunch of menus work which had been broken such as ROP, etc
  • Submenu is also highlighted
  • Menu should not be highlighted when it's not focused
  • Fixed some critical issue in resizing
  • Panels move more flexibly with HJKL
  • Remove some useless messages on the menu

performance

  • Remove redundant section lookup in get_strings_range
  • Improve console rendering times
  • Make analysis use io instead of fixed size buffer
  • Optimize analysis by adding more fine-grained levels

print

  • prc honors io.unalloc
  • Implement p-e (entropy bar)
  • Fix #13323 - Skip nulls in pxr
  • Show negative reference in pxr, honoring asm.bits

projects

  • Fix #13252 - Fix path with spaces in projects

rbin

  • Change printf to println

refactor

Read more