radare2 0.10.6
codename Sleepy Autumn
Project: radare2
Codename: Sleepy Autumn
Date: Mon Sep 26 2016 23:59:11 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/archive/0.10.6.tar.gz
Tarball2: http://rada.re/get/radare2-0.10.6.tar.xz
radare2 @ comes with 10526 new lines of new features, bug fixes and enhancements.
Here some of the most important highlights:
Commands
- Implement
oomto reopen file in malloc:// - Add
zsas an alias for z/ - Implement
zocommand - Rename command
VvmtoVvr - Implement
drb[1,2,4,8]to display hexdump of gpr arena - Implement
?encommand to echo without newlines - Implement
zGexact-match zignatures support - Add
p=0andp=F - Add
=!pktin gdb:// - Add
pPinVvwithafi,pds,pdc,pdr,pdf - Add
@@biterator for all the basic blocks - Add
?wto show what is in the given address - New
z.command, that performs zignature match by function. It works for a given offset with@ addr, so with@@ fcn*it can be run against all detected functions of the bin. - Add
Ve$command to see vars in visual - Add ?$ to show the value of all variables
- Add
@@fforeach iterator to walk all the functions - Support
@@f:to iterate over all functions matching a name - Implement
Vv[JK]to scroll pages of functions - Extend
oato load a different bin and handle riodesc properly - Initial support for
aftacommand - Implement
@@ito iterate over all instructions - Added
av*andavjto show vtables in r2 and json formats - Added
rabin2 -Xandr_bin_packagefor FAT and ZIP - Added
vinVV - Implement
axfthat try to resolve function names for 'C' refs
File Format Parsing
- Better support for COFF
- ELF and Mach are more endian awareness
- Speed up load times for ELF and Mach binaries
- Improvements in ELF to detect overlapped symbols
- Enhancements in DEX parser
Debugger
- Fixing ds in x86 (#5802)
- Bring back to live
dcs dson call and jmp (#5785)- Add Win10 profile to WinDbg module (#5805)
- Coredump support for ARM
- Added support for conditional breakpoints running r2 commands
- Fix swstep on x86-32 for CALL/UCALL/UJMP instructions
- Fixes for
dr[*]<num> - Fix command
doin windows - Fix
drcommand to get segments registers - Fix
dbic <index> <cmd>parsing - Properly handle 32/64 bit spawning on OSX
- Reduce the requirements of
dkoto any reason with a signum (#5806)
Analysis
- Honor asm.varsub and asm.relsub in axt
- Several fixes in xtensa
- Implement cfstring support for ARM/Thumb binaries
- Child thread heap analysis support (#5741)
- New opcodes and operations in AVR anal plugin
- Added xtensa calling convention (#5731)
- Initial ESIL support for xtensa
- Major improvements in zignature and better tested.
- Dalvik improvements
- Added option to load types manually (#5550)
- Basic merge of no return function with types db (#5774)
- Handle LDR instructions properly in ARM64 for static analysis
- Add initial function list for osx-64
- Extend arm64 regprofile for 16 and 8bit registers
- Always run
afvafromafifanal.varsis set - Fix aae command arguments handling
- Documentation on ESIL for AVR
- Add AVR opcode ESIL for ASR instruction and bugfixed comma eater
- Fix stack alignment bug in anal.arm64.esil
- Use 32 bit calling convention for ARM Thumb
- Add and use tinyrange.c: get 10% speedup in analysis
- Integrating
asm.callswith function types database (#5761). Makingasm.callstrue by default
Build
- Reduced Cydia package size by removing development files 79MB -> 19MB
- Optimized ios build for size (7MB -> 2.8MB)
- Changed
sys/ios-static.shto generate easy-to-deploy tarball - Added
sys/ios-static-appstore.sh - Fix build and basic run of the ios-arm64 debugger
Configuration
- Added eval
asm.cmtrefs-disabled by default-. When enabled, it shows the flag and comment that is at the ref of the current instruction. - Eval
asm.relsubtrue by default - Eval
asm.leahintsfalse by default - Added
cfg.minzlenandcfg.maxzlento set minimum and maximum length to filter inzg - Added
src.flushto force flush to console in realtime - Added
anal.hpskip, false by default. - Make
asm.reloffless confusing and add experimentalasm.reloff.flags - Make
!?help available via?! - Added
scr.color.bytesand renamescr.coloropstoscr.color.ops asm.emustrenablesasm.emuautomatically- Added types documentation
Crypto
- Add CPS-2 encryption support
Bindings
- Add OCaml correctly to the README (#5842)
- Fixed r2pipe.c
Printing
- Follow wide strings in disasm
- pdf/pdr/anal fix (#5709)
- Update pf help message
pfindent fix- Added array size support for structures
- Interpret
char[]aschar*in the pf format (use z instead of c) - Fix .qword in
pdand consider adr on arm64 as lea op - Honor
hex.colsinpxe - Implemented varsub with structure fields (currently only depth of 1)
- Show disasm in
Vx. - implementing sorting of code diff
Assembler/Disassembler
- Add msr/mrs for the armass64 assembler
- Add jump/fail in afbj
- Add support for jb instruction in pseudo asm (#5818)
- Add a missing MSP430 constant register instruction encoding (#5548)
- Fix infinite loop with long strings in disasm
- Fix a missing #1 constant-generator encoding for msp430
R2PM
- Add
r2pm -wand handle R2PM_DEPS - Add PYPATH to r2pm
- Add support to have custom directory name for cloned repo
Diffing
- Add radiff2 -S to specify which column to sort for code diffing
- Fix the radiff2 -C MATCH issue, still not perfect but getting in shape
Interface
- Enhance Visual bit editor with 30% more colors and keys!
- Fix visual mark target address (#5637)
- Fix vmarks and save them in the project
Bonus Track
Numbers:
- commits: 373
- fix: 231
- crash: 8
- new: 8
- add: 70
- anal: 32
- leak: 3
- esil: 14
- debug: 7
- type: 18
- oob: 5
- honor: 9
- update: 19
- clean: 6
- import: 2
- endian: 8
- indent: 6
- command: 16
- enhance: 4
- diff:
- add: 22324
- del: 11798
- diff: 10526
.---------------------------------------------------------------------------------------------------------------------.
| Release 0.10.6 |
|---------------------------------------------------------------------------------------------------------------------|
| name | commits | fix | add | honor | leak | esil | endian | authors |
|--------------|---------|-----|-----|-------|------|------|--------|-------------------------------------------------|
| | 381 | 238 | 70 | 9 | 4 | 14 | 8 | |
| binr/radare2 | 9 | 6 | 0 | 1 | 0 | 0 | 0 | pancake sven tiago.gasiba+saucec0de |
| binr/rabin2 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | sven pancake damo22 |
| binr/radiff2 | 4 | 0 | 1 | 0 | 0 | 0 | 0 | pancake jkrshnmenon sven |
| binr/rahash2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | tjemg |
| libr/debug | 28 | 20 | 3 | 0 | 0 | 0 | 0 | pancake tjemg saucec0de osalvador.vilardaga ... |
| libr/bin | 64 | 46 | 7 | 0 | 1 | 0 | 3 | pancake alvarofe h4ng3r damo22 ... |
| libr/core | 186 | 123 | 38 | 7 | 2 | 6 | 2 | pancake alvarofe oddcoder vlad-mbx ... |
| libr/crypto | 3 | 2 | 1 | 0 | 0 | 0 | 1 | pau pancake |
| libr/cons | 14 | 11 | 1 | 0 | 0 | 0 | 1 | pancake sven maijin zlowram ... |
| libr/anal | 88 | 56 | 16 | 0 | 2 | 12 | 0 | pancake oddcoder vlad-mbx alvarofe ... |
| libr/asm | 21 | 14 | 2 | 0 | 0 | 1 | 3 | pancake alvarofe h4ng3r sven ... |
| libr/util | 42 | 22 | 9 | 1 | 0 | 0 | 1 | pancake alvarofe semarie p4n74 ... |
| libr/egg | 0 | 0 | 0 | 0 | 0 | 0 | 0 | sven |
| libr/io | 11 | 10 | 2 | 1 | 0 | 0 | 0 | pancake sven skuater |
| shlr/bochs | 1 | 1 | 0 | 0 | 0 | 0 | 0 | pancake 0xbc |
| man | 4 | 0 | 2 | 0 | 0 | 0 | 0 | pancake maijin |
'---------------------------------------------------------------------------------------------------------------------'
Contributors: 374 / 54 = ~7 commits per user
48% - 182 pancake
10% - 41 alvarofe
4% - 15 oddcoder
3% - 13 vlad-mbx
3% - 13 maijin
2% - 8 tjemg
2% - 8 bluec0re
1% - 7 h4ng3r
1% - 6 zlowram
1% - 5 p4n74
1% - 5 laanwj
1% - 4 semarie
1% - 4 damo22
0% - 3 skuater
0% - 3 pau
0% - 3 kalianon2816
0% - 3 saucec0de
0% - 3 julien.voisin
0% - 3 alex.darredevil
0% - 2 me
0% - 2 dromero.perez
0% - 2 akihiko.odaki.4i
0% - 2 killabytenow
0% - 2 bofh666ftw
0% - 2 crowell
0% - 2 xvilka
0% - 2 jkrshnmenon
0% - 2 pvt.gord
0% - 2 osalvador.vilardaga
0% - 2 sven
0% - 1 ANTodorov
0% - 1 SztfG
0% - 1 evanjrichter
0% - 1 tiago.gasiba+saucec0de
0% - 1 siguza
0% - 1 jpenalbae
0% - 1 ret2libc
0% - 1 atrodo
0% - 1 edgar.factorial
0% - 1 wapitidou
0% - 1 philipp.B.610
0% - 1 0xbc
0% - 1 andrey.arapov
0% - 1 coding
0% - 1 jduck
0% - 1 brainstorm
0% - 1 ahmedsoliman
0% - 1 eazy-f
0% - 1 bmarsh
0% - 1 oleavr
0% - 1 lottmann86
0% - 1 ehntoo
0% - 1 pgrohe
0% - 1 sylvain.pelissier