UNIX-like reverse engineering framework and command-line toolset
LGPL-3.0 License
Bot releases are hidden (Show)
Published by radare about 8 years ago
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:
oom
to reopen file in malloc://zs
as an alias for z/zo
commandVvm
to Vvr
drb[1,2,4,8]
to display hexdump of gpr arena?en
command to echo without newlineszG
exact-match zignatures supportp=0
and p=F
=!pkt
in gdb://pP
in Vv
with afi
, pds
, pdc
, pdr
, pdf
@@b
iterator for all the basic blocks?w
to show what is in the given addressz.
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.Ve$
command to see vars in visual@@f
foreach iterator to walk all the functions@@f:
to iterate over all functions matching a nameVv[JK]
to scroll pages of functionsoa
to load a different bin and handle riodesc properlyafta
command@@i
to iterate over all instructionsav*
and avj
to show vtables in r2 and json formatsrabin2 -X
and r_bin_package
for FAT and ZIPv
in VV
axf
that try to resolve function names for 'C' refsdcs
ds
on call and jmp (#5785)dr[*]<num>
do
in windowsdr
command to get segments registersdbic <index> <cmd>
parsingdko
to any reason with a signum (#5806)afva
from af
if anal.vars
is setasm.calls
with function types database (#5761). Making asm.calls
true by defaultsys/ios-static.sh
to generate easy-to-deploy tarballsys/ios-static-appstore.sh
asm.cmtrefs
-disabled by default-. When enabled, it shows the flag and comment that is at the ref of the current instruction.asm.relsub
true by defaultasm.leahints
false by defaultcfg.minzlen
and cfg.maxzlen
to set minimum and maximum length to filter in zg
src.flush
to force flush to console in realtimeanal.hpskip
, false by default.asm.reloff
less confusing and add experimental asm.reloff.flags
!?
help available via ?!
scr.color.bytes
and rename scr.colorops
to scr.color.ops
asm.emustr
enables asm.emu
automaticallypf
indent fixchar[]
as char*
in the pf format (use z instead of c)pd
and consider adr on arm64 as lea ophex.cols
in pxe
Vx
.r2pm -w
and handle R2PM_DEPS.---------------------------------------------------------------------------------------------------------------------.
| 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 |
'---------------------------------------------------------------------------------------------------------------------'
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
Published by radare about 8 years ago
Project: radare2
Codename: PreCon
Date: Mon Aug 15 2016 10:27:52 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
radare2 @ comes with 5212 lines of new features, bug fixes and enhancements. Here some of the most important highlights:
dmh
to show memory heappxd8
to show data in st64dmh
command to analyze the heap on Linux-GlibCafv
FIX #5459 (#5461)
n
with _
.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| Release @ |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| name | commits | fix | add | leak | update | r2pm | clean | esil | endian | commits | authors |
|--------------|---------|-----|-----|------|--------|------|-------|------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| | 239 | 134 | 40 | 3 | 16 | 5 | 6 | 5 | 4 | 239 | |
| binr/radare2 | 2 | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 2 | zakaria.addi pancake |
| binr/rabin2 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | pancake alvarofe |
| binr/rahash2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | pancake maijin |
| libr/hash | 3 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | maijin pancake mo |
| libr/debug | 14 | 10 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 14 | pancake oddcoder maijin mail n54 alvarofe matt crowell |
| libr/bin | 32 | 22 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 32 | pancake alvarofe dlpolanco05 maijin crowell |
| libr/core | 98 | 59 | 18 | 3 | 6 | 0 | 4 | 2 | 4 | 98 | pancake alvarofe oddcoder maijin alex.darredevil crowell pvt.gord mo zakaria.addi alexandru.razvan.c mail mrmacete Owlz sdusuel brainstorm javierprtd soez vladimirdiaconescu monosource kalianon2816 sushant l4l dario.mail1 |
| libr/crypto | 3 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | pancake maijin |
| libr/cons | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | alvarofe maijin |
| libr/anal | 34 | 23 | 9 | 3 | 1 | 0 | 2 | 4 | 0 | 34 | oddcoder pancake maijin alvarofe crowell droberson mrmacete aronsky alexandru.razvan.c alex.darredevil brainstorm |
| libr/asm | 22 | 13 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 22 | pancake alvarofe sven maijin |
| libr/util | 27 | 12 | 2 | 0 | 1 | 0 | 0 | 0 | 1 | 27 | pancake maijin alvarofe reddevillg nikolaih crowell |
| libr/egg | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | maijin |
| man | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | pancake monosource |
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'
Published by radare over 8 years ago
Project: radare2
Codename: Padron Peppers
Date: Mon Jul 07 2016 00:35:10 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
radare2 0.10.4 comes with a some new features and a lot of bug fixes and enhancements.
Here are some of the most important ones:
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| Release @ |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| name | commits | fix | add | leak | update | r2pm | clean | esil | endian | commits | authors |
|--------------|---------|-----|-----|------|--------|------|-------|------|--------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| | 402 | 225 | 80 | 10 | 20 | 10 | 11 | 15 | 4 | 402 | |
| binr/r2pm/d | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| binr/radare2 | 9 | 6 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 9 | pancake crowell |
| binr/rabin2 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | crowell pancake |
| binr/radiff2 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | pancake nikolaih |
| binr/rahash2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | pancake dx |
| binr/ragg2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| libr/hash | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| libr/debug | 46 | 31 | 11 | 0 | 1 | 0 | 1 | 0 | 0 | 46 | pancake jduck xvilka meep crowell pavel.borzenkov alvarofe osalvador.vilardaga psyberbits |
| libr/bin | 68 | 51 | 2 | 2 | 1 | 0 | 2 | 0 | 2 | 68 | pancake alvarofe crowell xvilka jduck psyberbits |
| libr/core | 132 | 74 | 37 | 3 | 4 | 0 | 4 | 3 | 1 | 132 | pancake oddcoder crowell jduck alvarofe karol.harasim xvilka psyberbits monosource nibble chinmay1dd maijin defragger ret2libc robbje af123 ususdei reenz0h dx lonely.ruyk mrmacete ekse.0x |
| libr/crypto | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | pancake |
| libr/cons | 14 | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 14 | psyberbits pancake crowell oddcoder |
| libr/anal | 56 | 33 | 10 | 3 | 0 | 0 | 1 | 11 | 2 | 56 | pancake oddcoder alvarofe condr3t sushant mrmacete sushant.dinesh94 aronsky psyberbits dx bobby.smiles32 crowell |
| libr/asm | 34 | 19 | 11 | 0 | 2 | 1 | 1 | 0 | 1 | 34 | pancake sven mr.exodia.tpodt alvarofe bobby.smiles32 sylvain.pelissier mrdanielps crowell karol.harasim julien.voisin |
| libr/util | 43 | 25 | 10 | 0 | 0 | 0 | 2 | 0 | 0 | 43 | pancake crowell karol.harasim alvarofe def psyberbits Lukas-Dresel osalvador.vilardaga defragger nikolaih mattd |
| libr/bp | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | jduck |
| libr/egg | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | pancake |
| man | 3 | 1 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 3 | pancake nikolaih |
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'
This makes 21,012
additions and 13,252
deletions.
#5267,#5261, #5245, #5259, #4665, #5228, #5218, #4420, #5213, #4432, #4422, #5204, #1277, #5185, #5126, #5117, #5105, #5108, #4975, #5082, #5058, #5034, #5033, #5020, #5022, #5009, #5010
This release focused on improving the speed and memory footprint of radare2,
along with code cleanup. Also, this release comes with a completely reworked
r2pm package manager. A lot of changes have happened in the debugger implementation, and in ESIL emission.
fi[jn*]
to list flags in a given rangepdaj
and pda=
to disassemble all possible opcodes, byte per byte.drp.
to show the register profile sizeecoj
to list themes in JSON formatpf [size]D
aoe
and aor
to show ESIL and REIL forms of the current opcodeah.
to show hints of the current offsetafv[bsr]
to manipulate args, registers and variables in functionwxs
to write hexpairs, and seek to the enddpc
to select the most recently forked child processdpc*
to show the recently forked process pid.ecc [arg]
shows color palete with a css syntaxpch
for a 2 byte C dump mode@o
is a new modifier to temporary switch to another fd
core.iorw
in i
afa
, afv
and afe
to afvb
, afvr
, and afvs
respectivelypia
/pda
anal.vars
variable to toggle variables analysisr2 -I
for pre-scriptingaa
is now equivalent af@@ sym.*;af@entry0;afCa
(can you guess what it does?)afbr
and *
sub-variants to list return addresses of current functionNow r2 is able to load PE files that has been tampered somehow to thwart the analysis. If radare2 struggles with some samples, feel free to share them with us ;):
* Add name to section when is empty
* comment out hackaround for huge number of sections
asm.hints
and handle CDOV
deoptimizationanal.vinfun
and anal.anal.vinfunrange
for aav
(only grab values outside function boundaries)bin.avr
plugin for atmega8 chipsrjmp
op->family
and some op->cycle
for anal.arm64
MJMP
optype, pxt
command and enhance anal.jmptbl
for x86-64 (wip)MUL
.afbr
's description wasn't worded properly: It doesn't actually print addresses of ret
instructions, but of instructions which cause the flow of the program to leave the function body, like call
, jmp
, hlt
, ...CDIV
deoptimization is now showed as hintdbt
output aligned to columns based on dbg->bits
swtep
settingdm
work on OpenBSD by adding a native _debug_native_map_alloc()
dp
and dp*
on OpenBSD.r_debug_reg_sync
, r_bp_restore
)sil
, dil
, spl
, and bpl
registers are now supportedlfence
, mfence
, sfence
, bt
, fsincos
instructionsadd eax, [ecx]
and add ecx, [eba +/- 3]
sub
nz
now generates the correct opcode when using a word as an immediate in the sub
instruction with a register + offset
as the targetadd
instructionasm.assembler
to select different assembler plugin than the disasmembly oneDEX stands for Dalvik Executable format, it's the format used by Android binaires.
r_util
is getting documented and got unit testslea
instructions got hotkeys supportVd1
www/m
web interface got a new statusbar and a split viewPublished by radare over 8 years ago
Numbers
Special Thanks
Thanks to everyone else who helped to make this release possible! (counting commits)
Highlights:
afCa
command.rabin2
.Published by radare over 8 years ago
As usual, some numbers first:
Contributors: 48
Commits: 480
Issues: 135
Grep stats:
Contributor commit counter: (sys/pie.sh)
$ sys/pie.sh 0.10.1 | sort -un | tail -n 13
1 Adrien Garin
2 Adr1
3 Kitsu
4 Darredevil
5 Anders Kaare
6 Aneesh Dogra
7 Evan Shaw
8 Jeffrey Crowell
12 Maijin
16 Anton Kochkov
36 oddcoder
46 Álvaro Felipe Melchor
237 pancake
Special thanks from pancake to:
This release is much bigger than we ever thought. Thanks to Google and GSoC applications process we've got an honest amount of a students' contributions, who implemented a few file formats, improved analysis and fixed a bunch of issues.
r2 -d
and -R
shortcuts to simplify loading rarun2 profiles and using remote debugging pluginswoE
/woD
rabin2 -E
wo*y
commands using clipboard instead of [val]make menu
to choose plugins to build?E
clippy echo and use it in ????asm.spacy
and asm.flgoff
pds
)R
in visual to rotate on the color themes. (see scr.randpal
)asm.spacy
and asm.flgoff
glitchesecn
and use it from VR with scr.randpal
asm.fcnsign
is now working for non-windows binariesasm.(symbol|section)[.col]
fcn.fcnlines
in fcnvarlistr2pm -i www-t www-m
)http.referer
checks to fix CSRF vulnblx
for arm32 and thumbradiff2 -C
does not analyze by default, mimics r2 -A
aex
command to emulate an hexpair of native codeaaa
aae
aap
for static and make it work in debuggeraaaa
commandaai
command to show analysis statistics infoaav
command to show all references for section/mapt
command and add a lot of tests (@oddcoder)r2 -d gdb://
no need for -D gdb
doo
for ood
commandradare2-regressions
repoaaaaaa
commandr_lang_rust
rasm2 -A
to replace ranal2
rax2 -B
and -b
~/.config/radare2/radare2rc.d
wo*
commands to use clipboardPs
and PS
commands to save projectCz
like Cs
with automatic length detectionyl
, yw
, ywx
, wz
ys
to show clipboard as stringq
in scripts to stop interpreterPublished by radare over 8 years ago
Six weeks ago, when our great leader pancake announced "a release every 6 weeks", everyone was a bit, well, surprised, but it seems that we did it.
But first, some numbers:
solid chair society
This 0.10.1 release pushes other updates for:
Also binary builds for Windows and OSX are also available.
This is great, since it means that our downstream people who puts radare2 into package manager will be able to push updates quicker (yes, I'm looking at you, debian).
This also means more release party, which is a good thing. There wasn't an special focus on anything during that last 6 weeks, but if I had to comment on this release, I would say that its theme would be "compiling on windows", and "usability". Or something like that.
Anyway, here is the human-readable changelog:
asm.bbline
uses RAnal info to have precise resultsenv.sh
when using more than 9 argumentsebp-0x10
, ebp+0x13
becomes, respectively, local_10h
and arg_13h
) and now it works too when asm.ucase is set.Vdn
option to rename a flag/function/local variable/local argument used in the current instructionRFlag
+ better names for functions when there are symbolsahi
now supports IPv4 and syscall?d
or e asm.describe=true
)axg
to get a graph of the function xrefs to reach a specific point.The webui graph stopped working on Google Chrome because they have deprecated a js function to manipulate SVG which was used by the joint.js library, the webuis will be distributed in a separate repository and dependencies will be maintained using bower/grunt/npm. This way we will solve the license problems some distros (Debian) complained for not packaging the webuis because of non-free and confusing uglified js blobs. This will hopefully attract more web developers.
Debian, Docker, Void, FreeBSD, Sabotage and other distros raised the interest in our project, so, the 6week release cicle will hopefully fix the problem of having very old packaged versions of r2.
Windows binaries from appveyor still need to be fixed thus the windows installer.
There are some interesting wip patches to be included in the next release 0.10.2 scheduled for April 11th.
Also, it is important to note, that some people started to work on the GSoC microtasks even before knowing if we are accepted this year. This is a good sign which clearly shows the growing, healthy and brave community we have.
Have fun with this new release and keep up hacking!
Published by radare over 8 years ago
More details soon!
Published by radare about 9 years ago
Nightly build
Published by radare over 9 years ago
Homepage: http://www.radare.org
ChangeLog: http://rada.re/get/changelog2-0.9.9
Blog: http://radare.today
Android: https://play.google.com/store/apps/details?id=org.radare2.installer://play.google.com/store/apps/details?id=org.radare2.installer
iOS: http://cydia.radare.org
Windows: http://rada.re/get/pkg/radare2-w32-0.9.9.zip
WindowsPython: http://rada.re/get/pkg/radare2-bindings-w32-0.9.9.zip
Sources: http://rada.re/get/radare2-0.9.9.tar.xz
Bindings: http://rada.re/get/radare2-bindings-0.9.9.tar.xz
Extras: http://rada.re/get/radare2-extras-0.9.9.tar.xz
Valabind: http://rada.re/get/valabind-0.9.2.tar.gz
SDB: http://rada.re/get/sdb-0.9.6.tar.gz
ACR: http://rada.re/get/acr-1.0.tar.gz
Published by radare almost 10 years ago
Homepage: http://www.radare.org
Version: 0.9.8
SoundTrack: http://radare.org/get/Neuroflip-BabylonRocket-OriginalMixForR2.mp3
Music Artist: Thanks neuroflip!
ChangeLog: http://rada.re/get/changelog2-0.9.8
Sources: http://rada.re/get/radare2-0.9.8.tar.xz
Bindings: http://rada.re/get/radare2-bindings-0.9.8.tar.xz
Valabind: http://rada.re/get/valabind-0.9.0.tar.gz
SDB: http://rada.re/get/sdb-0.9.2.tar.gz
Published by radare over 10 years ago
CodeName: Segfault as a feature
ReleaseDate: 2014-03-03
http://rada.re/get/radare2-0.9.7.tar.xz
http://rada.re/get/radare2-bindings-0.9.7.tar.xz
Required valabind version to build the bindings: http://rada.re/get/valabind-0.8.0.tar.gz
ecf pink
)less
abilityt*
I would like to thank the help from Debian and VoidLinux packagers who pointed
me some issues in the build system and tested against their build machines.
Probably 0.9.7 would never have been released without them (because I was not planning
to make a bugfix release :P)
Published by radare over 10 years ago
hg tag -r 1974 0.9
codename: furoner
last commit: Tue Dec 06 01:41:17 2011 +0100
oldest commit: Tue Nov 01 12:59:07 2011 +0100
commits: 115
email: pancake<nopcode.org>
twitter: http://twitter.com/trufae
github: http://github.com/radare
Published by radare over 10 years ago
After about 10 months of development I'm proud to announce a new release of radare2. It has been delayed many times and I'm not happy about that, but stability requires some time. I'm happy to see new contributors and users interested on the project.
This document describes a compacted list of all the changes done from the previous release (0.9) and this one (0.9.2).
As always, if you want to use the r2 api from python, nodejs or others you need to install the r2-bindings package which depends on valabind and swig.
Big news for this release are an official Android package maintained by Pau Oliva (pof) and an embedded http-1.0 webserver which provides a simple way to implement an user interface.
Lot of bugs has been fixed and new CPUs are supported while code analysis gets better and is focused on x86-16,32,64, arm and mips.
Enjoy!
--pancake
git log 0.9..HEAD | grep Author| sort -u
pancake [email protected]
LGPLv3
More than 300 commits
Date: Mon Oct 1 17:48:10 2012 +0200
Date: Tue Dec 6 03:03:50 2011 +0100
mips : rewritten code analysis and added pseudodisasm and debugger
arm : import and use arm.winedbg (arm and thumb) and disassembler
x86 : enhace x86olly disasm, add more instructions to the x86.nz assembler
dalvik : add android4.x new opcodes and payload ones. added pseudo disasm
avr : use standard disassembly syntax
pd|!grep eax~ebx now works
Published by XVilka almost 11 years ago
date: 2013-11-11
^x^e
to edit the current prompt line using $EDITORSee e??scr.
for more information about the screen options.
Several enhacements to ARM, ARC, X86, Dalvik, Java (including v7) and Brainfuck assembler/disassemblers. Also, the embedded udis86/GNU based disassemblers have been updated from git.
You can now compile r2 for Haiku and Emscripten!
ASLR is now supported by using the -B flag which specifies the hardcoded base address when loading a PIE binary.
Import PLT addresses are no longer listed with rabin2 -i. For consistence: imports are ordinals and PLT entries are listed as symbols.
A reduced fork of libtcc is now included to parse C include files. At the moment only structs and enums are handled, but it is planned to support function signatures and conditional struct definitions in the future. Nested structures are supported.
[0x8048000]> "td struct Foo { int a; int b; }"
See 't?' for more help. But in short, you will be able to load .h files into sdb databases to define metadata for the disassembler.
Following the release of Valabind 0.7.4, we are now able to provide the following changelog:
I have added more scripting examples like a simple debugger.
Commands like 'clear', 'ls', 'cat', cd', 'pwd' are now supported. No need to escape to the shell with '!' for them. Bear in mind that cfg.sandbox
can be enabled to restrict access to filesystem, execution or sockets.
Those commands can be piped to system programs using the '|' like in a posix shell. The command line prompt is now better by supporting utf8 and handled new keybindings.
If in visual mode you place the cursor on top of a 'call' instruction that refers to an import and press '?' key you will read the associated manpage. Like 'K' key in vim.
You don't need to specify the path to the debugged program any more. It walks the $PATH or takes ./ if found. This is a way to make windows and unix process launching consistent.
You can run the visual debugger by using the following flags:
$ r2 -cVpp -d ls
Signals can now be captured, and passed to the target process.
Now you can properly debug 32bit binaries on Linux x86-64.
SDB is a simple key-value database that supports on-disk hashtable, arrays, json, CAS and easy string serialization for data structures.
From now on we are going to use SDB more and more inside r2 in order to speed up queries, simplify code maintainance and unify data as text with easy serialization methods.
This is the first release that comes with sdb.
An embedded webserver have been included, and you can invoke it using the =h' or '=H' commands. To make it public just
-e http.public=true`.
$ r2 -c=H /bin/ls
Improved JSON output for many commands. Just append 'j' to the command and it will use that format. From bindings you can call r_core_cmd_str() to retrieve the resulting string and parse it.
AJAX.get ("/cmd/isj", function (data) {
var symbols = JSON.parse (data);
...
}
The r2agent
is a new program that acts as a remote web interface for launching r2 sessions and interact with them using the webui.
This is the first release of r2 that makes an extensive use of the test suite in order to ensure no regressions appear while developing new features or fixing bugs. This is an important point from now on, so we will be able to cover r2 features, supported instruction set, etc. as much as possible.
We encourage all users to write test cases for every bug they report. Type 'make tests' to retrieve the testsuite from git, but this is only suposed to be used when developing. Stable versions are only for packagers. If you want to report a bug, first test it against the code in git.
The build farm runs the whole testsuite after every commit on the r2 or r2-regressions repos, this allows us to identify when and how every check was broken.
Thanks to a0rtega for his fuzzed binaries.
A new command 'pxa' have been added in order to provide support for annotated hexdumps.
Those hexdumps allows visual interaction and permits you to select range of bytes using the cursor mode, colorizing zones, adding comments, defining structs, etc.
This is still under development and we are open to new ideas and proposals to enhace this new interactive print mode.
Lot of bugs has been fixed, overflows, memory leaks, and many handcrafted binaries can now be loaded without the butthurt of segfaults, crashes or lack of info.
The farm allows us to get automatic builds for several platforms on every commit. And identify development issues earlier.
I'm pretty impressed by the raise of interest on contributing to radare2 lately, This release would not be possible without the help of the following people: