Releases: radareorg/radare2
4.1.0 - codename 'antull'
Release Notes
Version: 4.1.0
From: 4.0.0
To: 4.1.0
Commits: 252
Contributors: 40
Authors
- Alex Kornitzer a.kornitzer@me.com
- Anton Kochkov anton.kochkov@gmail.com
- Anton Kochkov xvilka@gmail.com
- Armin Weihbold koyaan@users.noreply.github.com
- David CARLIER devnexen@gmail.com
- Eli elicn@users.noreply.github.com
- F3real stefan92ff@yandex.com
- Florian Märkl info@florianmaerkl.de
- Francesco Tamagni mrmacete@protonmail.ch
- Giovanni 561184+wargio@users.noreply.github.com
- GustavoLCR gugulcr@gmail.com
- Henry Eklind henry@karlek.io
- Jared 1250113+jaredestroud@users.noreply.github.com
- Johannes johannes.brechtmann@gmail.com
- Kamil Lorenc v3l0c1r4pt0r@gmail.com
- Khairul Azhar Kasmiran kazarmy@gmail.com
- Khairul Kasmiran kazarmy@gmail.com
- Kārlis Seņko karlis3p70l1ij@gmail.com
- MNayer 17458834+MNayer@users.noreply.github.com
- MartinJM martinjefmeyers@gmail.com
- Paul I pelijah@users.noreply.github.com
- Qian qwu.au0605@gmail.com
- Riccardo Schirone ret2libc@users.noreply.github.com
- Sergi Àlvarez i Capilla pancake@nowsecure.com
- SjRNMzU SjRNMzU@users.noreply.github.com
- Sylvain Pelissier sylvain.pelissier@gmail.com
- TheGoddessInari thegoddessinari@gmail.com
- Vane11ope vane11opeschw33tz@gmail.com
- condret condr3t@protonmail.com
- dav1901 44604348+dav1901@users.noreply.github.com
- dok 6414482+dokthar@users.noreply.github.com
- erfur erfur@users.noreply.github.com
- fcasal fcasal@users.noreply.github.com
- ilian ilian@tuta.io
- karliss karlis3p70l1ij@gmail.com
- pancake pancake@nopcode.org
- xarkes antide.petit@gmail.com
- yossizap yossizap@gmail.com
- yossizap yossizap@users.noreply.github.com
- Óscar Carrasco oxcabe@gmail.com
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
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
- 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...
v4.0 : Codename Kràmpack - vifino edition
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
andao
- 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, adddrm 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
- 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
- Anton Kochkov xvilka@gmail.com
- Armin Weihbold koyaan@users.noreply.github.com
- Brandon Lin blin00@gmail.com
- Cyrill Leutwiler bigcyrill@hotmail.com
- David CARLIER devnexen@gmail.com
- Dennis Goodlett dennis+git_swoops@hurricanelabs.com
- Florian Märkl info@florianmaerkl.de
- Francesco Tamagni mrmacete@protonmail.ch
- Fritz Reese fritzoreese@gmail.com
- Giovanni 561184+wargio@users.noreply.github.com
- Gordon M 35108003+gordboy@users.noreply.github.com
- GustavoLCR gugulcr@gmail.com
- Joseph Griego joseph.j.griego@gmail.com
- Khairul Kasmiran kazarmy@gmail.com
- Maijin maijin21@gmail.com
- Paul I pelijah@users.noreply.github.com
- Paweł Łukasik lukasik.pawel+github@gmail.com
- Qian qwu.au0605@gmail.com
- Quim 6136977+quim0@users.noreply.github.com
- Remco Verhoef remco@dutchcoders.io
- Riccardo Schirone sirmy15@gmail.com
- Roman Valls Guimera brainstorm@users.noreply.github.com
- Samuel Hopstock masrepus97@gmail.com
- Sanyam Agrawal 42491578+Sanyam-Agrawal@users.noreply.github.com
- Stefan 8906941+stefansiegfried@users.noreply.github.com
- Stefan Ilic stefan92ff@yandex.com
- Thomas Bailleux zadlg@users.noreply.github.com
- blenk92 30472652+blenk92@users.noreply.github.com
- condret condr3t@protonmail.com
- dav1901 44604348+dav1901@users.noreply.github.com
- dodococo deepakchethan@outlook.com
- dok dokthar@users.noreply.github.com
- fcasal fcasal@users.noreply.github.com
- hmht 55194419+hmht@users.noreply.github.com
- layderv 20249311+layderv@users.noreply.github.com
- lzutao taolzu@gmail.com
- neuracr 26376659+neuracr@users.noreply.github.com
- pancake pancake@nopcode.org
- the-remmer thomasdewaele@gmail.com
- xarkes antide.petit@gmail.com
- yossizap yossizap@gmail.com
- Óscar Carrasco oxcabe@gmail.com
3.9.0 - Carxofes
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
- Кirils Sоlovjоvs git@kirils.org
- Anisse Astier anisse@astier.eu
- Anton Kochkov anton.kochkov@gmail.com
- Chris Moore chris.moore@makerbot.com
- David CARLIER devnexen@gmail.com
- Eduardo Novella ednolo@inf.upv.es
- Florian Märkl info@florianmaerkl.de
- GustavoLCR gugulcr@gmail.com
- Igroeg Okiob georgi@pandasauce.org
- Khairul Azhar Kasmiran kazarmy@gmail.com
- Khairul Kasmiran kazarmy@gmail.com
- Kārlis Seņko karlis3p70l1ij@gmail.com
- Lev Aronsky aronsky@gmail.com
- Lowly Worm cutlassc91@gmail.com
- Maijin maijin21@gmail.com
- Maxime Meignan meignanmaxime@hotmail.fr
- Meador Inge meador.inge@carvesystems.com
- Paul I pelijah@users.noreply.github.com
- Reviakin Evgeny reviakinea@gmail.com
- Roman Valls Guimera brainstorm@users.noreply.github.com
- Sergey Alirzaev zl29ah@gmail.com
- Vane11ope vane11opeschw33tz@gmail.com
- Yanick Fratantonio yanick@fratantonio.me
- dodococo deepakchethan@outlook.com
- jvoisin jvoisin@users.noreply.github.com
- karliss karlis3p70l1ij@gmail.com
- kmartin36 Kevin.Martin@gtri.gatech.edu
- lkempf 2546084+lkempf@users.noreply.github.com
- pancake pancake@nopcode.org
- v45k0 vasil.sarafov@gmail.com
- Óscar Carrasco oxcabe@gmail.com
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
r2-3.8.0 - Taupe
Release Notes
Version: 3.8.0
From: 3.7.1
To: 3.8.0
Commits: 188
Contributors: 30
Authors
- 00rsiere 52822209+00rsiere@users.noreply.github.com
- Adrian Studer github@adrianstuder.com
- Alex Gaines roboman2444@gmail.com
- Alexandre ZANNI 16578570+noraj@users.noreply.github.com
- Anton Kochkov anton.kochkov@gmail.com
- Anton Kochkov xvilka@gmail.com
- Ayman Khamouma (ak42) noreply@ak42.io
- Brenton Morris brenton.smorris@gmail.com
- Carles Pey carles.pey@gmail.com
- Chirag Jariwala cjhackerz443@protonmail.com
- David CARLIER devnexen@gmail.com
- Florian Märkl info@florianmaerkl.de
- Giovanni 561184+wargio@users.noreply.github.com
- GustavoLCR gugulcr@gmail.com
- Khairul Azhar Kasmiran kazarmy@gmail.com
- Maijin maijin21@gmail.com
- Maijin maijin@reverseshade.com
- Paul I pelijah@users.noreply.github.com
- Reviakin Evgeny reviakinea@gmail.com
- Roman Valls Guimera brainstorm@users.noreply.github.com
- Rot127 45763064+Rot127@users.noreply.github.com
- Srimanta Barua srimanta.barua1@gmail.com
- Sylvain Pelissier sylvain.pelissier@gmail.com
- Vane11ope vane11opeschw33tz@gmail.com
- bagginslin 51952061+bagginslin@users.noreply.github.com
- dodococo deepakchethan@outlook.com
- elouet erwan.louet@sylou.fr
- fandauchytil fandauchytil@users.noreply.github.com
- pancake pancake@nopcode.org
- tantei3 54449449+tantei3@users.noreply.github.com
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
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
- 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
- ...
r2-3.7.0 - Codename TopHat
Version: 3.7.0
Previous: 3.6.0
Commits: 320
Contributors: 42
Authors
- Alexander Yukhanov 29782957+AlexanderYukhanov@users.noreply.github.com
- Anton Kochkov anton.kochkov@gmail.com
- Ayman Khamouma (ak42) noreply@ak42.io
- Cyrill Leutwiler bigcyrill@hotmail.com
- David CARLIER devnexen@gmail.com
- Deepak Chethan deepakchethan@outlook.com
- Florian Märkl info@florianmaerkl.de
- Francesco Tamagni mrmacete@protonmail.ch
- Guillaume Valadon guillaume.valadon@netatmo.com
- GustavoLCR gugulcr@gmail.com
- Ian Huang imyxhuang@gmail.com
- Khairul Azhar Kasmiran kazarmy@gmail.com
- Lily Chung lkdc@mit.edu
- Martin Brunner m.br@disroot.org
- Max blenkmax@gmail.com
- Michael Scherer misc@redhat.com
- Paul I pelijah@users.noreply.github.com
- Riccardo Schirone ret2libc@users.noreply.github.com
- Vanellope vane11opeschw33tz@gmail.com
- blenk92 30472652+blenk92@users.noreply.github.com
- dav1901 44604348+dav1901@users.noreply.github.com
- deepakchethan deepakchethan@outlook.com
- dodococo deepakchethan@outlook.com
- eShuttleworth eShuttleworth@users.noreply.github.com
- karliss karlis3p70l1ij@gmail.com
- lzutao taolzu@gmail.com
- mai128n 5632394+mai128n@users.noreply.github.com
- pancake pancake@nopcode.org
- ps ps1337@mailbox.org
- ps1337 ps1337@mailbox.org
- rfc2119 heima@protonmail.com
- ricardoapl ricardoapl@protonmail.com
- sanguinawer skuater@amn3s1a.com
- vane11ope vane11opeschw33tz@gmail.com
- xarkes antide.petit@gmail.com
- ycarmon yuval.carmon.dunedin@gmail.com
- Óscar Carrasco oxcabe@gmail.com
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
- 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...
3.6.0 - EGO
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
- Наташа 44512235+ickromwerk@users.noreply.github.com
- Alex Gaines roboman2444@gmail.com
- Anton Kochkov xvilka@gmail.com
- David Carlier devnexen@gmail.com
- Dorian Wouters perso@elementw.net
- Florian Märkl info@florianmaerkl.de
- Francesco Tamagni mrmacete@protonmail.ch
- Giovanni Dante Grazioli giovanni.dantegrazioli@nbs-system.com
- Grant Douglas hexploitable@gmail.com
- GustavoLCR gugulcr@gmail.com
- Itay Cohen itaycohen23@gmail.com
- Khairul Kasmiran kazarmy@gmail.com
- Lowly Worm cutlassc91@gmail.com
- Maijin maijin@reverseshade.com
- MapleLeaf-X MapleLeaf-X@users.noreply.github.com
- Martin Brunner m.br@disroot.org
- MatejKastak MatejKastak@users.noreply.github.com
- Paul I pelijah@users.noreply.github.com
- Purdea Andrei andrei@purdea.ro
- Riccardo Schirone ret2libc@users.noreply.github.com
- Srimanta Barua srimanta.barua1@gmail.com
- Vanellope vane11opeschw33tz@gmail.com
- Yevgeny Pats yev.pats@gmail.com
- bart1e 39703579+bart1e@users.noreply.github.com
- condret condr3t@protonmail.com
- dodococo deepakchethan@outlook.com
- erfur erfur@itu.edu.tr
- pancake pancake@nopcode.org
- ricardoapl 48807108+ricardoapl@users.noreply.github.com
- vane11ope vane11opeschw33tz@gmail.com
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 forafl*;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
andaoj
- Add opcode description in
ao
- Show pseudo in
ao
andaoj
- 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
anduniq
- 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*
whencfg.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
inV#
andpds
- 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
incmd.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-*
andCCf
- 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~
andiz~
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
- Honor
hex.section
inprc
andpxa
- Implement
pV
command - likepv
but for bytes instead of values - Fix
pv [arg]
behaviour - Added support for
pd
andpx
without space - Honor
hex.section
inpxW
andpxQ
- Honor
hex.section
inpxb
- Improve
pxr
for null words and relocs and usehex.section
inpxs
+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
3.5.1 - Dismay2
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
3.5.0 - Dismay
Release Notes
Version: 3.5.0
From: 3.4.1
To: 3.5.0
Commits: 419
Contributors: 41
Authors
- Alex Kornitzer alex.kornitzer@countercept.com
- Amith Venugopal a.meth.cloud@gmail.com
- Andrew D'Addesio modchipv12@gmail.com
- Anton Kochkov xvilka@gmail.com
- Cyrill Leutwiler bigcyrill@hotmail.com
- David Carlier devnexen@gmail.com
- Deepak Chethan deepakchethan@outlook.com
- Eduardo Novella ednolo@inf.upv.es
- Florian Märkl info@florianmaerkl.de
- Francesco Tamagni mrmacete@protonmail.ch
- GustavoLCR gugulcr@gmail.com
- Itay Cohen itaycohen23@gmail.com
- JC Alvarado jxa2165@rit.edu
- Jonas Stein news@jonasstein.de
- Khairul Kasmiran kazarmy@gmail.com
- KoWu KoWu@users.noreply.github.com
- MK marcin.kopec@windowslive.com
- Maijin maijin@reverseshade.com
- Mert Degirmenci degirmencimert@hotmail.com
- Rene Laemmert rlaemmert@gmail.com
- Riccardo Schirone sirmy15@gmail.com
- Siguza siguza@siguza.net
- Stephane LEVEUGLE stephane.leveugle@gmail.com
- Tilman Sauerbeck tilman@code-monkey.de
- Vanellope vane11opeschw33tz@gmail.com
- andry blackicebox@gmail.com
- bart1e 39703579+bart1e@users.noreply.github.com
- condret condr3t@protonmail.com
- deepakchethan deepakchethan@outlook.com
- dodococo deepakchethan@outlook.com
- kevin phude42@gmail.com
- lzutao taolzu@gmail.com
- pancake pancake@nopcode.org
- rene rlaemmert@gmail.com
- sivaramaaa sivaramaaa@gmail.com
- tick tickelton@gmail.com
- tilman2 githubtilman@code-monkey.de
- vane11ope vane11opeschw33tz@gmail.com
- xarkes antide.petit@gmail.com
- xermicus bigcyrill@hotmail.com
- Óscar Carrasco oxcabe@gmail.com
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
- 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...
3.4.1
3.4.0 - Codename: "hufflepuff"
Release Notes
Version: 3.4.0
From: 3.3.0
To: 3.4.0
Commits: 349
Contributors: 47
Authors
- Ahmed Abd El Mawgood ahmedsoliman@oddcoder.com
- Alex Gaines roboman2444@gmail.com
- Amith Venugopal amithcr7007@gmail.com
- Anton Kochkov anton.kochkov@gmail.com
- Anton Kochkov xvilka@gmail.com
- Brenton Morris brenton.smorris@gmail.com
- CrypticalCode0 mmcv1987@yahoo.com
- David CARLIER devnexen@gmail.com
- David Carlier devnexen@gmail.com
- Deepak Chethan deepakchethan@outlook.com
- Fabrice Martinez martinez.fabrice@gmail.com
- Florian Märkl info@florianmaerkl.de
- Francesco Tamagni mrmacete@protonmail.ch
- Giovanni 561184+wargio@users.noreply.github.com
- GustavoLCR gugulcr@gmail.com
- Johannes johannes@jnbr.me
- Jörg Thalheim Mic92@users.noreply.github.com
- Khairul Azhar Kasmiran kazarmy@gmail.com
- Khairul Kasmiran kazarmy@gmail.com
- Lev Aronsky aronsky@gmail.com
- Lowly Worm cutlassc91@gmail.com
- MK marcin.kopec@hotmail.com
- Mahesh Kale kjyotiba@cs.iitr.ac.in
- Maijin maijin21@gmail.com
- Maijin maijin@reverseshade.com
- Mikael Modin regs+github@badsynthesis.com
- Nikolay Edigaryev edigaryev@gmail.com
- Paul I pelijah@users.noreply.github.com
- Riccardo Schirone ret2libc@users.noreply.github.com
- Riccardo Schirone sirmy15@gmail.com
- Rishi Bhatt r201501062@gmail.com
- Romeu Gomes romeu.bizz@gmail.com
- Stefan sj@scrimpycat.io
- Vanellope vane11opeschw33tz@gmail.com
- Vasilij Schneidermann mail@vasilij.de
- Wladimir J. van der Laan laanwj@gmail.com
- a1ext a13x4nd3r.t@gmail.com
- condret condr3t@protonmail.com
- dogtopus dogtopus@users.noreply.github.com
- guy-gal 48994774+guy-gal@users.noreply.github.com
- io12 7348004+io12@users.noreply.github.com
- pancake pancake@nopcode.org
- sivaramaaa sivaramaaa@gmail.com
- t1t0 przemyslaw.duda@gmail.com
- wangcong king6cong@gmail.com
- xarkes antide.petit@gmail.com
- Óscar Carrasco oxcabe@gmail.com
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
- 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
- Fix #1113...