Skip to content

Releases: radareorg/radare2

codename 0.10.5 - PreCon

16 Aug 23:53
Compare
Choose a tag to compare

Release @ 0.10.5

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:

New commands

  • dmh to show memory heap
  • Implement pxd8 to show data in st64
  • Add $Fb and $Fs to handle basicblock address and size
  • q[y/n][y/n] options added
  • Fix #5524 - Add 'F' and '_' in graph
  • Add bit level visual editor
  • Fix #5447 - Implement aO command
  • add io command !=mod to list system modules
  • Fix #4841 - Restricted r2 shell thing
  • Fix dmp command for OSX and make it work with 1 parm instead of 3
  • Fix dmi on OSX and minor cydia tweak
  • Fixes #5389 - Add aflqj
  • Fix #5427 - ao[n] shows same bytes on all instructions

New URI handlers

  • waitfor:// - wait to attach for a process matching that name
  • pidof:// - attach to a process with this name
  • nocache:// - open with O_NOCACHE, useful for iOS's dyldcache (@oleavr)
  • self:// - Add dlsym, call, alarm and other goodies
  • r2k:// - connect to the r2 kernel driver (windows only atm) (@skuater)

RSoC and GSoC

  • Implement Arithmetic Pattern matching for ROP classification:
    • rop gadgets found are saved in rop.db
    • /R can now classify nop gadgets
    • MovRegs and LoadConst pattern classification for /R
    • Moved classification logic in separate file
    • Adding Arithmetic Pattern classification for /R (work in progress)
  • Variable and argument analysis (@oddcoder)
    • Initial support for type matching (#5480)
    • Calling convention profiles in SDB (#5358)
    • Adding doc for calling convention
  • Refactor RBin.Xtr to speedup dyldcache extraction (fat task)
    • Refactoring RBinXtr API.
    • Cache sub-fat bins in sdb to save memory.
    • Fix the error while loading sub-bins of different archs.
    • more work into xtr to fix the remaining tests
  • Material webui changes
    • Reimplemented hexdump
    • Same for disasm with infinite scroll
    • Better statusbar
    • All this stuff is pretty wip and not yet finished

Analysis

  • Add support to analyze local variable types and function parameters
  • Add aad to analyze data references
  • Add av to analyze vtables
  • Fix #5334 - add support to analyze interrupt handler functions
  • Fix some more arm-rel-pc issues (by CalArcher)
  • First approach to afCl/cdecl for AVR
  • Increase rafind2 -ZS wide and do not run aad in aaa

Debugger

  • Fix r2 -d mame on OSX asm.bits=16 problem
  • fixed breakpoint size based on arch
  • Fix #5392 display values of args and locals in debugger (#5417)
  • Fixed several memleaks in cmd_debug.c
  • Fix flag regs being seen as 'gpr' instead of 'flg'
  • Added new dmh command to analyze the heap on Linux-GlibC

Runs faster!

  • The visual hud performs better!
  • Speed up the radiff2 statistical diff
  • Fix huge load times for fuzzed versioninfo bins
  • rabin2 -x dyldcache is much faster and eats less mem

Enhancements

  • Fix #4928 - Show string context in /z and /
  • Fix floating pointer computations in ?
  • Update C++ demangler from the latest GNU binutils
  • Much better big endian support
  • wopO/wopD now support longer buffers and honor endianness
  • ELF vaddr fixes
  • Remove some dupped helper functions like hex2int()
  • Added realtime hexview edit mode
  • More commands support JSON output
  • Better heap analysis support dmh
  • Better thumb/arm/arm64 pseudo, analysis and disasm
  • Optimized to work with the latest capstone-next from git
  • Connect timeout is now working on Windows

RAP

  • Fix #5341 - rap:// with no file works now
  • Fix #5338 - Add ability to start RAP server in background. (#5416)
  • Fix WRITE operation in the rap protocol

R2PIPE

  • Fix #5339 - Projects now work with r2pipe
  • Support Python3
  • Added MIT license to r2pipe.cs and publish it in Nuget
  • Initial implementation of the Async Python r2pipe api (chr0hn)
  • Raise meaningful exception if radare2 is not installed

R2PM

  • Adding R2PM_GITDIR for easy packages local testing (#5475):
  • Added r2pm -r to run commands in path
  • Added 7 new packages
  • Show r2pm clone directory in r2pm init
  • Only use ~/.config/radare2/prefix/bin

Android

  • Improvements in DEX: avoiding name glitches and parse fields and statics
  • Detect local variables in Dalvik code analysis
  • Improve arm/thumb detection building ranges based on anal hints.
  • Updated material webui (WIP)
  • Builds fine on Termux

Crypto

  • Add experimental CPS2 crypto plugin
  • Fix #5007 - Clarify the difference of hash/encoder/crypto
  • Fix #4965. Add support for luhn searching and hashing.

Refactorings

  • core/bin.c -> core/cbin.c
  • r_util.h splitted into multiple files libr/include/r_util/*.h
  • r_flags no longer depends on r_cons
  • Rename CSR disasm/anal into XAP4 Fix #5355
  • Remove x86.tab from r2 master moved to extras
  • Calling Conventions are now defined in SDB at runtime
  • Move all test programs into the r2r/unit
  • Updated type database
  • Add spr32d70 and gsprop32 sdb for issue 5486 (#5491)
  • few enhancements for afv FIX #5459 (#5461)
    • replacing afv[bsr]n with afvn
    • replacing negative sign n with _
    • being consistent across the documentations (args + locals = vars)

Security

  • Several null derefs and memleaks has been fixed
  • Fixed a buffer overflow in base64 decoder
  • Fix infinite loop issue in ESIL ,,
  • Fixes a crash in capstone

This release in numbers:

  • commits: 282
  • fix: 163
  • crash: 11
  • new: 2
  • add: 50
  • anal: 10
  • leak: 5
  • esil: 7
  • debug: 10
  • type: 8
  • oob: 2
  • honor: 7
  • update: 17
  • r2pm: 5
  • clean: 8
  • endian: 6
  • indent: 3
  • command: 14
  • enhance: 3
  • diff:
    - add: 24865
    - del: 19653
    - diff: 5212
.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|                                                                                                                                                          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 |     ...
Read more

Codename 0.10.4 - Padron Peppers

06 Jul 22:38
Compare
Choose a tag to compare

Release 0.10.4

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:

Highlights:

  • Initial support for heap analysis (linux-glibc) (@n4x0r e & @javierprtd )
  • Fully working local, stack, base or register variables support GSoC (@oddcoder)
  • Fixed support for really messed up PE binaries (@alvaro_fe)
  • Improved support for AVR and IO ports (@brainstorm)
  • CDIV deoptimization support (@ususdei)
  • New disassembler for N64 RSP processor disassembler (@bsmiles32)
  • Major rework of the debugger internals (@jduck)
  • The default assembler now supports much more instructions (@unlogic)
  • Added asm.assembler to use different plugin than the disassembler
  • Better android support (correct disassemlby, initial multidex) (@trufae)
  • Better coredump support on Linux (oscar salvador)
  • Fixed native build for linux-mips and linux/osx-powerpc (@trufae)
  • Implemented bit-level editor 'press d and then 1 in visual mode' (@trufae)
  • Updated material webui -- GSoC (@gcolajan)
  • r2pm package database moved to another repository (@zlowram)

Numbers:

.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|                                                                                                                                         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.

Contributors:

  • 192 pancake
  • 40 alvarofe
  • 38 crowell
  • 20 jduck
  • 11 xvilka
  • 10 psyberbits, sven, oddcoder
  • 8 karol.harasim
  • 6 maijin
  • 5 mrmacete
  • 3 nibble, condr3t, dx, monosource, mrexodia, sushant
  • 2 brainstorm, def, meep, chinmay1dd, sushant.dinesh94, defragger
  • 1 robbje, reenz0h, ususdei, aronsky, bobby.smiles32, zlowram, ekse.0x, mrdanielps, sylvain.pelissier, hummypkg, osalvador.vilardaga, lonely.ruyk, af123, nikolaih, mattd, slyfox, jaroslaw.gorny, pavel.borzenkov, Lukas-Dresel, jvoisin, qwokka, dukebarman, ret2libc

Fixes:

#5267,#5261, #5245, #5259, #4665, #5228, #5218, #4420, #5213, #4432, #4422, #5204, #1277, #5185, #5126, #5117, [#5105](https://g...

Read more

Codename 0.10.3 - The Bleeding Tooth

24 May 23:43
Compare
Choose a tag to compare

Numbers

  • 450 commits
  • -82000 lines (yes, minifying the webui comes with some goodies here)

Special Thanks

  • nibble - for coming back and taking care of the rsearch bugs
  • oddcoder - for starting the GSoC doing a good starting enhancing variable analysis
  • jduck - for seeing the light and focusing on linux-arm debugger and testsuite
  • damo22 - for being brave enough to make r2 endian-independent (still wip)

Thanks to everyone else who helped to make this release possible! (counting commits)

  • 230 pancake
  • 25 xvilka
  • 17 crowell
  • 16 sven
  • 15 ret2libc
  • 14 p4n74
  • 12 oddcoder
  • 12 alvarofe
  • 10 damo22
  • 10 defragger
  • 7 torsunov
  • 7 serg
  • 6 jcrowell
  • 6 jduck
  • 6 hamish
  • 5 nibble
  • 4 hummypkg
  • 4 maijin
  • 4 zlowram
  • 3 davide
  • 3 ayman
  • 3 sushant
  • 3 dx
  • 2 os
  • 2 fyamagu
  • 1 hamish-gh
  • 1 qwokka
  • 1 vladz
  • 1 skuater
  • 1 brainstorm
  • 1 lysy80x
  • 1 pagabuc
  • 1 kamil
  • 1 qnix
  • 1 dukebarman
  • 1 sdusuel
  • 1 jpenalbae
  • 1 mrmacete
  • 1 kolen
  • 1 pixelbrei
  • 1 gautier
  • 1 naveen
  • 1 aassfxxx
  • 1 mkosmach
  • 1 me
  • 1 travis
  • 1 gk

Highlights:

  • r2 codebase is now endian-independent, this will ease avoiding bugs related to big-endian machines
  • Swift demangler have been improved and optimized to load iOS binaries faster than ever.
  • Enhanced function argument/variable analysis and automate it with the new afCa command.
  • Added callgraph navigation view
  • Added support for Keystone (even if its not released yet)
  • Several enhancements for X86, ARM, ARM64 and MIPS pseudocode, analysis and emulation
  • New aav command to find pointers to code/data
  • r2pm can now install in home or system
  • All websites are available via r2pm have been gulpified and are now maintainable and minified (3x smaller)
  • Added support for dumping core on Linux-x86-64, OSX-x86-64 and iOS (arm32/64)
  • The new @.. range operator
  • Implemented HexII print format (http://corkami.googlecode.com/svn/trunk/src/HexII)
  • Initial support for Emoji and Punycode.
  • Graphviz colors are now configurable and current node is hightlighted
  • Initial implementation of the RPI VideoCore4 disassembler (via r2pm)
  • Initial support for debugging QNX systems via the pdebug interface
  • Enhanced (work-in-progress) enhancements for rap:// remoting
  • Initial native support for PowerPC (on Linux and OSX/G4)
  • Handle data references in Dalvik binaries
  • rabin2 -OC will dump the iOS binary entitlements
  • Parse LDID sha signatures with rabin2.

Released 0.10.2 - codename panamake

11 Apr 11:24
Compare
Choose a tag to compare

As usual, some numbers first:

Contributors: 48
Commits: 480
Issues: 135

Grep stats:

  • Fixes: 269
  • Add: 107
  • Enhance: 7
  • New: 7
  • Esil: 18
  • Anal: 36
  • Leak: 15

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:

  • @revskills for the massive fuzzing
  • Google for the GSoC
  • Ghostbar for being the new Debian maintainer and update r2 packages
  • Nibble for coming back
  • Alvaro Felipe Melchor for the elf relocs, dyldcache and the massive bugfixing.
  • oddcoder for being the most active student
  • Daniel Dominguez for the initial coredump support

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.

Highlights

  • Add r2 -d and -R shortcuts to simplify loading rarun2 profiles and using remote debugging plugins
  • Support for cryptography (blowfish, rc2, rc4, aes, xor, ror, rol)
    • woE/woD
    • rabin2 -E
    • Adding wo*y commands using clipboard instead of [val]
  • Better PE and ELF parsers
  • New easter-egg!
  • dyldcache extractor is working again
  • Support for BOCHS
  • Coredump support for iOS and OSX
  • New fileformats, namely Python bytecode and Flash files
  • Improved analysis and emulation thanks to ESIL on x86, ARM and MIPS
  • New make menu to choose plugins to build
  • Add ?E clippy echo and use it in ????
  • xrefs and types are now properly saved/restored from projects

New R2PM packages

  • ramoji2
  • www-t and www-p
  • syms2elf

Better Disassembly

  • Add asm.spacy and asm.flgoff
  • noreturn function database is much more reliable now
  • Summary mode (pds)
  • Press R in visual to rotate on the color themes. (see scr.randpal)
  • Fix some asm.spacy and asm.flgoff glitches
  • Add ecn and use it from VR with scr.randpal
  • asm.fcnsign is now working for non-windows binaries
  • asm.(symbol|section)[.col]
  • Added m68k parse pseudo plugin and enhance the arm one
  • Fix ROR/ROL ESIL expressions for x86-64 capstone
  • Honor fcn.fcnlines in fcnvarlist

WebUI

  • WebUI moved to a separate repository.
  • some of them accessible via r2pm (r2pm -i www-t www-m)
  • use Grunt, update all dependencies, indent code, minify, ..
  • Fixed some XSS vulns
  • Added http.referer checks to fix CSRF vuln

Architectures

  • z80: better analysis
  • SNES: better analysis too and support 16-bit immediate operands
  • m68k: fixed bugs and improved analysis. honor asm.cpu
  • ARM (better analysis and emulation, handle IT)
    • Honor ARM conditional bits to skip bxeq lr and such
    • Better Thumb support
    • Assemble blx for arm32 and thumb
  • New plugins!
    • Adding initial support for PIC18C diassembler
    • python bytecode disassembler
    • Flash bytecode disassembler

File formats

  • PE parser is much better now! (version info + handling even more fucked'up PEs)
  • Support Swift-Demangle
  • JSON output for classes+ methods
  • Add support for parsing TLS and add TLS callback addresses to the list of entry points
  • Extracting iOS's dyldcache is working again (thanks @alvaro_fe)
  • *.pyc file format
  • *.swf file format
  • Better parsing of PE and ELF files
  • Add versioninfo support for PE and ELF
  • Fix #2780 havecode field

Graphs

  • Disassemble first basic block in callgraphs
  • Summary graph (af;VVP')
  • Add graph.gv variables to set custom graphviz styles
  • Fix #4374 - ags command to show simplified flowgraph

Bindiffing

  • radiff2 -C does not analyze by default, mimics r2 -A
  • Does not diff strings because they are not functions
  • Increase memory limit for code diffing

Analysis

  • Colorful entropy bars
  • file.analyze is only running when the binary contains code
  • new aex command to emulate an hexpair of native code
  • huge improvements for x86 and arm
  • Set anal.autoname by default for now
  • Adding verbosity in aaa
  • Improve mips string reference detection with ESIL
  • Honor anal.strings in aae
  • Fix aap for static and make it work in debugger
  • Find more string references for MIPS and remove some false positives.
  • ROP search find honor search.align and detects more cases
  • Do not autoname functions by default. Add e anal.autoname
  • analysis is deeper than ever: new aaaa command
  • aai command to show analysis statistics info
  • aav command to show all references for section/map
  • added lodsb,stosb and did some rep cosmetic to esil x86
  • Initial support for unions
  • Redesign the t command and add a lot of tests (@oddcoder)
  • Initialize BP register in aeim (handy for arm)

Debugging

  • New bochs plugin works on Linux, Mac and Windows.
  • Coredump generation for Mach0 binaries on iOS and OSX
  • MACH0 Coredump loading
  • r2 -d gdb:// no need for -D gdb
  • Added drw/arw command
  • Add r2 -R as alias for dbg.profile
  • Alias doo for ood command

iOS

  • Implement ios9 pangu's tfp0 in the debugger
  • dyldcache extract
  • coredump generation and loading
  • Support swift-demangle if found in $PATH

Various changes

  • New r2r program in radare2-regressions repo
  • Work in progress support for squashfs
  • An aaaaaa command
  • Add r_lang_rust
  • Implement rasm2 -A to replace ranal2
  • rax2 -B and -b
  • Handle ~/.config/radare2/radare2rc.d

Commands

  • Extending wo* commands to use clipboard
  • Ps and PS commands to save project
  • Implement Cz like Cs with automatic length detection
  • Implement new commands: yl, yw, ywx, wz
  • Implement ys to show clipboard as string
  • Honor q in scripts to stop interpreter
  • Add rarun2 execve to avoid posix_spawn

solid chair society

29 Feb 22:34
Compare
Choose a tag to compare

radare2 0.10.1 - Release Notes

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:

  • Codename: solid chair society
  • Weeks: 6
  • Commits: ~280
  • Issues Fixed: 50
  • Contributors: 38
  • New contributors: 10
  • New easter-eggs: 1

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:

  • Variables and flags can now be renamed in cursor mode asciinema
  • Optimized GDB connectivity, now its 10x faster!
  • print signed base 10 hexdumps with pxd[1,2,4]
  • radiff2 -C to compare checksums
  • Lot of work towards the mach-ification of the OSX/iOS debugger by alvarofe
  • more polished cursor movements in Visual mode
  • Better ARM and Thumb code analysis and emulation
  • Added disassembler support for Microblaze architecture
  • Updated unicorn plugin to be in sync with git
  • Various enhancements in the Visual mode
  • backward disassembly uses RAnal info for better offset computations
  • asm.bbline uses RAnal info to have precise results
  • fix bug in env.sh when using more than 9 arguments
  • Mingw compilation improvements
  • preliminary support of XNU debugging
  • ESIL support for v810
  • radare2 does now compile in appveyor: no more excuses for broken commits on windows!
  • Lanai (the secret CPU used by Google) support
  • a new shiny xtensa CPU analysis backend
  • change local variables/arguments format names (ebp-0x10, ebp+0x13 becomes, respectively, local_10h and arg_13h) and now it works too when asm.ucase is set.
  • add Vdn option to rename a flag/function/local variable/local argument used in the current instruction
  • refactoring of RFlag + better names for functions when there are symbols
  • ahi now supports IPv4 and syscall
  • various optimizations and bugfixes
  • opcodes descriptions for v810, propeller, riscv, tms320, lm32, i4004, i8080, java, Malbolge, SH-4, M68K, ARC and LH5801 (that you can access with ?d or e asm.describe=true)
  • axg to get a graph of the function xrefs to reach a specific point.

Lanai CPU

Known regressions and future work

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.

Special thanks to:

  • alvaro felipe: for fixing some bugs and enhancing the XNU debugger
  • xvilka: finally getting the windows builds happy again
  • maijin: for reviewing issues and adding more opcode descriptions
  • deffi420: to find and fix some tiny, but important bugs in SDB
  • condret: for working on the SIOL branch that will hopefully be merged soon.
  • crowell: enhacing the local variables experience
  • ret2libc: fixes a bug in dietline, rewrote flags, metadata, better midflags and cursor movement.
  • mballano: for commiting for the first time, making RAP:// more consistent.

Have fun with this new release and keep up hacking!

radare2 0.10.0

20 Jan 18:02
Compare
Choose a tag to compare

More details soon!

radare2-windows-nightly

12 Oct 11:52
Compare
Choose a tag to compare
Pre-release

Nightly build

radare2 0.9.9 - almost there

radare2 0.9.8 - le chair

radare2 0.9.7

03 Mar 01:23
Compare
Choose a tag to compare

CodeName: Segfault as a feature
ReleaseDate: 2014-03-03

Tarballs:

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

Numbers

  • 1 man
  • 3 months
  • 8 new architectures
  • 28 contributors
  • 73 reported bugs fixed
  • 283 bugs with 'Fix' keyword (memleaks, bugfixes, warnings, nullptr)
  • 613 commits
  • 1273 files changed
  • 94362 deletions
  • 115678 insertions

Binaries

  • Gameboy ROMs are now supported
  • Java class files detection has been improved
  • COFF is now supported
  • DWARF2 is now fully parsed and manually handled

New Architectures

  • H8/300
  • T8200
  • 6502 (Atari, Apple II and Commodore 64)
  • TMS320
  • NIOS II
  • SNES
  • Gameboy
  • MSIL is working again
  • Whitespace
  • Malbolge

Java

  • Ability to load multiples Java files at once
  • Improved analysis
  • Support for access flags

Imports bugs fixed

  • Invalid instructions display 1 byte hexpair in disasm
  • Fixed many crashes and incorrect handling of commands in extreme conditions
  • /v now supports 1 byte search and obeys cfg.bigendian

Bindings

  • ctypes bindings are more complete and close to swig.
    we need testers and contributors to make ctypes support everything.
  • Add OCAML bindings
  • Fixed and tested Java bindings
  • Updated NodeJS bindings
  • Added work-in-progress hand-made JNA (Java Native Access) bindings
  • Added Python3 example scripts
  • Fixed perl compilation
  • Use latest ACR to fix some bugs in configure script
  • Updated mingw32.sh dist build script

Look

  • Mouse wheel supported on xterm-compatible terminals in visual mode
  • Add a pink theme (ecf pink)
  • Tiled web interface
  • to follow jmp/call/cjmp in visual mode
  • Add a less ability

New stuff

  • ^x^e supported in RConsLine
  • Added 'less' and '~..' (internal less)
  • Added 'ls -l' command.
  • Implement backward search /b (Thanks JudgeDredd)
  • Added cpu cycles (and fail cycles) columns in disasm (condret)
  • Radare2 can now be built with Jamroot
  • The ARM assembler is complete
  • Ability to search and filter ROP gadgets
  • Zip files support
  • rarun2 can r2preload=true using self:// (linux, osx)
  • Emoji hexdump
  • Add more cparse basic types t*

Changes

  • Strings now have length and size fields.
  • Rename 'rdb' to 'projects' in ~/.config/radare2/
  • Add -S option to r2 to start with sandbox enabled
  • Fix too much memory usage in analysis (thanks saelo)
  • Converted almost everything to LGPL
  • AND, OR, XOR NEG operations are now supported in RNumCalc

Improvements

  • ESIL generation for x86 was simplified
  • More opcodes support for ESIL
  • ragg2 can now produce ELF64
  • Backward disassembly refactoring
  • Disassembly is now at least 7 times faster
  • Analysis eats less memory

Analysis

  • C55x+ analysis is improved
  • Gameboy ROMs are now properly loaded and have better analysis
  • Takes much less memory

Updated things

  • sdb: (0.8) Update SDB with new API and much more tested.
    Sdb is the noSQL backend for radare2. The API is now stabilized, and
    it will be used in the next release to simplify data storage. Feel
    free to review the specification: https://pad.nopcode.org/p/sdb
  • udis86 - from git, now we are using our own fork

Upcoming stuff

  • Sdb everywhere
  • Initial work to support hardware breakpoints
  • Better and faster analysis
  • Import capstone

Contributors

  • Xvilka
  • xtraeme
  • Ender
  • Eduardo de la Arada
  • Fedor Sakharov
  • BatchDrake
  • Ilya V. Matveychikov
  • Jaume Delclòs Coll
  • Jerome Marty
  • Jüri Aedla
  • Maijin
  • Nibble
  • Samuel Groß
  • Saul St. John
  • VisualPrankDude
  • Vitezslav Cizek
  • Zach Riggle
  • aaSSfxxx
  • axt
  • condret
  • cquaid
  • defragger
  • dso
  • jvoisin
  • pancake
  • radbrad
  • schrotthaufen
  • zonkzonk

Greetings

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)