Skip to content

Releases: radareorg/radare2

3.2.1

15 Jan 21:18
Compare
Choose a tag to compare
Release 3.2.1

codename: rumours

08 Jan 09:43
Compare
Choose a tag to compare

Release Notes

Version: 3.2.0
From: 3.1.3
Commits: 251
Contributors: 43

Changes

anal

  • Add asm.hint.cdiv
  • Handle ^C in agf (#12618)
  • Fix size of arm64 wzr register
  • Rename ac -> aoc, aC -> ac, Fix help
  • Add the missing fail arc for SBRx instruction
  • Fix wrong splitting of functions in aac
  • Initial implementation of emu.ssa
  • Fix infinite loop bug related to anal.nopskip 
  • Use add-sorted instead of append+sort
  • Heavy refactoring and sdbify the classes storage+logic
  • Implement support for nword in ahi
  • Fix ESIL borrow flag handling for SUB/SBB on x86
  • Display all metas in current offset instead of just one
  • Fix .in=io.maps, improving aap analysis (2052 vs 41 functions find)
  • Small msp430 improvements
  • Fix aap for thumb
  • Fix #8054 - Update cpu flags in arm/thumb ADD/SUB
  • Display all metas in current offset instead of just one

bin

  • Fix #12654 - workaround resolv reloc symbols in ELF
  • Refactoring of get_import_addr in format/elf
  • Fix printing of the macho UUID load command in iH / rabin2 -H
  • Add timestamp to iRj output
  • Do not use r_buf_get_at in RBin.nxo to solve 2 clusterfuzz crashes
  • Fix missing exported symbols in ELF
  • Add laddr to iI
  • ie/iee: remove baddr
  • Use entry.init0 instead of entry0.init
  • rabin2 -H and iH uses cb_printf instead of eprintf+printf
  • Improve RBuffer api, start to refactor rbin to use more rbuf
  • it's nintendo 64 not nintendo 32

build

  • Appveyor cleaning 
  • Fix musl build (required for Alpine)
  • Do not statically link binaries by default in sys/static.sh
  • meson: Do not use glob with meson
  • Initial implementation of the Alpine Linux package
  • Improve the meson scripts
  • Fix Emscripten support
  • Switch to capstone 4.1 (#12549)
  • meson: Ensure python3 and no hard-code version
  • meson: Ensure R2_DATDIR, R2_INCDIR, R2_LIBDIR be absolute path
  • Users may want to install radare2 to a different directory than ~/bin.
  • Parse --install-path in sys/user.sh to allow for users to do so.

cons

  • Fix #12667 - Fix heap overflow in RCons.grep
  • Fix #12397 - Colorize grep words if scr.color.grep is set

core

  • Improvements and code cleanup in util/str
  • Implement ?j to get JSON output of different representations for the same number
  • Fix #12482 - Unify asm.shortcut/asm.{lea,jmp} hints
  • Rename scr.pipecolor into scr.color.pipe
  • Initial import of the PJ (PrintJSON) API
  • Fix 11141 - replaced R_ASM_BUFSIZE with RStrBuf*
  • Bring back f-.localflag (same as f.-localflag)
  • Add some more random "fun" fortunes
  • =h& is not an alias for & =h

crash

  • Fix #12479 - negative disk_reads may not be allowed

disasm

  • Fix esil function comment refline when there is jump to addr
  • Allow select cpu for arm.gnu
  • Add support for m68xx disassembler + analysis from capstone
  • Initial support for 6502 with Capstone
  • Optimize ds_align_comment()
    • Use r_str_len_utf8_ansi() for line len in
  • Fix glitches in asm.shortcut=1|0 with and leahints
  • Fix visual leahints hotkeys
  • Handle meta hints for dwords in visual disasm hotkeys
  • Improve pds

json

  • Do spec-following r_str_escape_utf8_for_json()
  • Added new PJ simple print-json (stream) apis

assembler

  • Move mipsasm from mips_gnu to mips_cs
  • Fix #12543 - Support backward branch and bl assembling for arm64 (#12552)

search

  • Add magic headers for GPG symmetric crypto

commands

  • Fix #12473 - implement C. command
  • aaE -> aafe (#12628)
  • Support multiple ahi0 == ahi

Debugger

  • When a process is interrupted by a signal, we try to figure out the reason if the information is still available.
  • FreeBSD/more reliable way to get PID's path. (#12527)
  • Disable dbg.follow in aaft to prevent seek changes (#12657)
  • Fix r2 -Ad regression

panels

  • Fix a crash when V! calls graph via space key
  • Fix Cursor mode and Zoom mode and refactoring
  • Enable cursor and insert in Hexdump
  • Fix a resizing issue of Panels
  • Help message for Snow
  • Snow is supported in Panels because it is winter
  • Better Hexdump support
  • Remove mouse events thoroughly from panels
  • Minor fix when opening a new panel

performance

  • Improve io map lookup performance in presence of many maps
  • Limit the blocksize in visual mode
  • Optimize r_meta_find (~4x faster :D)
  • refactoring ELF relocs, parse once and lookup in a hashtable

print

  • Fix #12528 - Remove suffix modifier for 'j' in cmd_print.c
  • Add hex.ascii config variable
  • Support uneven columns in hex.cols and fix stack after scope issue in scr.rainbow
  • Fix p- to honor multiple regions
  • Highlight the flagged bytes on hex.style
  • Implement hex.hdroff (disabled by default)
  • Improve pxa, use more colors. honor VdF (pf format)

search

  • Implement /s, /s* to search for sections depending on entropy

threads

  • Make =h work in tasks, still more work to do to make RCons task and thread safe

types

  • Fix tc and afc commands
  • Implemented tc command as an alias for tuc;tsc;tec...
  • Fix #11756 - Implement tsc and tuc

visual

  • Add r_str_len_utf8_ansi()
  • Fix #1298 - Fix visual 'G' for r2 -nn (#12655)
  • Improvements for repeated Vd
  • Implement recursive interactive help
  • Support ranged cursor selections (for pxd, pxb, pxq, ...)
  • More fix for Vg and VG
  • tT, tt new tab, t[1-9] switch to nth tab, t= name tab, t- close tab
  • Fix #12623 - Make Grep Highlights Case Insensitive
  • Fix Vg with io.va
  • Introduce scr.dumpcols to support tabs and minor cleanup
  • Bring back VO as al alias of V<tab> and improve modes
  • Several improvements in the Visual mode (help, tabs, ...)
  • Add scr.wideoff to make offsets and reg values depend on asm.bits
  • Extend the use of the 't' key to manage tabs better, better ascii art
  • Several bug fixes and improvements for the visual-tab
  • Improve two dimensional panels with Tab and tabs with ' and ''
  • Implement ecoo and extend scr.rainbow into pd
  • Better asm.hints and support repeating in dw

wasm

  • Fix wasm analysis for the end instruction
  • Fix #12409 - wasm function ids and exports (#12414)

Archs

  • Added support for m680x arch
  • msp430: registers names for pc, sp, sr and cg
  • msp430 initialize more default op fields

Commands

  • Clarify aes /Ca help message (#12580)
  • New commands: aCb, aCm, aCmn, aCll, aClj, aCv, aCm, aC-, aCm-
  • Fix Segfaults and Leaks in RTTI classes recovery
  • Accept .?AU as prefix for msvc class name demangling
  • Classes recovery refactoring
  • Skip own type descriptor in msvc classes recovery
  • Cleanup msvc rtti address calculation
  • Recover vtable, classes, base class, virtual methods from MSVC RTTI
  • Add flags for vtables and methods

Authors

3.1.3 - Codename Antiox

04 Dec 16:53
Compare
Choose a tag to compare

See https://github.com/radare/radare2/releases/tag/3.1.2 for more details

This release fixes the following things: (1 day after 3.1.2)

  • Visual xrefs with undo seek behaviour
  • Improve visual panels
  • Fix fffff issue when doing aaaaa in NSO bins
  • Fix some memory leaks and warnings.

3.1.2 - codename Antivox

03 Dec 21:54
Compare
Choose a tag to compare

Release Notes

Version: 3.1.2
Previous: 3.1.1
Commits: 12
Contributors: 4

Description

This is a bug-fix release, fixing crashes in the x86, arm64 assemblers and the macho parser.
But also improving the xrefs visual navigation experience and panels.

This is the 2nd minor-release after 3.1.0, which also fixed a lot of portability issues. Thanks @unixfreaxjp for all the testing on freebsd, powerpc, sparc, mips, armv5 spotting out some issues with inline assembly it. Also say thanks to @revskills and @hongxuchen for fuzzing and spotting some crashes fixed by @trufae . Thanks to @ret2libc for all the refactoring in RBin, which are most of the WIP but setting the base for future directions and code cleanups.

Some users will notice some more warning at runtime. Don't worry, they are debugging messages for things that were happening before already, some can be ignored and others are expected, but they are useful for the users too in order to understand better some behaviours or bugs in the analysis.

The 3.1.0 release (compared to 3.0.0) introduced the following important changes:

  • @kazarmy implemented analysis for jump in the middle (yay!)
  • @trufae fixed a funky ANSI-injection vulnerability in the disassembly
  • The macOS debugger is now working fine in Mojave
  • @alvarofe improved the analysis of arm/thumb code
  • Improved support for DragonflyBSD, FreeBSD and NetBSD by @devnexen
  • Added scr.scrollbar and add LL command to lock screen by @trufae
  • @trufae also have optimized the RBin loading times, mainly noticeable in macho and dex bins
  • Improved support for WASM by @wargio
  • And much more in https://github.com/radare/radare2/releases/3.1.0

Authors

Changes

bin

  • Fix double-free in RBinClasses regression introduced in d6fd896
  • Fix #12384 - Crash in fuzzed macho binary

anal

  • Honor regsize to detect UB shift overflows in ARM64 code emulation
  • Fix assert in aaa when entrypoint is wrong

panels

  • Some fixes in panels

visual

  • Fix Visual k into basic block
  • Some more improvements for the visual xrefs (fix undo seek and more)

Other

  • Fix some warnings
  • Fix #12376 - crash in: rasm2 -a arm -b 64 '0 ,0,0,0,0,0,0,'

3.1.1 - codename WrongCable

03 Dec 02:33
Compare
Choose a tag to compare

Release Notes

Version: 3.1.1
From: 3.1.0
To: 3.1.1
Commits: 61
Contributors: 15

Authors

Changes

anal

  • Detecting pure functions and add afip command
  • Add ThunRTMain as noreturn

bin

  • Fix #12374 - oobread crash in truncated dyldcache
  • Identify arch in MSP430 ELFs

build

  • DragonFlyBSD linkage fix
  • Fixes for the --without-debugger compilations
  • Support NetBSD explicit_memset
  • Fix build on old mips and armv5

disasm

  • Fix #12330 - Disasm hints work even if asm.cmt.right=false
  • Show segment comments if there are no sections (elf only)
  • Fix escaping string flag name for pdJ
  • Handle asm.syntax and call jump/fail for msp430

panels

  • Use 'e' and 'n' keys in panels to edit command in current panel or open new
  • Hud improved in panels
  • FcnInfo should be cached
  • Fixed a performance issue
  • Set the core offset right and update the panels correctly when scrolling disassembly
  • Stop the partial update and set the core offset right, plus some refactorings
  • JK is for quick scroll and refactor help messages

types

  • Implement tu* without args

xrefs

  • Add <> hl keys in Vx

Other Changes

  • Fix #12375 - Crash in bd+ao (#12382)
  • Improve error message in fcn_cc
  • Implement pfq command (#12383)
  • Fix #12372 and #12373 - Crash in x86 assembler (#12380)
  • 0 ,0,[bP-bL-bP-bL-bL-r-bL-bP-bL-bL-
  • mov ,0,[ax+Bx-ax+Bx-ax+ax+Bx-ax+Bx--
  • leA ,0,[bP-bL-bL-bP-bL-bP-bL-60@bL-
  • leA ,0,[bP-bL-r-bP-bL-bP-bL-60@bL-
  • mov ,0,[ax+Bx-ax+Bx-ax+ax+Bx-ax+Bx--
  • Fix crash in gdb when desc is null
  • Fix #12333 - NSO not working and a bunch of UB in arm64 ESIL (#12379)
  • Fix #12359 - Vx<enter> does a seek history push
  • Fix #12284 - x86-16 far call follows wrong address
  • Various mem leak fixes (#12361)
  • Refline generation ignores comments (#12362)
  • Refline generation ignores comments
  • Add and use r_meta_enumerate_at() instead, and make Travis green properly
  • Add and use r_meta_find_any_except() instead
  • Warn fixes (#12360)
  • Remove unused variable from __io_attach
  • Avoid using empty string with snprintf, just set \0
  • Cut flags inbytes string if too long (#12356)
  • Fix double free
  • is_pure -> is-pure
  • Couple of mem leak fixes. (#12355)
  • Rename r_str_escape_utf8_to_json to ...for_json
  • Update the tiled webui from radare2-webui (just new dependencies)
  • Fix assert in rva when loading android elfs
  • Add assert warning in fun fortunes
  • Aim to fix the msc build of the updated bin-demangle
  • Graph and Pseudo can be updated with L command
  • Little type correction/panels. (#12353)
  • Minor fixes/cleanups (#12349)
  • Fix #12350 - Upgrade the c++ demangler from 2011 to 2018
  • Fix #12336 - Handle asm.cpu in the CRIS disassembler
  • Fix the meson build.
  • Fix few memory leaks/panels (#12347)
  • Add clock_nanosleep configure check
  • Fix compile-time breakpoints for arm<6
  • Fix null deref in RSocket.free when compiled with SSL
  • C++ RTTI classes info ita64 leak fixes. (#12339)
  • Simplification self plugin for BSD. (#12341)
  • Fix panel’s z key
  • Update meson.build (#12342)
  • Fix msp430 disasm and warnings
  • Couple of leak fixes, div by zero avoidance. (#12338)
  • io_ptrace: do not include io_ptrace if DEBUGGER is not defined
  • meson: add debugger option to not use any debugger
  • More goodies for breakpoints and kill r_sys_trap
  • Add mips software breakpoint in the macro
  • Change unneeded global static vars to local static (#12324)
  • Update dyldcache to support v1 rebasing (#12331)
  • Fix use after free in radare2. (#12332)
  • We need the path a little bit longer.
  • Upgrade to latest express to silent github warning

3.1.0 - codename Shibboleet

26 Nov 03:14
Compare
Choose a tag to compare

Release Notes

Version: 3.1.0
From: 3.0.1
To: 3.1.0
Commits: 375
Contributors: 52

Downloads:

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

Changes

anal

  • Improvements arm/thumb analysis
    • anal: arm: emulate correctly BX PC in arm32/thumb
    • anal: arm: modify r_anal_build_range_on_hints
    • anal: arm: handle better anal hints to increase performance
  • Use r_return in RAnalOp, reduce some code paths in xrefs search
  • axt with a space handles local var xrefs
  • Fix #9709 - Implement aeab to get input and output regs of the basic block
  • Fix r_core_anal_graph_to and abt, abtj commands
  • Fixed ttj feature for printing in JSON
  • Set as dword all the jmptbl offsets
  • Support overlapping basic blocks in anal.endsize
  • Cannot extract reg args if no calling convention is present
  • af-* removes jmprefs as well
  • Enable invalid insn notification in fcn_recurse and remove warn-near-end break
  • Handle alias returns and delay slot for SPARC
  • pdf sparse honors anal.jmpmid + afb+ fills op_pos array (x86 only)
  • Add new axff command (xrefs from function)
  • Check addrs 1-by-1 in pdf sparse code
  • Honor anal.jmpmid in r_anal_fcn_bbget_in (fixes test and bug in pdr and graph)
  • Fix #10420 - Enable anal.jmpmid and support overlapping bbs
  • Improve array indexing in disassembly
  • Remove aae dup and enable anal.types.constraint in aaaa
  • Small optimization and bugfix when auto-renaming functions
  • anal.jmpmid: Continue analysis after jump to middle of instruction
  • Use op->val instead of op->ptr in cmp [mem], imm
  • Add missing FITFCNSZ in r_anal_fcn_split_bb
  • Add new function prelude for ARM thumb
  • Implement ARM32/Thumb ESIL for ADR and ADDW
  • Fix #11879 - Move aae in aaa
  • Check addrs 1-by-1 in pdf sparse code

asm

  • Support REX in NOT instruction for the x86 assembler
  • Fix #12239 - crash in the x86.nz assembler

bin

  • Introduce RBinArchOptions to avoid creating fake RBinFile/Objects
  • Access last ElfSymbol only after reallocating the array
  • Fix #12194 - Resolve symbol names in WebAssembly bins
  • New RBin plugin for "symbols" files
  • Fix #9825 - Wrong import addresses in the ELF for ppc64 elfs
  • Fix some bugs in RBin.mdmp
  • Remove deprecated load methods from MZ parser
  • Implement load_buffer for MZ parser
  • Cleanup and fix the MZ
  • Correctly allocate strings when filtering them
  • Fix #12082 - infinite loop when loading PE
  • Use ht to query strings for the cfstrings
  • Refactoring RBin.open/close and RBinOptions
  • Improve MSVC detection and demangling
  • Another RBin API cleanup
  • Fix last gf 4byte write overflow in ELF
  • Fix big allocation issue found by googlefuzz in ELF
  • Fix #11947 and fix #11945 - Implement iS= and iSq.
  • Eliminate unnecessary global in mach0 parser
  • Parse the LC_MAIN in rabin2 -H
  • Fix googlefuzz crash caused by OOB in shdr_link
  • Fix loading of entrypoints on some huge mach0s
  • Refactoring and optimization for the RBin.language identification
  • Fix #11922 - Allocate space for sentinel too
  • Fix a crash in the OMF RBin parser
  • Lookup for golang and asan traces once
  • Fix crash in fuzzed sega master system rom
  • Fix crash in the MZ parser found by googlefuzz
  • Parse the mach0's requirements codesign slot
  • Fix entry0's hvaddr for ELF

build

  • Handle libr/libs.custom.mk to make partial r2 builds if you need just a portion of r2
  • Fix ios-arm32
  • Add --without-libuv and companion flags in ios-static-appstore.sh
  • Fix MacOS Mojave User Debugging Problem
  • Downgrade credentials when building with sudo
  • Add -static for the binaries when --with-libr
  • Add io.r2web, io.r2pipe, fs.io and debug.io for iOS
  • Fix the build of the iOS SDK

core

  • Fix #12060 and #12072 - Rewrite r_num_abs and r_num_units
  • Fix #10324 - Implement RLog API for leveled logging

debug

  • Fix #12022 - Slow backtrace fixed by speeding up ptrace_wrap_func()
  • Add dbg.verbose variable to show more info when debugging
  • Improve pid_to_task and handle =!pid
  • Fix some spawn args escape bugs

disasm

  • Fix ANSI injection vulnerability in pd and pdj
  • Fix #12202 - Add asm.maxflags to specify how many flags per offset we want to see
  • Fix #11889 - Fix varsub when some ANSI escape sequences are involved
  • Fix echo in ppc disassembler on invalid instructions
  • Honor asm.bb.middle in r_core_print_disasm_instructions()
  • Honor asm.bb.middle in r_core_print_disasm_json() / pdfj
  • Use fastcall in emustr on function calls
  • Fix heap overflow in long asm lines /via radareorg/cutter#803
  • Add asm.bb.middle: Realign disasm on bb start

docs

  • Remove legacy issue templates and use modern one's
  • Fixed typo in DEVELOPERS.md

esil

  • Fix zero interrupt issue

graph

  • Fix asm.flags.inbytes not showing in graph

magic

  • Add help in wtf!? and add bitcode magic signature

panels

  • First step to support xrefs in visual panels

port

  • self plugin is now working in DragonFlyBSD
  • Support DragonflyBSD build and backtrace
  • Adding self proc support for FreeBSD

print

  • Implement , and ; in pf to rewind and be able to support unions
  • Fix #12116 - Implement bytesize for pvj
  • Add pfj Z format

projects

  • Open radare2 project after loading plugins and keep the -e flags

refactor

  • ELF plugin code cleaning
  • Upgrade SDB and use the new HtPP, HtUP, HtUU
  • Remove "referenced" from RBinObject and remove get_object
  • Move trie, mixed, slist into Sdb's Attic, and DES from util to crypto
  • Remove other unused functions in RBin and make others static
  • Cast arguments to ut8 when feeding ctype.h functions
  • RBinSection now lives in the heap
  • Remove unused functions in iosections
  • Remove all S commands
  • Use r_return_* in RAnal's cc and fcn
  • Modernize RFlag with asserts, boolified and more
  • Initial import of the REvent API
  • Remove SR commands
  • Fix #11936 - Optimize RCons.hud with cache
  • Fix build and start refactor of r_cons_hud()
  • Remove Sf command
  • Kill anal.bb.align variable
  • remove r_bin_load_io2 and rename MODE defines
  • Code cleanup in the mach0 parser
  • Fix #11881 r_list_length assert for o->libs
  • Some code cleanup and asserts in RBin
  • Upgrade SDB and use the new HtPP, HtUP, HtUU
  • Remove "referenced" from RBinObject and remove get_object

search

  • /Cd is now using a proper bitmask to search the values
  • Fix regression in /rc and avoid repeated errors
  • Fix #11977 - Handle arg in on /r subcommands
  • Fix #11961 - /at swi for unconditional (or cswi)

types

  • ta command now takes an optional offset argument
  • Implemented tec command
  • Add ttc - dump types in C syntax
  • Fix #12166 - Implement tt* to list all types at once

visual

  • Add support for shift-arrows in st and rxvt-unicode
  • Fix #12307 - Escape ansi chars in cbin
  • Improve the Visual xrefs with from/to disasm and handle JK
  • Move the fcn refs visual feature into the view instead of adding more keys
  • Fix #12230 - Honor cursor in Vp xX
  • Fix #12258 - Fix glitches in VV with |= aka cmd.gprompt
  • Get cursor position only if screen_bounds == 1
  • Fix VJ scrolling stuck issue
  • Improve the visual titlebar in cursor is enabled
  • Change the behaviour of V< and V> to make it slurp or dump files
  • Initial support for key repetitions in visual mode
  • Fix #11552 - Implemlent r_cons_more and refactor some less.c
  • Implement scr.scrollbar
  • Implement cmd.hexcursor feature
  • Add stack.reg and handle pP in Vppc
  • Add LL command to lock screen
  • Fix the resizing algorithm of panels
  • Fix help in panels
  • Fix : command
  • Change the default panels depending on the analysis
  • Null terminate buffer to fix garbage in psi, psb and psz
  • Properly support the Hud in panels ?? && _
  • Handle / key in visual panels to set scr.highlight
  • Handle ^C in RCons.less

wasm

  • Initial ESIL support for WASM

windows

  • Fix gmtime_r for msvc
  • Fix visual panels crash on Windows
  • Fix unicode path issues in Windows

Authors

Read more

3.0.1

20 Oct 18:17
Compare
Choose a tag to compare

Release builds: http://radare.mikelloc.com/get/3.0.1/

$ sys/release-notes.sh

Release Notes

Version: HEAD
From: 3.0.0
To: HEAD
Commits: 44
Contributors: 16

Authors

Changes

anal

  • Fix cyclomatic complexity computation when jump tables are involved
  • Fix #11838 - Use op.val in aar and honor asm.var.submin

bin

  • Revert "Fix #11869 by using r_bin_elf_p2v_new (#11876)
  • Fix #11869 by using r_bin_elf_p2v_new (#11876)
  • Support the new Apple Watch arm64_32 mach0 cputype
  • Complete mach0.lc.toString for better rabin2 -H

bin"

bugs

  • core/cbin: vaddr/paddr were switched in iz

build

  • Fix static blob build for android and disable libuv
  • Fix the build of the static merged shared library
  • Rewrite libr.a make target without partial-ld
  • Initial import of the sys/meson-sdk.sh
  • Fix android build for the latest NDK based on LLVM
  • Static builds must go without libuv dependency
  • Don't strip binaries in static.sh (#11832)

port

  • Fix build for ptrace-wrap with musl
  • Fix #11834 - Check fbsd/nbsd versions for clock_nanosleep

refactor

  • API cleanup and support RCorebind in RSocket.R2Pipe
  • Fix gcc8 warnings and rename core/asm.c to casm.c
  • Fix #11553 - Remove the R_NOTNULL bad practice

rules

  • Add sys/release-notes.sh and define commit message conventions

tools

  • Allow multiple packages as arguments for r2pm -i,-c,-ci

visual

  • Fix visual panels glitch and handle 's' in zoom mode
  • Fix #11851 - Cursor and echo glitches in Visual
  • Fix displaying ESIL function comments in the graph

Other Commits

  • Release 3.0.1 - bugfixes
  • Disable libuv in sys/sdk too
  • m68k: Properly classify rol/ror/not instructions
  • Add missing linking flags to statically build in OpenBSD
  • Remove PIC plugin from static builds, no need to keep fighting
  • I will merge asm/anal plugins before someone cares about this
  • It's still built as shared, so it can be loaded on startup
  • Fix sys/meson-sdk.sh
  • This reverts commit 8115510.
  • Fix null deref in aav for static builds
  • ie: set hvaddr of elf entry0 from hpaddr
  • And remove dead code
  • Do not build GPL code with the static build
  • Fix static build problem with ptrace-wrap
  • Add asserts and checks to ensure the graph is correct before analysis
  • Use correct E-N+2P formulae
  • Run afbe right after af to get the jmptbl info loaded asap
  • Fix #11856 dmh puts "No Heap section" error msg twice (#11857)
  • Sync ptrace wrap for musl (#11862)
  • Removed a really meaningless piece of code (#11861)
  • m68k: Properly classify return instructions (#11848)
  • Fix help and autocompletion for id* (#11845)
  • Fix UBSAN unaligned struct issue in the tcc parser (#11846)
  • Fix regexes in sys/release-notes.sh
  • PDB switch to R_PACKED and utN types (#11830)
  • Fix typo, use R_PACKED and use r2 types in the PDB parser
  • Clarify BIOS section mapping in comments
  • Improve BIOS images loading
  • r_util: use char * instead of void *
  • On some architectures it is not valid to dereference a void * (I'm
  • getting this error when trying to compile on ppc64le and s390x), so
  • let's switch to char *, which is valid.

3.0 codename: its-still-radare2

15 Oct 22:35
Compare
Choose a tag to compare

Release 3.0.0 (codename: its-still-radare2)

Portability

  • Fix build for GNU/Hurd by removing the PATH_MAX usage (#11816)
  • Make r_sys_usleep use clock_nanosleep (#11410)
  • Make compilation on Raspberry Pi more user friendly (#11379)
  • Fix signbit build problems for android-arm
  • Scripted dynamic building of alpine docker image (#11515)
  • Reimplement TCP Server with libuv and add configure/meson flags (#11403)

Binaries

  • Improvements for ELF section resizing
  • Fix entrypoint resolution when program headers is missing
  • Improve program headers handling in ELF
  • bin/demangle: demangle names that end with @@CXXABI
  • Improve the language detection for Rust, C++ and LLVM block extensions
    • Detect binaries compilers with sanitizers (#11479)
  • Parse CodeSign blobs and compute SHA1/SHA256 in Mach-0 binaries (#11491)
    • rabin2 -OC, WIP requires proper refactoring and redesign

IO

  • Make r_io_plugin_{read,write}_at not seek character devices.
  • Add r_io_{desc,fd}_is_chardevice.
  • Add r_io_desc_open_plugin.

Visual

  • Added window mode in visual panels
  • Show column headers in RBin info (r2con) (#11444)
  • radare2: Try to detect color support and set scr.color accordingly. (#11420)
  • Fix #11455 - Implement internal less pager with scr.pager=.. (#11548)
  • Use full screen in r_cons_less (last line was not used before)

Debugger

  • Watchpoints menu is back and Breakpoints menu is improved a bit (#11544)
  • Fix #11509 - Handle segfault signal in the macOS and iOS debuggers (#11557)
  • Use PT_ATTACHEXC and PT_SIGEXC on mac to get BSD signals as XNU exceptions
  • Fix debugging in FreeBSD 11.2 (#11726)
  • Introduce ptrace-wrap, to support multi-threaded debugging in Linux

Analysis

  • Add initial documentation for ARMv8 PAC instructions
  • Upgrade arm.gnu disassembler to support ARMv8.3 (#11691)
  • Improve MSP430 function boundaries analysis
  • Detect function prefixed with __libc_ and __GI_ (#11663)
  • Add aang to recover function names from stripped Go binaries (#11594)
  • C-Sky and MCore support for r2 (#11448)
  • Improve ARM and X86 ESIL emulation
  • Zignatures now support sha256 bbhash
  • Fix #11437 - syscall calling conventions for x86-64 (#11549)
  • print class name in avra (#11486)
  • Fix ESIL x86-32 for 'push esp' (#11384)
  • Implement API for loading interrupt handlers (thx @vifino)
  • ESIL CHANGE: The == operation should not push any value back on the stack, use $z and NUM for this (#10006)

Disassembly

  • Add asm.usercomments to disobey asm.comments (#11620)
  • Improved X86 assembler
  • Fix asm.describe=1 when asm.cmt.right=0 (#11803)
  • Make up graph with new UTF-8 character for the backward lines (#11770)

Commands

  • Command repeat (prefix syntax) is now ut64 (#11656)
  • Handle partial address seeks directly from RNum (#11664)
  • Add commands to print ASN1/DER/PKCS7 in normal and quiet modes (better than openssl asn1parse), added more OIDs
  • Fix #11071 - Implement 1u8, 1u16, 1u32, 1u64 in RNum (#11765)
  • Updated help messages and new ?$? variables
  • Fixes in pCx, pxr, pd-, pd--, pae, pade,..
  • Improve the t subcommands with JSON output
  • Fix #10290 - Support R2_ and without prefix in r2 -H
  • Add pFo, parse certs from Mach-0's cdhash and minor X509 cleanup
  • Added cmd.load: Run when binary is loaded (#11483)
  • Implement the _ (underscore command) to print the output of the last command

Refactoring

  • Fix #11616 - Remove the use of RMemPool and update some comments for future discussion (#11665)
  • Enabled UBSAN (Undefined behaviour, improve stability on ARM/MIPS platforms)
  • Enabled coverage checks in Travis CI, added Coveralls bot
  • Enabled ASAN in Travis CI for passing tests
  • Fix GCC 8 warnings
  • Fix a lot of undefined behavior thanks to the r_assert API
  • autogen.sh now uses r2pm to update acr
  • Use more sys/indent.sh -i (supports clang-format)
  • Fix a lot of memory leaks
  • Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC)
  • Unify R_IO, R_BIN, R_BP, .. into R_PERM_* using 1 letter syntax
  • Huge speed up thanks to updated SDB, which fixes the hashtable implementation making it use less memory and perform better

Heap

  • dmh with glibc now works without symbols
  • linux_heap_glibc: fix dmhf and allows dmhf @thread_arena (#11441)
  • linux_heap_glibc : dmha and dmht, check threaded arenas free status (#11390)

Bugs

  • syscall: do not reload sdb database if nothing changes (#11801)
  • Fix more crashes related to the RStrBuficization of RAsmOp
  • Added main detection for linux64 endbr64 (#11731)
  • Implement bruteforce block to find hash collisions (#11595)
  • Fix SHA digest alignment issues found by UBSAN (#11596)
  • Fix #10408 bitwise rotations in RNum (#11508)

r2-2.9 pre-r2con2018

04 Sep 00:14
Compare
Choose a tag to compare

r2-2.8 - codename OliveDealer

07 Aug 13:54
Compare
Choose a tag to compare

This is refreshing summer release of radare2 intended to relieve heatwave across the globe. These weeks team of radare2 developers and external contributors fixed a ton of annoying bugs in various parts of the framework. A lot of improvements and fixes were done by our beloved GSoC students. This release doesn't bring a lot of new features, focusing mostly on improving stability, interface beauty, consistency across different radare2 parts, and increasing autoanalysis precision.

image

Build system

  • This release improved meson buildsystem support for different platforms. A lot of work was done to ease the life of package maintainers allowing to decouple some of radare2 dependencies.
  • Switch to capstone master branch

Analysis

  • ESIL improvements in different architectures
  • Added esil.breakoninvalid to break on invalid instruction
  • Types propagation
  • Parsing [s]printf-like format strings for argument types

File format

  • Initial revival of .NET PE binaries support ("xtr.pemixed" plugin)

Debugger

  • Add support for GDB watchpoints
  • Add gdb support for Renesas/NEC V850 architecture
  • Various GDB and WinDbg remote clients fixes

Commands' changes

  • Improved history handling and autocompletion
  • Remove address argument from most of `ag*`` commands
  • Added aecc (continue until call)
  • Added zfs **.sig to load all signature files
  • Implement ?vx command
  • Implement ls -q and lsq commands to list files in quiet mode (one file per line)
  • Cd. to show size of data at current address
  • Add a verbose option for afta to increase visibility on missing database input
  • Autocomplete L <file>
  • Added command Ct to add type analysis comments
  • Add &b command

Visual mode

  • Refactored canvas and panels code, Unicode support everywhere
  • Improved panels and graphs drawing performance
  • Autocompletion widget
  • Improved colored highlight of the types, variables
  • Implemented [1][2] jumps for panel mode
  • New r2 colorscheme (onedark)
  • Compacting the disassembly output - xrefs, variables
  • Add '#' key to toggle graph hints
  • Dotted conditional jump lines (e graph.dotted)