Codename: Refactor Forever
Downloads
http://cloud.radare.org/get/1.3.0
Release 1.3.0
Project: radare2
Codename: beta
Date: Mon Mar 13 2017 00:37:36 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/1.3.0-git
radare2 1.3.0-git comes with 11868
new lines of features, bug fixes and enhancements.
Numbers:
- commits: 415
- fix: 223
- crash: 12
- new: 8
- add: 67
- anal: 19
- leak: 3
- esil: 4
- debug: 9
- type: 8
- oob: 24
- honor: 5
- update: 13
- clean: 5
- import: 3
- endian: 0
- indent: 22
- command: 12
- enhance: 9
- diff:
- add: 29626
- del: 17758
- diff: 11868
.-----------------------------------------------------------------------------------------------------------------------------------.
| Release 1.3.0-git |
|-----------------------------------------------------------------------------------------------------------------------------------|
| name | commits | fix | add | honor | leak | esil | endian | authors |
|--------------|---------|-----|-----|-------|------|------|--------|---------------------------------------------------------------|
| | 415 | 223 | 67 | 5 | 3 | 4 | 0 | |
| binr/radare2 | 11 | 5 | 3 | 0 | 0 | 0 | 0 | pancake defragger xarkes alvarofe ... |
| binr/rabin2 | 2 | 2 | 1 | 0 | 0 | 0 | 0 | pancake nibble |
| binr/radiff2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| binr/rahash2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| libr/debug | 14 | 9 | 3 | 0 | 0 | 0 | 0 | pancake osalvador.vilardaga alvarofe schumblub ... |
| libr/bin | 74 | 48 | 17 | 0 | 0 | 0 | 0 | pancake alvarofe h4ng3r wargio ... |
| libr/core | 171 | 92 | 25 | 4 | 1 | 2 | 0 | pancake alvarofe schumblub maijin ... |
| libr/crypto | 2 | 2 | 0 | 0 | 0 | 0 | 0 | wargio pancake |
| libr/cons | 8 | 7 | 1 | 1 | 0 | 0 | 0 | pancake ret2libc skuater itaycohen23 ... |
| libr/anal | 50 | 25 | 6 | 0 | 0 | 2 | 0 | pancake alvarofe mrmacete srimanta.barua1 ... |
| libr/asm | 35 | 17 | 9 | 0 | 1 | 0 | 0 | unlogic pancake alvarofe laanwj ... |
| libr/util | 58 | 32 | 8 | 1 | 2 | 0 | 0 | pancake alvarofe wargio schumblub ... |
| libr/egg | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| libr/io | 6 | 3 | 1 | 0 | 0 | 0 | 0 | pancake alvarofe wargio p4n74 ... |
| shlr/bochs | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| man | 3 | 0 | 1 | 0 | 0 | 0 | 0 | pancake |
'-----------------------------------------------------------------------------------------------------------------------------------'
Contributors: 415 / 46 = ~ 9 commits per contributor
41% - 174 pancake
20% - 83 alvarofe
5% - 22 SchumBlubBlub
4% - 17 maijin
3% - 14 unlogic
2% - 12 wargio
1% - 8 h4ng3r
1% - 8 nibble
1% - 6 xarkes
1% - 5 condr3t
1% - 5 mrmacete
0% - 4 xvilka
0% - 4 osalvador.vilardaga
0% - 4 ret2libc
0% - 3 defragger
0% - 3 me
0% - 3 skuater
0% - 3 laanwj
0% - 3 srimanta.barua1
0% - 2 p4n74
0% - 2 zutle.harh
0% - 2 itaycohen23
0% - 2 jeremy.goldstein+github
0% - 2 ahmedsoliman
0% - 2 sferrini
0% - 2 kazarmy
0% - 2 brainstorm
0% - 1 queueram
0% - 1 dx
0% - 1 thor0505
0% - 1 berne.campbell
0% - 1 vlad
0% - 1 cutlassc91
0% - 1 pankajkiitr.ucs2015
0% - 1 antide.petit
0% - 1 david.polverari
0% - 1 susan78965
0% - 1 Ferrancelades
0% - 1 Nevsor
0% - 1 thelightnet
0% - 1 polsha3
0% - 1 dogtopus
0% - 1 bofh666ftw
0% - 1 aneesh
0% - 1 jkrshnmenon
0% - 1 SztfG
Highlights
Tools
- r2-indent
- uses uncrustify and some regexes after it (also supports clang-format)
- enforces a common indentation syntax across all the codebase (wip)
- r2-docker
- supports creating and using a docker image with r2
- supports debugging linux-x86-32/64
- Initial support for WebAsm
Usability
- Show RBin plugin info with
rabin2 -L [plugin]
- rasm2 obeys R2_ARCH and R2_BITS env vars from r2
- Added warning when loading project with different binary
- Removed useless elf size flag (-nn) and set normal flag size
- Enhance graph shortcuts
rabin2
- Display plugin info in a proper structured way for humans with
rabin2 -L [plugin]
. - Fix current
rabin2 -L [-j]
output. - Allow to specify
-j
before or after-L
.
Important Bugs Fixed
- Fixed r2pipe and RCons grep on Windows
- Avoid 100% cpu usage in Linux debugger
- Fix c++ demangler crash
- Fix ASN1 memory bugs (various overflows)
- Fix #6770 - Handle ^C in pdr and other search commands
- Fixes for dalvik and analop (imm/ptr)
- Fix crash in
rabin2 -C
for mach0 - Fix #6806 - Invalid delta diff boundaries
Cleanup
- Removed many scripts in
sys/
, user2pm
plz - Fixed many crashes, bugs and regressions
- Remove assert in GNU's AArm64 disassembler
- Update uncrustify config file
- Refactoring of
z/
andzs
- Various optimizations for RConsCanvas
- Rewrote r_anal_type_func_guess (~4x analysis speedup)
Commands
- Add: dbf - put a breakpoint into every no-return func
- Added
afxX
toafl*
(which is saved withPs
) - Fix #6747 - Implemented @@@= iterator
- Implement
@@/
to temporary set the value ofcmd.hit
- Add rapatch format documentation in
wp?
pif
usesrealsize
instead offcn->size
- New
aab
command to find basic blocks and identify function heads Vr
refresh visual screen- Implement
aggv
likeagv
, but for the custom graph - Implement
rabin2 -L [plugin]
andiL [plugin]
iH
support for DEX, MACH0, ELF and PE- Implement
pxx
andpxX
for hex-less hexdumps - Enhance
Vx
- visual xrefs browser, with more highlight and less glitches - Add
Pnx
command for project note command parsing - New command
pdk
to disasm a klass
Features
- Say hello to the new compact hexdump (e!hex.compact)
- Debian confirms we run on GNU/Hurd - Without debugger or r2k
- Fix #6818 - json indent
~{}
honorsscr.color
- Fix #242 - Implement HFS timestamp in pth
- Fix #6677 - Quoted multicommands issue
- Fix #7006 - Support decimal in unit strings (f.ex: 2.3K)
- Initial commit for parsing RTTI structures
- Magic database is now compatible with GNU magic (BSD already supported)
- More instructions supported for ARM, ARM64 and X86
- Fix #4837 - Support punycode emojis
- PPC(32/64) ESIL Emulation
Disassembly
- Fix #6456 - Show cursor in data words
- Print string references even if they contain special characters like newlines or tabs
- Fix #6611 - Implement ORR for AArm64
- Fix #6882 - Tricore byte copy to restore disassembling
- riscv: Update opcodes from binutils-gdb
- Update capstone (remove the fix-warns patch)
scr.html
fixes for disassembly- riscv: Return actual instruction length
- Fix
asm.bits
whenaf
in arm/thumb
Analysis
- Detect main pseudo-symbol in more PE and ELF binaries
- Fix #7000 - ELF file identified as BIOS
- Fix #3022 - Support OPEX for mips, arm, arm64 and x86
- Added ARM Thumb ADR instruction to calculate the correct offset
- Fix issue with arm/thumb bits detection
- Fixed PC and LEA instruction to correctly resolve references
- Fix #6884 - Improved ESIL output for various ARM arithmetic instructions
- Fix #3448 - Add support for multiple-hit signatures
- use
op.stackptr
instead ofop.val
for stack frame size guessing. - Enhancements for
aab
andabb
, codename analblaze, using to beO(1)
instead ofO(n^n)
(lulz) - Initial implementation of abb - analyze basic blocks in range
Binaries
- Honor rabin2
-H
,-rH
,-qH
and-jH
-HH
shows the full header in dexdump/objdump format- Added PE overlay flag to
r2 -nn
and iniI
- Add ASN1, X.509 and PKCS parsers (+
iC
for PE) - Optimize ELF Symbol loading (> 4x faster)
- Implement initial
iHH
for mach0 - Parse .NET CLR header structure if found in PE
- PDB: Add unions support