Releases: radareorg/radare2
3.2.1
codename: rumours
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
, improvingaap
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
andiH
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
intoscr.color.pipe
- Initial import of the PJ (PrintJSON) API
- Fix 11141 - replaced R_ASM_BUFSIZE with RStrBuf*
- Bring back
f-.localflag
(same asf.-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
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
inaaft
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
- 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 inscr.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. honorVdF
(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
andafc
commands - Implemented
tc
command as an alias fortuc;tsc;tec
... - Fix #11756 - Implement
tsc
andtuc
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
andVG
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
withio.va
- Introduce
scr.dumpcols
to support tabs and minor cleanup - Bring back
VO
as al alias ofV<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
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
- Adrian Studer [email protected]
- Amith Venugopal [email protected]
- Anton Kochkov [email protected]
- Ben Gardiner [email protected]
- Dan Robertson [email protected]
- David CARLIER [email protected]
- David Carlier [email protected]
- EvenCode [email protected]
- Florian Märkl [email protected]
- Francesco Tamagni [email protected]
- Giovanni [email protected]
- GustavoLCR [email protected]
- Iain Lane [email protected]
- Khairul Azhar Kasmiran [email protected]
- Khairul Kasmiran [email protected]
- Kirill Zhumarin [email protected]
- Lowly Worm [email protected]
- Maijin [email protected]
- Maijin [email protected]
- Marco Milanese [email protected]
- Paul I [email protected]
- Riccardo Schirone [email protected]
- Roman Valls Guimera [email protected]
- Steven [email protected]
- Vanellope [email protected]
- XYlearn [email protected]
- Young-X [email protected]
- a1ext [email protected]
- blenk92 [email protected]
- condret [email protected]
- dav1901 [email protected]
- davidpolverari [email protected]
- dogtopus [email protected]
- dreamist [email protected]
- iamahuman [email protected]
- koffiedrinker [email protected]
- lzutao [email protected]
- pancake [email protected]
- r4dix10 [email protected]
- radare [email protected]
- sivaramaaa [email protected]
- xarkes [email protected]
- Álvaro Felipe Melchor [email protected]
3.1.3 - Codename Antiox
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
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 addLL
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
- Khairul Azhar Kasmiran [email protected]
- Vanellope [email protected]
- lzutao [email protected]
- pancake [email protected]
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
Release Notes
Version: 3.1.1
From: 3.1.0
To: 3.1.1
Commits: 61
Contributors: 15
Authors
- BlaCoiso [email protected]
- David CARLIER [email protected]
- Florian Märkl [email protected]
- Francesco Tamagni [email protected]
- Khairul Azhar Kasmiran [email protected]
- Luca Di Bartolomeo [email protected]
- Maijin [email protected]
- Paul I [email protected]
- Riccardo Schirone [email protected]
- Vanellope [email protected]
- bart1e [email protected]
- dav1901 [email protected]
- lzutao [email protected]
- pancake [email protected]
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 inVx
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
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 honorsanal.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 enableanal.types.constraint
inaaaa
- 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
inaaa
- 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=
andiSq
. - 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
andpdj
- 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
- Implement
,
and;
inpf
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|=
akacmd.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<
andV>
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
inVppc
- 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
andpsz
- 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
- Aaron [email protected]
- Adrian Studer [email protected]
- Alex Kornitzer [email protected]
- Alex Stafeev [email protected]
- Amith Venugopal [email protected]
- Anton Kochkov [email protected]
- Arnau [email protected]
- Artem Zinenko [email protected]
- Ayman Khamouma (ak42) [email protected]
- Bet4 [email protected]
- BlaCoiso [email protected]
- Christopher Hewitt [email protected]
- Collin Reilly Clark [email protected]
- David CARLIER [email protected]
- Florian Märkl [email protected]
- Giovanni [email protected]
- Grant Iraci [email protected]
- Guillaume Valadon [email protected]
- Iru Cai (vimacs) [email protected]
- Khairul Azhar Kasmiran [email protected]
- Khairul Kasmiran [email protected]
- Lowly Worm [email protected]
- Luca Di Bartolomeo [email protected]
- Maijin [email protected]
- Mathieu Tarral [email protected]
- Paul [email protected]
- Paul I [email protected]
- Paweł Łukasik [email protected]
- Riccardo Schirone [email protected]
- Riccardo Schirone [email protected]
- Sajjad Pourali [email protected]
- Sergi Àlvarez i Capilla [email protected]
- Stefan Ilic [email protected]
- Vanellope [email protected]
- Young-X [email protected]
- a1ext [email protected]
- ahroach [email protected]
- bart1e [email protected]
- condret [email protected]
- dav1901 [email protected]
- davidpolve...
3.0.1
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
- Anton Kochkov [email protected]
- David CARLIER [email protected]
- Florian Märkl [email protected]
- Jeff Muizelaar [email protected]
- Johannes [email protected]
- Khairul Kasmiran [email protected]
- MK [email protected]
- Riccardo Schirone [email protected]
- Stefan Ilic [email protected]
- Vanellope [email protected]
- davidpolverari [email protected]
- pancake [email protected]
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
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
andPT_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
andNUM
for this (#10006)
Disassembly
- Add
asm.usercomments
to disobeyasm.comments
(#11620) - Improved X86 assembler
- Fix
asm.describe=1
whenasm.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 inr2 -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 usesr2pm
to updateacr
- Use more
sys/indent.sh -i
(supportsclang-format
) - Fix a lot of memory leaks
- Fix #11112 - Rename
{srwx,flags,perms}
toperm.
(-21 LOC) - Unify
R_IO
,R_BIN
,R_BP
, .. intoR_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 allowsdmhf @thread_arena
(#11441) - linux_heap_glibc :
dmha
anddmht
, 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
r2-2.8 - codename OliveDealer
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.
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
andlsq
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
)