Releases: radareorg/radare2
r2-1.5 - codename "RubyCup"
Release 1.5.0
Project: radare2
Codename: rubycup
Date: Mon May 29 2017 16:35:28 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/1.5.0
radare2 1.5.0 comes with 5777
new lines of new features, bug fixes and enhancements. Here some of the most important highlights:
NOTE: If you building against MUSL libc you'll have to use this patch (which is already commited in master and will be ready for 1.6 https://github.com/voidlinux/void-packages/commit/9a5fbd4f8ee9961f307b7e9335c09ab8879e79d0)
Numbers:
- commits: 352
- fix: 184
- crash: 3
- new: 4
- add: 66
- anal: 11
- leak: 9
- esil: 16
- debug: 5
- type: 0
- oob: 2
- honor: 17
- update: 18
- clean: 4
- import: 0
- endian: 0
- indent: 1
- command: 16
- enhance: 4
- diff:
- add: 15376
- del: 9599
- diff: 5777
.------------------------------------------------------------------------------------------------------.
| Release 1.5.0 |
|------------------------------------------------------------------------------------------------------|
| name | commits | fix | add | honor | leak | authors |
|--------------|---------|-----|-----|-------|------|--------------------------------------------------|
| | 352 | 184 | 66 | 17 | 9 | |
| binr/radare2 | 15 | 5 | 2 | 2 | 0 | pancake skuater kamou.k |
| binr/rabin2 | 9 | 5 | 1 | 0 | 0 | pancake mscherer srimanta.barua1 armijnhemel ... |
| binr/radiff2 | 1 | 1 | 0 | 0 | 0 | pancake |
| binr/rahash2 | 3 | 2 | 0 | 0 | 0 | pancake skuater |
| libr/debug | 26 | 12 | 5 | 1 | 0 | pancake rkx1209dev srimanta.barua1 skuater ... |
| libr/bin | 41 | 23 | 2 | 0 | 3 | pancake alvarofe skuater armijnhemel ... |
| libr/core | 148 | 73 | 29 | 12 | 1 | pancake kazarmy kamou.k wargio ... |
| libr/crypto | 6 | 3 | 0 | 0 | 0 | pancake skuater xarkes |
| libr/cons | 19 | 11 | 1 | 3 | 0 | pancake skuater sferrini bru.x0 ... |
| libr/anal | 50 | 31 | 10 | 4 | 1 | pancake mrmacete xvilka akochkov ... |
| libr/asm | 26 | 11 | 7 | 0 | 0 | pancake skuater sven sajjad ... |
| libr/util | 48 | 29 | 4 | 2 | 4 | pancake kamou.k alvarofe kazarmy ... |
| libr/egg | 4 | 2 | 0 | 0 | 0 | pancake skuater |
| libr/io | 20 | 12 | 1 | 0 | 0 | pancake srimanta.barua1 skuater xarkes ... |
'------------------------------------------------------------------------------------------------------'
Contributors: 352 / 44 = ~ 8
57% - 201 pancake
4% - 15 kazarmy
3% - 13 alvarofe
3% - 11 kamou.k
2% - 8 skuater
2% - 8 yetmorecode
2% - 8 wargio
1% - 7 mrmacete
1% - 5 xvilka
1% - 5 raul.mikaop.zelda
1% - 5 akochkov
1% - 4 rkx1209dev
1% - 4 sajjad
1% - 4 frefreak.zxy
1% - 4 defragger
0% - 3 h4ng3r
0% - 3 armijnhemel
0% - 3 sven
0% - 3 sferrini
0% - 3 maijin
0% - 3 srimanta.barua1
0% - 3 misc
0% - 3 bru.x0
0% - 2 drozdziak1
0% - 2 Florian Markl
0% - 2 adrian.herrera02
0% - 2 mscherer
0% - 2 soez
0% - 2 xarkes
0% - 1 jpcanepa
0% - 1 asanchez
0% - 1 rayjolt
0% - 1 adinator1999
0% - 1 ebragg09
0% - 1 queueRAM
0% - 1 lonely.ruyk
0% - 1 segarrra
0% - 1 0xdecafbad
0% - 1 condr3t
0% - 1 Tzaoh
0% - 1 daniel.crompton
0% - 1 manouchehri
0% - 1 hewittc
0% - 1 tobias.gross
This release characterised with a big amount of various bug fixes, analysis
improvements and ESIL improvements. You can use meson build system to build
radare2 much faster than using old makefiles buildsystem.
Moreover the first batch of GSoC
patches landed in it - basic timeless debugging support, msvc build
(using both cccl and meson) and improvements of GDB client.
Good news - radare2 now has support for compile-time localization.
Embedded languages are: English, Catalan
Commands
- Case insensitive grep with
~+
- Load
.py
,.js
and.lua
at startup time - Implemented
prc
command to print colorful bytes - Implemented
dmp
command for Linux - Added
drlj
subcommand - Initial implementation of the flame column graphs in
p==
- Added
p==?
and honor colors inp==
- Added
pib
command for basic block level disassembly - Added
fss
,fssj
andfss*
- Added class name argument to
ic
iCj
- Signatures in JSON format- Added
S.j
command to print current section in JSON - Implemented
pxj
,p8j
,pxwj
,pxhj
andpxqj
- Set
asm.midflags=2
by default - Enhanced
@@
foreach operator - Fix
Pl
command on Win64 - Initial implementation of
pdR
, the af-lesspdr
- Rename
Tp
toL
command to be consistent withiL
andoL
- Fix for
@@c:/c
to be compatible with@@/c
drr
honorsscr.color
- Integrate
pss
into the visual mode - Implemented
px0
- Initial implementation of
dir.zigns
and honor inzo
- Show comments in
pxa
too - Added
ev
andevj
command - Honor color theme in
p=
, add palette rainbow primitives in RCons
Config variables
- Added asm.cmtoff to control showing offset comment
- Removed
|
inasm.bbline
and fix some glitches when no analysis found - Refine
asm.varsub
for att syntax - Added
bin.relocs
config var to load relocs information at startup if available - Make
anal.strings
unsetbin.strings
and run aar - Fix
zoom.byte=?
- Implemented
asm.midcursor
- Honor
cfg.log
for analysis metadata (CC, ...) - Remove
asm.spacy
and integrate the logic intoasm.bbline
when no fcn is found - Honor
asm.syntax=att
for x86 varsub and relsub
Analysis changes
asm.leahints
cmts are now normal cmts- Improvements of
asm.pseudo
for x86 - Optimize
asm.slow
withbin.relocs
- Honor
anal.strings
foraae
- Reduced false positives of switch tables detection
aeim
doesnt break projects anymore- Honor MMX and SSE op.family for x86.cs
- Now working PPC
pblr
and fixedb/bc
jumps - Introduced the
anal->cmdtail
and enhanceanal.jmptbl
with it - Honor noreturn in
aab
and removed no exact cases fromaab
- Add MIPS branch likely variants to MIPS CS analysis
- Fix inPLT check for function analysis
- Honor class/methods and flags to name functions
- Fixed a bug in flag renaming enhancing analnysis in some situations
ESIL
- Implement the new
REPEAT
keyword for ESIL - Fix
STP
andLDP
ESIL representation for arm64 - Add
cset
,cinc
and fixcmp
,csel
for arm64 - Fix crash in signatures
- Fix ESIL
pstate
flags for arm64 - Implement >>>>= and fix SAR and SARX instructions for x86.cs
- Implemented SAR using new esil command
REPEAT
- Add conditions for branching arm64
- Fix Branch instructions ESIL arm64
- Add ROR esil arm64
- Add signed and unsigned extension arm64
- Fix
>>>>
and>>>>=
esil instructions for 32bit - Add
mov.w
thumb instruction - Fix arm64 ESIL pass the correct param to arm64_reg_width
- Fix arm64 movz and movk ESIL
- Add support for
setend
ARM instruction - Add internal flags setting for esil_sub
- Fix PowerPC's SUBF esil and parse
r2pm
- Remove "set -e" to fix the later gmake check
- Add r2pm dependencies to Dockerfile
- Add support for SVN sources in r2pm
Formats
- Add resource support into radare for PE files
- Fix listing methods of classes in Java bins
- Fix override shdr with phdr symbols
- Identify Rust main symbol on mach0 (#7448)
- Enhanced main detection for MSVC
- Move jni init function into entrypoints
- Avoid modifying symbol names in bin/filter
- Support r2 -B for NES roms
- Fixed imports program header issue on some ELF binaries
- Fixed regression when loading a fuzzed DEX binaries
- Merge tms320c64x plugins into tms320, use e asm.cpu=c64x
Debugger
- Fix debugger in mac hidding the output
- Fix
dmi
and its help - Implemented dynamic global_max_fast resolution for linux_heap_glibc
- Implemented
search.in=dbg.program
anddbg.trace.libs
- Fix redirection to std[io|out|err] in rarun for mac
- Implement r2 -X to specify custom rarun2 directives
- Added new trace session format
- Fix dmi honoring dmm on Mac debugger
- Added kill signal for gdb client
- Bring back drx on XNU, buggy but at least does something
r2pipe & rlang
- Add support for #!python -e and other rlang plugins
- Modify RLang plugins for Py2/py3 support
- Support -e -s in #!vala
Build
- Support for Meson and MSVC (runmeson.bat)
- Honor NOSUDO in sys/install.sh
- Initial support for compile-time translations (radare2-translations)
Random
- Fixed many JSON outputs
- Add file.lastpath to fix regression in projects using malloc://
- file.path is not polluted with invalid values after opening malloc:// files
- Support square pixels, cursor and scroll in prc, available in VPP, add hex.pcols
- Those whose offset are 0 are skipped to avoid overlapping
- Add align info in DEX payload instructions
- Fix remaining glitches with recursive help
- Update equivalent flags for -g (#7551)
- Fix varsub regression on intel syntax
- Fix #7492 - Properly Handle x/ argument as address
- print empty json list when there are no xrefs (#7487)
- Show all flags in data refs, not just the first one
- Initial gdbserver support
Codename: "no comments"
Release 1.4.0
Project: radare2
Codename: no comments
Date: Mon Apr 18 2017
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/1.4.0
radare2 1.4.0 comes with 12768 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:
Special thanks to:
- Nibble - for rewriting the signature
- Defragger - for the new analysis command aab
- Unlogic - for adding more instructions in the assemblers
- cgvwzq - for completing WASM support
- alvaro - better support of arm/thumb
- mrmacete - static/method and access attributes for objc
- wargio
- h4ng3r -
- xarkes
- dx - last minute contributions
- pancake - for almost everything else
.-------------------------------------------------------------------------------------------------.
| Release 1.4.0 |
|-------------------------------------------------------------------------------------------------|
| name | commits | fix | add | honor | leak | authors |
|--------------|---------|-----|-----|-------|------|---------------------------------------------|
| | 432 | 216 | 79 | 10 | 6 | |
| binr/radare2 | 11 | 8 | 2 | 0 | 1 | pancake skuater alvarofe 0xdecafbad ... |
| binr/radiff2 | 9 | 5 | 0 | 1 | 0 | pancake alvarofe |
| binr/rahash2 | 5 | 1 | 1 | 0 | 0 | pancake wargio alvarofe nibble ... |
| libr/debug | 22 | 17 | 4 | 0 | 0 | pancake rkx1209dev alvarofe 0xdecafbad ... |
| libr/bin | 69 | 44 | 11 | 0 | 1 | pancake alvarofe h4ng3r mrmacete ... |
| libr/core | 199 | 93 | 45 | 8 | 3 | pancake nibble maijin kazarmy ... |
| libr/crypto | 2 | 2 | 0 | 0 | 0 | pancake |
| libr/cons | 13 | 7 | 1 | 0 | 0 | pancake dx 0xdecafbad mr.exodia.tpodt ... |
| libr/anal | 75 | 37 | 14 | 1 | 2 | nibble pancake alvarofe jean.quilbeuf ... |
| libr/asm | 48 | 31 | 8 | 0 | 2 | pancake sven cgvwzq alvarofe ... |
| libr/util | 41 | 25 | 7 | 0 | 0 | pancake alvarofe nibble mr.exodia.tpodt ... |
| libr/egg | 0 | 0 | 0 | 0 | 0 | david.polverari |
| libr/io | 17 | 14 | 1 | 0 | 0 | pancake alvarofe skuater condret ... |
'-------------------------------------------------------------------------------------------------'
Contributors: 432 / 54 = ~ 8
46% - 199 pancake
15% - 66 nibble
8% - 36 alvarofe
3% - 15 maijin
2% - 12 sven
1% - 8 kazarmy
1% - 6 cgvwzq
1% - 6 mrmacete
1% - 6 wargio
1% - 5 xarkes
1% - 5 h4ng3r
1% - 5 mr.exodia.tpodt
0% - 4 rkx1209dev
0% - 4 skuater
0% - 3 dx
0% - 3 srimanta.barua1
0% - 3 itaycohen23
0% - 2 sferrini
0% - 2 defragger
0% - 2 ret2libc
0% - 2 david.polverari
0% - 2 neutral
0% - 2 ryarnyah
0% - 2 xvilka
0% - 2 antide.petit
0% - 2 raul.mikaop.zelda
0% - 2 marcel.bathke
0% - 1 wagner.thomas
0% - 1 ahmedsoliman
0% - 1 code
0% - 1 queueram
0% - 1 0xdecafbad
0% - 1 usrshare
0% - 1 Tzaoh
0% - 1 condret
0% - 1 p4n74
0% - 1 yann-github
0% - 1 uls6502
0% - 1 dzcyberdev
0% - 1 tilsche
0% - 1 pkerling
0% - 1 jean.quilbeuf
0% - 1 guillaume
0% - 1 giovanniteratani+github
0% - 1 Sidy726
0% - 1 adrian.herrera02
0% - 1 ixineeringeverywhere
0% - 1 gonzalezjo
0% - 1 esteve.varela
0% - 1 semarie
0% - 1 manouchehri
0% - 1 m4s4n0bu
0% - 1 levente
0% - 1 ewtoombs
New r2pm packages
- New x86 disassembler based on Zyan
- Add r2com package to comment COM calls
- Add kaitai support
- Upgrade Vala
- Add rust implementation of the new aab command
New commands
- Add tinygraphs (agft)
- New informaton mode - opex (json information about opcode)
- Implement command
zc
- Implement
Pn+
to add text directly from the commandline to the project notes. - Implement
s!
to show near flag names for history offsets - Print out
Sa
inS*
, handy for projects - Fix
/V*
to set flags and not behave like aav - Add
p=z
and bring back the oldp=p
- Add
p=[j,c,i,m,s]
and enhancep=p
- Implement
di*
command - Add
rahash2 -E xor
and support-S -
and-S @
to slurp stdin or files - Add
CC.
help inC?
and handleCC.[addr]
syntax - Implement
zaF
generate zignatures for all functions - Implement
zoz
to load zignatures from gzipped sdb file - Add
ss
(Silent Seek) to seek without write in the seek history - Initial implementation for singlestep command backwards
dsb
- Add
r2 -Q
for faster quits handy for testing - Implement
ad4
andad8
commands to analyze data words. - Add
fd.
command to find flags without delta - Add
dbh-
to remove breakpoint plugin handler
Implement radiff2 -e - Add
P-
command to delete projects (currently with Pd) - Implement
|
and|H
pseudopipes, seepd|?
- Implement
/f
to find the contents of a file inside another
Support alt-q in Visual and Visual Insert modes - Add
$
binding to enable pseudocode in visual graph
Commands change
- Rename z/ to zS. Generate zigns for all fcns
- Replace the mention of r2's
#
command withph
- Rename esil_stack into esil.ram
- Remove slurp command '<'
Config vars
- Fix #7108 - Implement anal.fcnprefix
- Fix #6338 - Add asm.varsum to show variables summary instead of full var list
- Add esil.stack.{addr,size,depth} config variables instead of hardcoded constants
- Fix #7162 - Implement esil.stack.pattern
- Add config var zign.mincc. Rename zign.{min,max} to zign.{minsz,maxsz}
- Zign matching configurable via zign.metrics.{graph,bytes}
- Add hex.header configuration variable
- Add asm.section.sub to the pointer dereference strings in disasm
- Implement asm.section.sub to prefix offsets with section name in disasm
- Added custom tab to sdb json_indent function (#7050)
Various
- Implement reentrant thread locks in RThread and use them in core.cmd()
- Fix escaping of JSON escape in various command
- Honor midflags in more commands
- Display the help for the
%
command (#7283) - Improvements in
aab
- Zignatures, major rewriting
- Integrate
crca
in rahash2 and r2 - Many fixes for Windows and Windows build
- Many fixes intended for Iaito release
- OPEX for more architectures
- Support writing PE32/PE32+ section permissions (#7058)
- Initial implementation of the new testsuite
- Adding
relro
intoi
and putting stuff in semiorder - Fix main detection for several windows binaries
- Various fix for ARM and x86 assemblers
- ESIL can now emulate memory mapped devices
- Add mipsel compiler target
- Do not exit if pledge fails, just return with disabled sandbox
File Formats and Disassemblers
- WebAssembly (WASM) Bin and Disassembler support
- Identify Android Wear DEX binaries
- RAR disassembler and bin plugin moved to radare2-extras
- Initial support for the NRO Nintendo Switch binaries
- Lua 5.3 Assembler/Disassembler, Analyzer and Binary Plugin (#3836) (#7197)
- Initial import of the io.null plugin and doc/siol.md
- SFC/SNES ROM support
- Initial implementation of extracting class info from symbols
- Enhance stripped detection on MACH0 binaries (thanks @dan1t0 for reporting)
- Enhance
V.
to work with firmwares and dumps - Added display of strings in disassembly for PIC binaries (#7112)
Anal
- Add arm-ios-{16,32,64} noreturn function types and enhance tail call analysis
- In addition JMP to imports are considered end of function
- Add iOS arm/thumb noreturn function type definitions
- Implement opex for XCore and Sysz
- Implement opex for m68k
- Implement opex for sparc and remove the
%
from the disasm - Fix #6697 - aav now is aware of thumb addr
Assembler
- Support assembling the BND prefix on x86.nz branch instructions
- Add many more instructions for ARM, X86 and ARM64
Debugger
- Fix #7213 - Retrieve UID on XNU and Linux for RDebugPid
- Listing processes now show the user-id too
- Fix r2 -R on mac (rarun2 issue)
- Improve gdb remote debugging (#7027)
- Fix #7040 - detach debugger on windows at radare2 exit
Disassembly
asm.cmtright
fixed in graph- Fix duplicates in disassembly
Zignatures Refactoring by @nibble
- Rewrite from scratch
- Signature types: Graph based, masked binary patterns, referenced functions
- r_search is used under the hood, honoring search configuration variables
- Anal masks per architecture
- SDB storage backend for zignatures
- zign commands autocompletion
- Initial work on providing radare2-sigs https://github.com/Maijin/radare2-sigs (MASM32)
Screenshots:
https://i.imgur.com/hYoNtr3.jpg
https://i.imgur.com/DWueWBt.png
Iaito initial release
A Qt and C++ GUI for radare2 reverse engineering framework - https://github.com/hteso/iaito
WASM
WebAssembly or wasm is a safe, efficient and portable low-level bytecode format for in-brows...
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
1.2.1
Release 1.2.1
Project: radare2
Codename: trustme
Date: Sun Feb 05 2017 11:58:50 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Numbers:
- commits: 58
- fix: 33
- crash: 3
- new: 2
- add: 7
- anal: 4
- leak: 0
- esil: 1
- debug: 3
- type: 2
- oob: 3
- honor: 0
- update: 1
- clean: 1
- import: 0
- endian: 0
- indent: 1
- command: 3
- enhance: 2
- diff:
- add: 2465
- del: 1892
- diff: 573
.----------------------------------------------------------------------------------------------------------------------------------.
| Release 1.2.1 |
|----------------------------------------------------------------------------------------------------------------------------------|
| name | commits | fix | add | honor | leak | esil | endian | authors |
|--------------|---------|-----|-----|-------|------|------|--------|--------------------------------------------------------------|
| | 58 | 33 | 7 | 0 | 0 | 1 | 0 | |
| binr/radare2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| binr/rabin2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| binr/radiff2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| binr/rahash2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| libr/debug | 8 | 5 | 3 | 0 | 0 | 0 | 0 | osalvador.vilardaga pancake 6bx0lm+7siazd414punk polsha3 ... |
| libr/bin | 6 | 3 | 1 | 0 | 0 | 0 | 0 | pancake alvarofe |
| libr/core | 32 | 21 | 3 | 0 | 0 | 1 | 0 | pancake 6bx0lm+7siazd414punk alvarofe sven ... |
| libr/crypto | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| libr/cons | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| libr/anal | 6 | 4 | 0 | 0 | 0 | 0 | 0 | pancake 6bx0lm+7siazd414punk mrmacete |
| libr/asm | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| libr/util | 6 | 5 | 0 | 0 | 0 | 0 | 0 | pancake alvarofe zutle.harh polsha3 ... |
| libr/egg | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| libr/io | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| shlr/bochs | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| man | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
'----------------------------------------------------------------------------------------------------------------------------------'
Contributors: 58 / 11 = ~ 5.2727272727272725
60% - 35 pancake
15% - 9 6bx0lm+7siazd414punk
6% - 4 alvarofe
5% - 3 osalvador.vilardaga
3% - 2 zutle.harh
1% - 1 sven
1% - 1 polsha3
1% - 1 bofh666ftw
1% - 1 mrmacete
1% - 1 brainstorm
1% - 1 SztfG
Commits:
Fix #6694 - oobread in P
Release 1.2.1 - Trust me
s/struct r_anal_plugin_t/RAnalPlugin (#6686)
Fix compile warnings (#6687)
Fix newline issue in json
Use disasm_json API instead of RCore.cmd in pdrj/pdfj
pdrj resolves functions like pdfj now
Fix pdfj fixes
Fix pdfj invalid json issue
Fix #6691 - crash in r_strbuf_appendf. missing va_start
Fix #6678 - crash in r2 -d malloc://512 -
Fix reloc type 1 for x86-64 elf
Fix #6676 - rbin warn after re-o
Fix rbin warning when ood after o
Tweak Visual ?help (#6679)
Move o[er]ax to last pos of gpr regs (#6674)
Clean up o?/ob? and use consistent fieldname 'objid' for obj/ob/obo (#6675)
Update ?description for = commands (#6671)
Fix: Fixed regression pointed by #6650 (#6672)
Tweak ?help for scr.nkey (#6669)
Document H> and H>> in ?@? (#6670)
Fix #6665 - show t in V?
Fix mouse paste in some visual cmds when scr.wheel=1 (#6649)
Fix gs regressions
Fix #6643 - Add privileged notes on dockerfile
Use copyfile syscall for OSX in r_file_copy()
Fix many dd subcommands and enhance rarun2 -t
Use SdbHash within inSymtab mach0.c
Coding style fixes
Fix #6635 - oobr due to RNumCalc->calc_buf dereference
Fix #6622 - oobr due to wrong manipulation of iSq
New asm.relsub enhancement
Add rarun2 -t to wait for a tty connection
Fix ddd (dup2) on OSX, also extend the help message
Fixed build on Windows (undefined signals) (#6645)
Disable cmd.repeat by default again (causes conflict with ^C)
Fix build on OSX
Add support non-numeric signal numbers in RRunProfile (#6558)
- Add support non-numeric signal numbers in RRunProfile
- Add signal util module
- Remove old
signal_resolve
implementation
Remove the err from anal types.. thats not noreturn
Fix null deref in reglist() when no anal plugs
Windows debugger: Added dce command. Fixed dmm commands. (#6628) - Use double quotes to make .dmm* work on Windows
- Fix r2pipe.cmdj('dmmj') command on Windows. Report correct path when listing modules ('dmm')
- Removed unused local variable
- Added 'dce' command for windows
- Escape backslashes for JSON output only
- Do not include r_debug_native_continue() for CYGWIN builds. Removed unnecessary memset.
- Added exception for CYGWIN to not escape backslashes in path
- Escape backslashes in both file paths and map names. Use map name for 'f mod.%s' instead of file path
- Added more exceptions for CYGWIN
- Validate escaped strings
Release 1.2.1
Fix null deref and infinite loop when building with no plugins
More builds fixes for less plugins
Add sys/sdk build script (wip)
Do not show useless warnings when using raw rbin
Fix static build
Remove the use of -ggdb
Add: coredump refactoring + RDebugMap offset field (#6633)
Fix build for capstone3 (thanks @xtraeme)
Fix warnings and reindent ppc stuff
Fix disassembly issue introduced in ebb75f3
Use esil when compiled without native debugger
Fix: #6616 crash in crash core generation
Removing path in shell redirections
Fix #4554 stackptr calculation on pdr and graph - blocks have their stackptr
- inherit from parent when visited hierarchically (in pdr and graph)
- add the global anal->stackptr as a starting value for disasm, defaults to 0
Introducing WebAssembly (#6613)
libr/core/cmd.c codestyle fix (#6615)
fixed according to https://github.com/radare/radare2/blob/master/CONTRIBUTING.md
Fixes:
Codename: HopeBells
Release 1.2.0
Project: radare2
Codename: HopeBells
Date: Sun Jan 29 2017 17:28:48 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/1.2.0
radare2 1.2.0 comes with 5513 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:
Numbers:
- commits: 356
- add: 18725
- del: 13212
- diff: 5513
radare2-extras
- r2snow - new decompiler!
- Fix and update capstone, unicorn, duktape
- Yara2 support is deprecated
- Updated r2k linux/android module
- Initial support for parsing/printing structures from dwarf info
- Moved olly from r2 to here
- Added rust disassembler plugin for 6502
r2core.js
- pure JS emscripten generated radare2 api
- available via
npm install r2core
- Use r2 in nodejs or the browser without external dependencies.
Visual mode and Graphs
- Add shift information in visual bit editor Vd1
- Add HUD to VB (class/method browser)
- Hexdump in visual mode uses
pxc
to display comements. - Add experimental horizontal layout and diagonal lines via graph.linemode/layout
- Show function+delta in visual title
- Initial support for analyzing and graphing generic switch tables
- Draw backward lines with up arrow instead of line
- Enhance Vx visualization
Analysis
agf
can now be stopped- Better ARM64 analysis
- Stubs mach0 section considered as PLT
- Support 64bit pointer dereference with ESIL in aae and /re
- Implemented initial support for 24 bit esil memory operations.
- add pattern to get
winmain
from MSVC compiler with SEH - Implement
afvR
andafvW
to list var read/write accesses - Handle
f->bits
as anal hints and thumb/arm in aa/aae - Add
afvj
as an alias forafvsj;afvbj;afvrj
- Add
afcc
and useafc
to sum cycles in a function - Add support for Rust in rabin2 to demangle symbol names
- Speedup
aae
by ~30% - Honor asm.dwarf.file
Disassembler
- Implement asm.pseudo for PowerPC
- Update capstone from git (fixes for 68k, arm and x86)
- Retire x86_olly to r2e
- Add support for the ARM Cortex CPU instructions (e asm.cpu=cortex)
Assembler
- Add
cmov*
support to x86.nz - New instructions for the arm64 assembler (
add
,sub
,hvc
,smc
,svc
,mov
, ..) - For group 1 instructions with AL for op1 and a constant for op2, nz will now generate the shorter opcodes
Debugger
- Add:
dbg.libs
/dbg.unlibs
for linux - Add: support for dbg.follow.child option
- Improvement of the debugging experience on Linux, Windows x64 and OpenBSD
# File formats
- Load GameBoy ROM sections
- WinMain is now detected as
main
- Rust demangler support
- Parse and load DEX debug source:line information
- Enhanced DEX headers parser
- Fixed some null derefs in ELF
- Implement bin.verbose for ELF, PE and MACH0
- FatMACH0s are now loaded faster and support bigger files
rahash2
- Add DES support to rahash2
build system and refactoring
- Add some hints to optimize asmjs build
- Add support for SunOS.
- Add anal.x86_cs for emscripten
- Remove NDK dependency when BUILD=0 in android-shell
- Make sys/build.sh accept custom configure flags
- Implement support for external repositories via
r2pm -a
- Fix mingw32 build
r2k for linux
- Read/Write kernel address space using multiple layouts:
- Kernel linear address space
- Userspace/Proccess linear address space
- Physical address space
- Print control registers status
- Print process info
- Added cmd alias
\
for=!
see\?
for help - Workaround for HARDENED_USERCOPY on newer kernels
- Add support to disable x86 WP on writes
- Several minor bugfixes
misc
- Fix regex overflow on 32bits systems with 720MB patterns
- create sys/install.sh with su and correct quotes (#6600)
- Fix somes NULL dereferences in graph.c
- Use HTTPS for Microsoft symbol server URL
- Colorize and enhance f= [glob] and kill f==
- Add help for /r?
- Properly document
?x
?x+
?x-
in???
- Add
dmi.
anddmi?
commands - Fix #4528 - radiff2 -UDD to diff pdc
- Add hex.comments variable to config
- Add get_comments callback to the core api
- Add comment printing functionality to
px
- Add
pxc
- Implement RCons.jsonpath.grep via ~{json-path}
- Implement ~... RCons.hud grep style
- various improvements in the embeded help (
?
) - Autocomplete afC and fix to a
- Enable
http.sandbox
by default - Massive improvement on
radiff2
- Add
wtf!
command - Make /r run 3-4 times faster
Fortunes
- Add cfg.fortunes.clippy option and expose r_core_clippy
- Add fortunes.creepy
- Add fortunes.tts
.---------------------------------------------------------------------------------------------------------------------.
| Release 1.2.0 |
|---------------------------------------------------------------------------------------------------------------------|
| name | commits | fix | add | honor | leak | esil | endian | authors |
|--------------|---------|-----|-----|-------|------|------|--------|-------------------------------------------------|
| | 356 | 177 | 72 | 4 | 7 | 7 | 1 | |
| binr/radare2 | 5 | 1 | 5 | 0 | 0 | 0 | 0 | pancake alvarofe |
| binr/rabin2 | 8 | 3 | 2 | 0 | 0 | 0 | 0 | alvarofe pancake mail |
| binr/radiff2 | 7 | 2 | 2 | 0 | 0 | 0 | 0 | pancake julien.voisin meep mail ... |
| binr/rahash2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| libr/debug | 18 | 10 | 5 | 0 | 1 | 0 | 0 | osalvador.vilardaga pancake skuater xvilka ... |
| libr/bin | 36 | 21 | 7 | 3 | 1 | 0 | 0 | pancake alvarofe h4ng3r skuater ... |
| libr/core | 169 | 84 | 25 | 0 | 3 | 2 | 0 | pancake alvarofe osalvador.vilardaga maijin ... |
| libr/crypto | 4 | 1 | 1 | 0 | 0 | 0 | 0 | wargio pancake alvarofe |
| libr/cons | 14 | 8 | 2 | 0 | 0 | 0 | 0 | pancake alvarofe osalvador.vilardaga wargio ... |
| libr/anal | 47 | 21 | 8 | 0 | 2 | 5 | 0 | pancake alvarofe killabytenow ahmedsoliman ... |
| libr/asm | 23 | 11 | 8 | 0 | 0 | 0 | 0 | pancake sven alvarofe |
| libr/util | 39 | 23 | 5 | 1 | 0 | 1 | 0 | pancake alvarofe xvilka mo ... |
| libr/egg | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| libr/io | 17 | 11 | 3 | 0 | 0 | 0 | 0 | pancake p4n74 jpenalbae xvilka ... |
| shlr/bochs | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| man | 5 | 2 | 4 | 0 | 0 | 0 | 0 | pancake mail sven |
'---------------------------------------------------------------------------------------------------------------------'
Contributors: 356 / 36 = ~10 commits per contributor
54% - 193 pancake
14% - 51 alvarofe
4% - 15 sven
2% - 8 osalvador.vilardaga
1% - 7 killabytenow
1% - 7 wargio
1% - 7 xvilka
1% - 7 h4ng3r
1% - 6 p4n74
1% - 6 mo
1% - 6 mail
1% - 5 skuater
1% - 4 maijin
0% - 3 meep
0% - 3 ahmedsoliman
0% - 3 laanwj
0% - 3 h
0% - 2 jpenalbae
0% - 2 ninjahackerw
0% - 2 jvoisin
0% - 2 electron.kiwi
0% - 1 securitykitten
0% - 1 kazarmy
0% - 1 fercerpav
0% - 1 guillaume
0% - 1 ditch
0% - 1 eroen
0% - 1 xiaoyinl
0% - 1 mrmacete
0% - 1 venture37
0% - 1 chairkov
0% - 1 polsha3
0% - 1 sre
0% - 1 manouchehri
0% - 1 trogu.davide
0% - 1 cosa.rara97
codename: preccc
Project: radare2
Codename: PreCCC
Date: Sun Dec 20 2016 21:46:50 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Binaries: http://cloud.radare.org/get/1.1.0
radare2 1.1.0 comes with moret han 300 commits which are about 8583 new lines of features, bug fixes and enhancements. Most of this work has focused on bugfixing, the most commited modules are Core, Anal and Bin, but there have been lot of commits in other parts in Asm, Hash, Debug, .. Several bugs has been fixed fixed, so it is heavily recomended to update to the last release or use r2 from git directly.
One of the biggest addition for this release is a preprocessor for ragg2
and rasm2
(its replacement, spp
, is slowly moving forward), and some cleanup of radare2 sources. A long requested feature, recursive help, has been implemented: you can now get help for every single command with the ?*
command.
Nodes in the graphs can be individually folded in the graphs, and asm.cmtright=0 disasm has been greatly improved to make graphs more readable.
There are also news in other repositores. r2k-linux has finally been merged in radare2-extras and it's available via r2pm. Remember that this kernel interface is working on Linux, Android and Windows (32, 64), support for XNU (OSX/iOS) is welcome.
Checksums
9d797adc7bdc18138243333e1ede24cc4108936a radare2-1.1.0-android-aarch64.tar.gz
0902b70eba0deb9eca67413c6a3013e43e1907a6 radare2-1.1.0-android-arm.tar.gz
1b9b57c4484cbae9183da66c3079bb6da8249ec1 radare2-1.1.0-android-mips.tar.gz
3794f5b8c9452ff39ffb59003462d80cd9b67f2f radare2-1.1.0-android-x86.tar.gz
9321b9303b44cd4626952b4fbca826e12ca97765 radare2-1.1.0.pkg
2feeeb6cd876182333a814d54b16a4d573202d46 radare2-1.1.0.tar.gz
733525093027a06a753883854dc763bcd6d26ab5 radare2-bindings-1.0.1.tar.gz
717d0317c277127d99bd70cc8bb607053acdc332 radare2-extras-1.1.0.tar.gz
3cf766bbd88eadbe6cb29458b14be9cf60c8783a radare2-ios-arm64-1.1.0.tar.gz
31d17e55a3e7e4257c8d4b0367bb5591d860f4e7 radare2-r2pipe-1.1.0.tar.gz
06a7fc7b8df1cfedc31289234e97896ff1a9161e radare2-w32-1.1.0.zip
3d8eba8523171d5f5ff7960bf6156f97d5feefb7 radare2-webui-1.0.tar.gz
5daf952dd60709a4b8bbd46b771c760acc6d8868 radare2_1.1.0_iphoneos-arm.deb
Contributors:
Thanks again to everyone who contributed to the project to make this release possible. But special thanks to Alvaro who have been contributing a lot in this release, unlogic for his work on the assembler and preprocessor integration and maijin for maintaining the tetsuite. Skuater has been in charge of keeping the windows support working.
52% - 152 pancake
15% - 44 alvarofe
5% - 17 maijin
4% - 12 unlogic
2% - 7 killabytenow
1% - 5 p4n74
1% - 4 skuater
1% - 4 cutlassc91
1% - 4 ben.l.gardiner
1% - 4 h4ng3r
1% - 4 osalvador.vilardaga
1% - 3 xvilka
1% - 3 simon
1% - 3 gianluca.pacchiella
1% - 3 sre
1% - 3 defragger
0% - 2 jvoisin
0% - 2 mrmacete
0% - 2 ahmedsoliman
0% - 1 nil0x42
0% - 1 elia.f.geretto
0% - 1 bluec0re
0% - 1 brainstorm
0% - 1 anio
0% - 1 ehntoo
0% - 1 shein
0% - 1 asuarezbm
0% - 1 a.kornitzer
0% - 1 mr.exodia.tpodt
0% - 1 dx
0% - 1 asupalai
New commands
fla
to automatically compute the size of all flags matching glob
pdC
to show comments found in N instructions
pir
is like 'pdr' but with 'pI' output
dmS
for listing sections of mapped libraries
?*
recursive help
~?.
counts chars
New variables
$fl
to get the flag length (size) at current address. It's equivalent to fla; pD $l @ entry0
radare2
- Add autocompletion after
@
- Implement
scr.breakword
, to stops the console's output upon a particular word. - Add
$fl
in the?$?
help - The embeded documentation has been reviewed and improved
- Implement
bin.debase64
andRABIN2_DEBASE64
in RBin for r2 and rabin2
rarun2
- Support backticks as an alias for
!
- Added pseudo tty for listen and connect
Android
- Refactoring of the DEX handling code
- Dalvik analysis and bin parsing enhancements
- ESIL support for Dalvik
File format
- Optimize the process of loading fat binaries
- Add: Initial support for bFLT v4 (uclinux)
- Add support for ARM64 PE binaries
- handle more data sections in objc mach files
Build system
- Several useless
./sys/*.sh
scripts have been removed - Improve Mingw32 build script
Analysis
- Honor hints in disasm, anal and emulation
- fix djnz jump target miscalculation
- Set ATmega8 MCU by default
- Fix issue with noreturn analysis
- Move relocs to the fake virtual address
- Fixed fcnline issues
- Various ESIL improvements for a lot of architectures
- Adds a lot of different function signatures, for every major (and some minor) operating system
- The DWARF parsing and display speed has been multiplied by 120.
- Some misc fixes for libmagic
- Add a syscalls flagspace for
aae
- Properly deinitialize the
anal.trace
afterafta
Debugger and tracer
- Add option to stop syscall tracing -before- the syscall is executed
- Register handling refactored and add SN in all reg profiles
- Autoset swstep in more targets
Architectures
- Greatly improves AVR support
- Fixes for z80, x86, arm, dalvik and others
Assemblers
- values that can be expressed with 4 bits care outputted with shorter instructions.
- Initial support of linux-arm-32 for ragg2-cc
- Added spp as a preprocessor for rasm2
1.0.2: another minor bugfix release
- Fix warnings in r2 -AA
- Fix aeim- deinitialization
- Add H> HTML pipe
- Fix some COVs
- Fix r2k for Android
- Fix another CORELIB issue
- Add missing SN entry in the linux-arm64 regprofile
1.0.1: minor bugfix after 1.0
This minor release fixes a build issue that some packagers have reported us and fixes the izzj
command
For full changelog see: https://github.com/radare/radare2/releases/tag/1.0
radare2-1.0 aka "Finally"
Date: Sun Nov 06 2016 14:34:18 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/archive/1.0.tar.gz
radare2 1.0 comes with 20122
new lines of new features, bug fixes and enhancements. Here some of the most important highlights:
The project have finally reached 1.0. What does it mean?
It means that 10 years have passed and the ecosystem changed enough since its inception that it requires a new rethink of the versioning numbers.
Pushing a new release every 6 weeks, increasing 0.1. And adding +1.0 after every r2con. The 3rd version number will be used in case of emergency because of a buggy release or a backported security fix. In this case a +0.0.1 will be released.
The community evolves in a pretty healthy way, and contributors come and leave over time. This release conforms the base for the future of radare, providing a more structured and predictible evolution of features and apis.
In addition. The r2pipe bindings proved to be more than enough for most needs of our users, more stable, available on more languages and faster than the native bindings. So this is the recommended way to script r2 or write tools that interact with it.
Language bindings will be still maintained, but it requires some focus, which is actually low, in the sense that I'm just fixing when the build breaks.
--pancake
Major contributors
- pancake keeps owning > 50% of the commits
- alvarofe major contributor, bugfixer
- mrmacete implemented the long-standing need of recursive emulation support
- killabytenow kept pushing nice AVR ESIL updates
- Unlogic focused in RAsm
- maijin for remembering all the issues and mangling the testsuite
- h4ng3r worked on fixing bugs in the bin+anal of android apps
- sre for coming back from debian land
Known Bugs
- Slow on big files - after analyzing a big file (>1MB) the visual mode can become pretty slow, this can be "optimized" by disabling asm.slow, but it must be approached in a proper way to avoid O(n) requests to Flags, Functions, Basic blocks and other information that is requested many times.
- Project structure has changed, they are upgraded when saved, but there must happen some data loss. Next releases should improve on that.
- Collisions in hashtable - some very rare situtations may lead to a hash collision, this is fixed in another branch that updates Sdb, but it's not stable enough to be merged.
- Debugger is working but could be much better, the main issue is actually the regression test. You may want to use r2frida or r2lldb from NowSecure to debug with r2 when r2 is not enough.
- Binary headers are not easy to visualize or patch, there are tools for doing that, but next releases will make this situation better.
- Signature matching is not working as good as it shuold, new signature definitions will appear in the next release, as well as some enhancements and speedups.
Highlights:
- More commands are now autocompleted
- Refined and new color themes (CGA!)
- Added support for menuetOS/KolibriOS binaries
- Fixed bugs and enhanced PE, MACH0 and ELF parsers
- COFF symbols are now parsed properly
- Support DOS4GW executables
- Implemented sort (by nth column) in the internal grep
~$[n]
- Projects are now contained into a single directory and support GIT and ZIP integration
- Fixes in
p[?] -X
(negative offsets) - Add the
?O
command to enumerate all mnemonics pdr
now supportsasm.emu
- Add
CCf
to list all comments in current function - Added asm.capitalize
- Initial implementation of
io.pava
- Add ik* command to load bin headers info, and use Cf for that
- ragg2-cc now supports linux-arm64 via the NDK
- Support more instructions and various fixes in assemblers
- Fixed all license issues reported by Debian
- Allow r2pm to support tarballs, run commands and cd to repos
- Function signature parameter matching
- simple recursive emulation in graphs
- asm.decoff to show offset in base 10 instead of hexa
- utf8 graphs
- Better Android support
- r2k support for linux
r2pipe hightlights
- NodeJS api broke backward compat but standarized callback consctructions
- Support asyncawait, promisify and other modern JS stuff
- Added JNI r2pipe for Java
- Added DllImport for .NET
- Add support for Groovy, Clojure, PHP, OCaml
- Added JSON support for Nim
- Updated Perl module
- Support sideloading binaries via r2pipe (via .getBuffer and setBuffer)
Commits:
Autocompletion
- Add autocompletion for
et
andec
- Add autocompletion for
wxf
andwtf
- Autocomplete
eco
color themes
Themes
- Complete xvilka theme
- Enhance white theme
- Fix dark theme
- Add new theme CGA
- Make the lima and pink themes look as lima and pink
- Update the ogray theme
- Ansify + update rasta theme
Projects
- Fix error messages in project_save
- Fix #6017 - Pn projects notes ported to the new projects
- Implement project upgrading and remove old code
- Implement prj.zip and fix prj.git
- Fix #5141 - Initial support for prj.git
- Implement prj.files and fix some bugs in project listing and saving
- Projects are now completely contained inside a single directory
- Saving/retrieving functions stack in project file (#5973)
- Fix #5952 - Handle scr.null in projects
File Format
- Add support for MENUET{00,01,02} binaries
- Add bin.menuet plugin
- Fix #6106 - better parsing for COFF
- Replace mach headers from AAPL to LLVM
- Fix ELF support for 32-64bit relro relocations
- Fix Dalvik imports and symbol ordinals
- Add various symbols in
bin_nes
MZ
- remove check against dos_file_size in mz parser
- Enhancement of MZ
- Fix #6045 - Check entrypoint to accept raw MZ bins
Macho
- Support weak framework libraries in mach0 parsing
- Add more ARM cpu subtypes for mach0
- Add ios-cydia32.sh script to build radare2-arm32 cydia package
- Fix #4556 - use jetsam limit to bypass launchd memory restrictions on iOS
Debugger
- Send KILL to child on
^C
indc
whendbg.consbreak
is set - Fallback to
oo
whenood
fails - Initial implementation of the RDebug.io plugin
Disassembler
- Update capstone from git
- Move z80 non-commercial to r2e
- Remove m68k anal plugin - Gets moved to r2e to be installed with m68k, capstone by default
- Fix
ljmp
with immediate segment:offset (#6125) - Fix
pd -N
issue, with correct offset for bw-disassembling (#6016) - Rework of
X86_INS_XADD
. It is now basically anX86_INS_XCHG + add
. (#5996) - More memory AVR operations (LDS/LPM)
- Fixed and added opcode descriptions (#5942)
- Fix opcode for 64bit instr with 32bits regs
- Accept
sreg:[x]
and[sreg:x]
syntax
MIPS
- Fix mips emu function resolution in disasm (#6100)
ARM
- Arm chars are unsigned by default
- Add arm shift ops FIX #5482 (#6081)
- Fix "orr" in ARM assembler (#5958)
- Fix #5874 - Implement asm.relsub for arm.cs
- Do not run aav in aa on ARM
Commands and evals
- Massive improvement of
pdS
- Add
CCf
to list all comments in current function - Add
Cr
command to run commands in meta for disasm - Add
Sf
as an alias forS 0 0 foo mrwx
- Implement
?O
andr_asm_mnemonics()
new API - Implement
?Od
to list all mnemonics + description - Implement
Po&
and2 -tp
to load projects in a thread - Add
asm.decoff
- Add
asm.capitalize
, for those who are nostalgic of softice - Initial support for io.pava
- implement ahb-, ahS-, ...etc
- Add @@c: as an alias for @@=
- Add asm.midflags=3 (symalign)
- Add r2pm ls|cd
- Add S.-* to remove all sections in current address
- Fix S-[id]
- Implement rasm2 -s?
- Initial implementation of pC (column disasm)
- Implement @i: for temporary instruction seeks
- Add ik* command to load bin headers info, and use Cf for that
- Add asm.minicols config var for pCd
- Implement column sorting in RCons.grep
- Now ~: operator support ranges and negative values
- ~:-1 show last line
- ~:-2 show line before the last one
- ~:..3 same as ~:0..3
- ~:2..8 show lines from 2 to 8
- ~:2.. show lines from 2 to the end
- Implement scr.linesleep and scr.pagesize for fancier demo output
- Honor varsub and relsub with asm.ucase for parse.arm
- Refactor
dmh
- Implement
wts
to send data to socket - Add
dr8
and more commands for the RDebug.io plugin - Show instructions in
/A
and add/A[jq]
- Use RStack in r_cons_push/pop
- Fix #5975 - Honor
asm.varsub
andasm.relsub
withasm.ucase
- Initial import of io.tcp + rsocket cleanup
- Add bash autocompletion support
- Fix debruijin arguments meaning and uses (#5914)
- Fix
wxs
command - Enable graph.nodejmps by default (#5904)
- Specify row to start sorting with ~$[n]
Fixes
- Fixes NULL deref and oob
- Fix coverities
- Fix pdrj JSON
- Fix #6126 - r2 -f work with -c
- Fix
wt
usage - Fix another memleak in pdr (#6059)
- Fix #5924 - r_flags -> r_flag
- Update and fix LGPL Z80 disassembler (#6009)
- Fix #3546 - Enhanced support for RCons line grep
- Removed strcasestr() and bzero() moved to memset()
- Fix #5909 - r2 -o is now -k
- Changed r_list_length to use list->length
- Changed the code to use C API instead of forking rabin2 or create a new core instance when searching strings.
- Fix
cannot find function at
issue on some functions - Fix #5986 - use RStack in r_cons_push/pop
- Fix call xrefs in arm+thumb
- Fix div by zero with scr.pagesize and matrix theme
- Fix #5974 - reflines not shown for last disasm line
- Fix #5992 - Honor ^C in tcp://
- Fix syscall resolution for linux-arm-64
- Honor bin.str...
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
oom
to reopen file in malloc:// - Add
zs
as an alias for z/ - Implement
zo
command - Rename command
Vvm
toVvr
- Implement
drb[1,2,4,8]
to display hexdump of gpr arena - Implement
?en
command to echo without newlines - Implement
zG
exact-match zignatures support - Add
p=0
andp=F
- Add
=!pkt
in gdb:// - Add
pP
inVv
withafi
,pds
,pdc
,pdr
,pdf
- Add
@@b
iterator for all the basic blocks - Add
?w
to 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
@@f
foreach 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
oa
to load a different bin and handle riodesc properly - Initial support for
afta
command - Implement
@@i
to iterate over all instructions - Added
av*
andavj
to show vtables in r2 and json formats - Added
rabin2 -X
andr_bin_package
for FAT and ZIP - Added
v
inVV
- Implement
axf
that 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
ds
on 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
do
in windows - Fix
dr
command to get segments registers - Fix
dbic <index> <cmd>
parsing - Properly handle 32/64 bit spawning on OSX
- Reduce the requirements of
dko
to 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
afva
fromaf
ifanal.vars
is 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.calls
with function types database (#5761). Makingasm.calls
true 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.sh
to 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.relsub
true by default - Eval
asm.leahints
false by default - Added
cfg.minzlen
andcfg.maxzlen
to set minimum and maximum length to filter inzg
- Added
src.flush
to force flush to console in realtime - Added
anal.hpskip
, false by default. - Make
asm.reloff
less confusing and add experimentalasm.reloff.flags
- Make
!?
help available via?!
- Added
scr.color.bytes
and renamescr.colorops
toscr.color.ops
asm.emustr
enablesasm.emu
automatically- 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
pf
indent fix- Added array size support for structures
- Interpret
char[]
aschar*
in the pf format (use z instead of c) - Fix .qword in
pd
and consider adr on arm64 as lea op - Honor
hex.cols
inpxe
- 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 -w
and 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