radare2

UNIX-like reverse engineering framework and command-line toolset

LGPL-3.0 License

Downloads
164
Stars
19.6K
Committers
1K

Bot releases are visible (Hide)

radare2 - radare2-2.5.0 - eknad

Published by radare over 6 years ago

Codename - eknad

Binaries: http://radare.mikelloc.com/get/2.5.0/

2.5.0

CodeName eknad

This release brought many small improvements to the existing commands and features, it improved different platforms support and cross-platform compilation. Moreover, integration with Cutter was also greatly enhanced. Thanks to new contributors visual modes (panels in particular) were polished to shine.

New Features

IO

There is an important addition in IO land: added gprobe plugin for communication with various parts from computer displays, based on Genesis/STMicro/MegaChips chipsets.

RopChain

Rop gadgets are (finally) stored in sdb, meaning that the search process will be much faster. And since they are now only searched once, and then stored, only the first search will take some time. The following ones should be instant!

Analysis

Radare2 gives a lot of power to the user to perforn manual analysis, hence why we're constanstly improving and adding features in this area. Like the new /g command, to find all possible paths from A to B inside a function. Moreover for the capstone analysis modules granularity assumptions were fixed to be handled properly.

GUI

Visual panels are now capable of using utf8 characters, so they are looking prettier. Especially with the color sheme support!

Misc and usability

As usual, more and more commands are now supporting the j suffix, to output JSON. We removed some dead code, memleaks, added some fixes, … you know, the usual drill. The ragg2-cc and ragg2 tools merged into a single binary. This should remove a lot of confusion and reduce the number of questions asked on our IRC chan :D. Since radare2 is a complex software, we're adding more and more autocompletion support in it! Please do open bug if you feel that we missed some subcommands.

Build system

You can now build radare2 with the meson build system. This should improve the build time.

Code cleaning

We moved x86.udis to radare2-extra, because we're using capstone as a main disassembler. You can of course still use UDIS if you prefer,
by installing it with r2pm: r2pm -ci udis86

File format handling

Radare2 is now able to parse RTTI for both GCC and MSVC

New commands

  • Initial implementation of cmd.pdc to select pseudo-decompiler
  • Added dsuo commad to step until opcode type
  • Added support for extended regex in asm search
  • Implement dietline history on mount-shell
  • Improve ar= command to accept a list of space/comma separated list of registers to show
  • Added version info for shared libs
  • Initial implementation of RFShell tab autocompletion
  • Added avraj output for gcc
  • Implement pdp to print pointer chains (rop chains)
  • Implement aos to show the size of N instructions
  • Added json output for search commands /mj, /vj and /Vj
  • Implement pdsb, /gg to graphpath following calls, and honor anal.depth and search.count
  • Added breakpoints for mips64
  • Implement r2k.wp and fix r2k.io
  • Improve r2k-linux \? commands and revert io.undo patch
  • Implement cu[1248] command
  • util/num: add support for ROR and ROL
  • asm.emu.str: include \t, \r and \n as string chars
  • Implement afxj command
  • Just move cursor when in visual mode and you seek to a new offset that is in the same page
  • add asm.emu.strflag: control showing of flag for asm.emu string
  • Added file autocompletion after >
  • Make s.. push in the undo history
  • Implement px[WQ]q and honor asm.offset
  • Added tt command to show typedefs
  • dm/dmm code cleanup and fix dmj json output
  • Ragg2-cc -> Ragg2 merge (#9658)
  • Update SPARC asm.describe
  • Update PowerPC asm.describe
  • io: Add DDC2Bi3 protocol wrapper to gprobe plugin; The DDC2Bi3 wrapper is used for both DDC2Bi3 and I2C communication channels, for example HDMI DDC or I2C Host Interface.
  • asm.emu.strinvert: control color inversion of asm.emu strings
  • Shortened asm.emu.strinvert to asm.emu.strinv and its desc
  • Implement radiff2 -u and radiff2 -x
  • Fixes loading Core files from Virtualbox (> 2GB ELF64)
  • Transition to use RBuffer.io in RBin
  • Make P just show the list of projects
  • Fix temporary seek when using @b @a @e or any other local modifier that do not work on their own temporary block
  • Improve aac performance on files with class info
  • Make av, avr and avra breakable by the user
  • In visual disassembly, add a shortcut ( ;[n]) on jump hints
  • Add ?a command in to show ASCII table
radare2 - 2.4.0: Chussy Chaber

Published by radare over 6 years ago

Date: 2018-03-05
Codename: Chusy Chabber
Downloads: https://radare.mikelloc.com/get/2.4.0/

Build

  • Find _main in MSVC-compiled MZ binaries
  • Meson: Added sdb building/installation rules
  • Install Headers and .pc Files with Meson
  • Use meson pkgconfig for .pc files
  • Initial sys/purge.sh distro to remove r2 distro packages
  • Fix MSVC dynamic linking
  • Upgrade to latest acr to honor AWK env var
  • Added v810 and tms320 to meson
  • Added x86_udis to meson

Debugger/IO

  • Use io.pcache instead of io.cache, improve speed
  • Enable io.cache for afta too under aaaa
  • Added asm.bbinfo for debugging op_pos
  • Implemented wao for arm64
  • Support RIOBind on RBuffer for fcpy_at

Assembly

  • Added an alternative and colored view for varsum
  • Improvements in bin.strfilter and asm.emu
  • Hexagon QDSP6 v6 support - LGPLv3

Bin API

  • More code cleanup in RBin api for file and obj
  • Refactor RBin for file and obj, mach0 headers to stdout
  • izz/izzj now works with -n without using rabin2
  • Make idpi independent of bin loading

New Commands/Eval

  • Implemented @@iS RBin.Section foreach operator
  • Implemented @% suffix operator
  • Refactored asm.cmt* and scr.*
  • Implemented @B: to temporary seek to the Nth BB
  • Implemented cp. and fix r_sys_copy on mac/ios
  • Fix wao ret* for arm64
  • Added command to edit ~/.radare2rc
  • Improveed aae to support cstr and pstr like asm.emu.str
  • Implemented support for cstr and pstr for asm.emu.str in disasm
  • Added asm.emu.stroff: always show offset when printing asm.emu string
  • Initial support for dbg.symstore
  • Change all asm.emu* to asm.emu.*

Better support for AVR:

  • Implemented opcode masking for improved zignatures
  • Added missing opcode info (val, ptr)
  • added pseudo code for avr instructions movw and st*

Better graphs and visual panel:

  • VC rotates scr.color instead of toggling
  • Implement axgj
  • Added < command and make dietline reuse rcons.readChar
  • Improve RCons.readPush and add .readFlush() to make V* happy
  • Implemented r_cons_readpush() new api and fix the V... automation
  • e graph.format=? and missing help for @@iS
  • Intial implementation of function call argument display
  • Experimental Cons_INVERT in strings in disasm
  • Added VbC to browse comments
  • Added VbF to browse functions
  • Implement VV) - rotate asm.emu.str in visual graph
  • Added ) key in visual to toggle asm.emu.str
  • Honor scr.color in Vbf
  • Added Visual browser for process threads
radare2 - Codename: DirtyHarry

Published by radare over 6 years ago

Builds: http://radare.mikelloc.com/get/2.3.0/

Changelog:

Release 2.3.0 - use latest acr 1.4

Analysis:

  • Better use of search.in and anal.in and zoom.in - sivaramaa
  • Initial work on CPU specific registers

Bin files:

  • Speedup the loading of version info for ELF - pancake
  • Add r2 -X as an alias for -e bin.usextr=false
  • Implement iE., iEj., is. and isj. implementation - Thomas Bailleux
  • Add search.in=bin.sections and @@@ sections
  • Add warning for NSO files requiring decompression

Commands:

  • New command cV command to compare values
  • Fix wao nocj and so? and rename swap-jcmp to recj

Better support for AVR:

  • AVR default CPU ATmega8 to avoid regressions
  • Expose all the AVR cpu in e asm.cpu
  • Added warning msg for maxbbsz - sivaramaa
  • Windows builds now inclue avr and gb plugins

Better Disasm:

  • Implemented the new pdR command that doesnt requires previous analaysis and just follow non-conditional jumps
  • Substitute jmp, call, branch target based on analop (#9198)
  • Filter strings better in disasm with bin.strpurge - kazarmy
  • sh: fix disassembly of branch opcodes (#9238)
  • Added ppc Paired single (#9172)
  • Improved 8051 disassembler and analyzer - Adrian Studer
  • Implement asm.strip to hide instructions matching type - pancake
  • Fix anal.m68k plugin name and handle LINK, UNLK instructions properly
  • Initial pseudo and esil for MMX instructions - pancake

Compatibility breaks/improvements:

  • RCoreFile is starting to be deprecated
  • Added dir.prefix (can be changed at runtime), no more compile-time prefix problems!
  • r_str_chop/trim/clean/.. apis unified - api break - pancake
  • Output of rabin2 (and i command) is more compact, so if you are parsing the output of that tool instead of using the JSON format, it may break things in your side.
  • Build system improved (fixes static build and properly generates the archive file, and improved pkg-config files, iOS11 sdk)- thanks whitequark!
  • First step in removing fcn->refs/xrefs - defragger

IO layer - pancake

  • Implement of and minor fixes for o?
  • Handle file:// uri as for io.default
  • Implement obq and ob*
  • Add on+ and ons+ support in cmd_open.c
  • Where in time is r_io_open_buffer?

Better graphs: - pancake

  • Render color themes properly
  • Print edges before nodes again and add V^ key like VV^
  • Add VV= to rotate graph.layout, and use less in VV?
  • Implement minigraph disasm scroll with JK keys
  • Implement axtg and bring back the VV<> (xrefs, call)-graph
  • Better graphs, bringback t/f, add ^to seek to the begining and updated help
  • Reuse Vd in VVd, add e,E keys to change graph.edges in VV

Other:

  • x86 assembler has been improved by emvivre (adding fpu, hypervisor and priviledged instructions) and unlogic for fixing and extending some instructions.
  • Honor zoom.in for all p= subcommands - sivaramaa
  • Adds wide CRC support (crc8, crc16, crc32, crc64
  • Initial blind implementation of hwbp for native Linux ARM and ARM64
  • Visual browser handles imports and symbols
radare2 - r2-2.2.0 Tió De Nadal

Published by radare almost 7 years ago

tio

The tió have pooped a new release and it comes with snow!!!

Enjoy!

Farm builds at https://radare.mikelloc.com/

Build

  • Run fix-perms at the end of symstall to make umask in vagrant happy
  • Add Vagrantfile for radare2 + ArchLinux
  • Fix almost all warnings from the msvc build
  • Fix ASAN build for High Sierra
  • Added dynamic linking build for Appveyor

Debugger/IO

  • Implement io.cache.auto to cache all reads for slow io backends

Assembly

  • Add pdJ for formatted JSON disassembly
  • Assemble REX.W prefix for 64-bit immediate mov to memory
  • add sp to mips profile
  • Implement asm.emustack

New Commands/Eval

  • Add anal.rnr option
  • Implemented anal.in and optimized lots of anal command
  • Implemented @.. for temporary partial address seeks
  • Initial import of the Yara's .NET parser
  • Initial import of apia, the api analysis tool for r2
  • Add disasm filtered/varsub/relsub in aoj
  • Honor s:key in woD
  • Handle pds in VO
  • Add some missing mfc
  • Implement fdw command
  • Implement afd
  • Better pseudo for LEA
  • Handle arm thumb/thumb2 pc-relative in relsub
  • Honor ^C in aar and aac
  • Add /O command
  • Implement dcu. command as an alias for dcu 8126
  • Added new command afi. to just get the function name
  • Initial import of the /f webui
  • Honor asm.flags in pds
  • Improve the ?Vj and add ?Vc
  • Integration of the Serpent cipher (ECB)
radare2 - Codename "onhold"

Published by radare almost 7 years ago

Release 2.1.0

Project: radare2
Codename: onhold
Date: Sat Nov 25 2017 12:26:04 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://radare.mikelloc.com/get/2.1.0

radare2 2.1.0 comes with -8679 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:

This release brings better support for Windows debugging, radare2 filesystem, file format improvements and massive speedup of the interface. Moreover, you can find better working search commands and various bug fixes.

File Formats

  • Enhancement of DOS file format handling
  • Add support for Phar Lap TNT PL format
  • Support for the NSO Nintendo Switch static binaries
  • Fix detection of overlay in PE files (#8812)
  • Detect lang=go in ELF binaries
  • Support ELF mips relocs with PLT instead of RELA
  • Autodetect and mount ISO9660 partitions
  • automount and handle hfs from RBin
  • Fix aav for fuzzed binaries with huge invalid sections
  • Parse constructors and destructors in MACH0 format and adjust cbin output
  • Rename mo to mi, and implement mo, o. to open fs files or data as malloc://

Build

  • Build radare2 for all iOS archs and the simulator
  • Major enhancements for the Meson scripts

Debugger/IO

  • Enable GDB for Windows (#8877)
  • Improvements of win32 native debugger
  • Improvements of WineDBG interop

Assembly

  • Temp fix for #8788 - escape non-ascii chars in ESIL strings
  • Add the ability to show imm values as string

New Commands/Eval

  • scr.fps
  • Initial import of asm.shortcut to change position of the hint
  • Initial implementation of the 'ff' command to check the distance between flags
  • afCl to get an aprox count of loops in a function
  • Add aflc command to count functions
  • ffs command
  • /s syscall search command
  • Add o-! command
  • Implement the 'es' command to list eval spaces and keys
  • cfg.escbslash → str.escbslash
  • add “usrcmt”
  • added oa and oa* command
  • Implement ahh -> anal hint highlight
  • anal.searchstringrefs -> anal.refstr
  • Implement 'r2pm -i all' as requested
  • Support ternary values in rax2
  • Implemented Cd-
  • Implement 'r2pm suicide' to self remove r2 from system and home
  • Fix woO command, which is wopO now
  • R_BETWEEN
  • Initial support for structure offsets
  • simple project saving
  • Implement /M and enhance r_fs to autodetect filesystems
  • Implement pj, pj. and pj.. commands
  • Add new 'rh' command to show the filesize in human format
  • ie/iee
  • Flags are now named entry0, entry1.init, entry2.fini
  • Add anal.armthumb to make an specific aae test pass
  • Cs8: add utf8 string
  • Implement /me
  • Implement ELF constructors/destructors parsing
  • Implement bin.b64str to automatically decode base64 strings
  • mdmp is in the core
  • V\ and Vb
  • Implement /ca
  • Implement /c/a and make /c/ work properly
  • cfg.escbslash: Escape the backslash (currently Cs output only)
  • Implement the dor command to set a custom rarun2 profile
  • Enhance the fs.r2 with /version and proper cat/read ops
  • Initial support for ec usrcmt -> user comments have different color
  • Add cfg.escbslash: Escape the backslash (currently Cs output only) (#8855)
  • PDB_SERVER is now RABIN2_PDBSERVER
  • List mountpoints in path via md
  • Implement anal hints for htons immbase
  • Honor supported bits mask in V&
  • Fix #8870 - sn/sp accepts an arg to override scr.nkey
  • Fix #8778 - Honor escaping ':' in ~ and make it smarter to have better grepping'
  • Bring back o+
  • ob doenst requires binobj id anymore, just the fd is enough
  • Bring back V& with anal hints
  • op->oL, o fd -> op
  • Fix #7120 - Add read/write/exec /r subcommands
  • Add RAnalOp.direction and tweak ao for it
  • Use empty file.path in project rc to indicate new style rc with on commands. Make -p imply -- to further enable this.
  • Added some output to aab and improved the false positives a bit
  • added cfg.debug befroe all those noisy eprintfs
  • Added json feature for oL listing (#8781)
  • Cs..: show string + info about it at current address (#8689)

Fixes:

https://github.com/radare/radare2/milestone/23?closed=1

radare2 - r2-2.0 aka "shiny-nibbles"

Published by XVilka about 7 years ago

Release 2.0.0

Project: radare2
Codename: shiny-nibbles
Date: Mon Oct 09 2017 17:17:36 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/2.0.0

radare2 2.0.0 comes with 31574 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:

Numbers:

  • commits: 1042
  • fix: 571
  • crash: 30
  • new: 18
  • add: 197
  • anal: 44
  • leak: 50
  • esil: 16
  • debug: 30
  • type: 18
  • oob: 0
  • honor: 20
  • update: 31
  • clean: 13
  • import: 3
  • endian: 6
  • indent: 7
  • command: 68
  • enhance: 10
  • diff:
    • add: 54605
    • del: 23031
    • diff: 31574
.----------------------------------------------------------------------------------------------------------.
|                                              Release 2.0.0                                               |
|----------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak |                       authors                        |
|--------------|---------|-----|-----|-------|------|------------------------------------------------------|
|              |    1042 | 571 | 197 |    20 |   50 |                                                      |
| binr/radare2 |      44 |  19 |  12 |     1 |    2 | pancake srimanta.barua1 condr3t defragger ...        |
| binr/rabin2  |       4 |   3 |   2 |     0 |    0 | condr3t pancake dark.cancerbero maskray ...          |
| binr/radiff2 |       8 |   5 |   0 |     0 |    2 | pancake maskray condr3t xarkes ...                   |
| binr/rahash2 |       2 |   2 |   0 |     0 |    0 | xarkes pancake alvarofe                              |
| libr/debug   |      90 |  53 |  22 |     0 |    7 | pancake srimanta.barua1 xarkes rkx1209dev ...        |
| libr/bin     |     114 |  67 |  18 |     3 |   12 | pancake alvarofe xvilka maskray ...                  |
| libr/core    |     510 | 274 |  91 |    17 |   28 | pancake maskray alvarofe condr3t ...                 |
| libr/crypto  |       0 |   0 |   0 |     0 |    0 |                                                      |
| libr/cons    |      26 |  19 |   3 |     2 |    8 | pancake maskray p4n74 srimanta.barua1 ...            |
| libr/anal    |      86 |  48 |  18 |     0 |   10 | pancake maskray alvarofe xvilka ...                  |
| libr/asm     |      75 |  47 |  19 |     0 |    6 | sven pancake maskray wargio ...                      |
| libr/util    |     118 |  67 |  16 |     4 |    8 | pancake maskray kazarmy xarkes ...                   |
| libr/egg     |      12 |  11 |   2 |     0 |    3 | pancake josediazfer josediazplay wargio ... |
| libr/io      |     169 | 101 |  34 |     2 |    8 | pancake alvarofe condr3t maskray ...                 |
'----------------------------------------------------------------------------------------------------------'

Contributors: 1042 / 69 = ~ 15.101449275362318

33% - 348 pancake
13% - 138 maskray
11% - 124 alvarofe
4% - 48 condr3t
4% - 46 srimanta.barua1
3% - 35 xarkes
3% - 33 xvilka
2% - 31 kazarmy
2% - 24 sven
1% - 20 wargio
1% - 20 maijin
1% - 18 defragger
1% - 18 cutlassc91
1% - 13 antide.petit
1% - 13 rkx1209dev
1% - 12 skuater
0% - 9 guillaume
0% - 8 h4ng3r
0% - 8 ora8
0% - 6 mscherer
0% - 4 karlis3p70l1ij
0% - 4 emacsray
0% - 3 arkamar
0% - 3 julien.voisin
0% - 2 p4n74
0% - 2 lenerd
0% - 2 sajjad
0% - 2 jpenalbae
0% - 2 dark.cancerbero
0% - 2 soez
0% - 2 cgvwzq
0% - 2 mrmacete
0% - 2 josediazplay
0% - 2 asanchez
0% - 2 0xTowel
0% - 2 kc8apf
0% - 2 richardmaciel
0% - 1 dowdyph0
0% - 1 nfontenot27
0% - 1 zhangzhuo
0% - 1 tantecky
0% - 1 amatus
0% - 1 techvoltage
0% - 1 frefreak.zxy
0% - 1 tryger
0% - 1 zadlg
0% - 1 willi.ballenthin
0% - 1 javierptd
0% - 1 burnham.jonathan
0% - 1 xiyou.wangcong
0% - 1 osalvador.vilardaga
0% - 1 queenp
0% - 1 a.kornitzer
0% - 1 torsunov
0% - 1 ben.l.gardiner
0% - 1 misc
0% - 1 dennis+git_swoops
0% - 1 mgregorczuk0
0% - 1 j123123
0% - 1 kijmail
0% - 1 Coder-256
0% - 1 mr.exodia.tpodt
0% - 1 itaycohen23
0% - 1 beren.minor+git
0% - 1 daan
0% - 1 mytbk920423
0% - 1 crd
0% - 1 toshi.piazza

This release became our pain in some parts of the body and a huge win. Thanks to condret, alvaro and maskray the long term refactoring on top of the simple IO library (siol) is now merged, tested and everything is rewritten on top of this layer. This simplified internal representation of many operations, proving stacked, multi-layered IO for any part of radare2.

New commands

  • A lot of commands were merged together
  • Some commands have been added to ease the manipulation of ascii-graphs
  • Regularely used analysis macro have been moved into commands to make them easier to use
  • Add new command aesb, to step back with ESIL (#8052)
  • Enhance ax, axk lists and axq is the old ax
  • Implement rafind2 -i to identify binaries

New Fileformats/io plugins

  • ar://
  • lib://
  • winedbg://

New config options

  • Add io.map and remove file and io.maps.range search.in options
  • Add asm.asciidot and remove asm.strenc
  • io.maps is now by default instead of search.in=file
  • Add asm.addrbytes eval config var to make one vaddr unit use more than 1 bytes (#8121)
  • Bring back dbg.trace.inrange in dtc command
  • Remove search.count in favor of search.maxhits in /A , /R , and everywhere else

Dependencies updates

  • Update spp again for windows this time
  • Use libtool instead of ranlib for iOS
  • Update sdb
  • Upgrade zlib from 1.2.8 to 1.2.11

Improved interface

  • Fix overlap in graphs
  • Added curved corners in the ASCII graph (e scr.utf8.curvy=true)
  • Add some options to the search command (/), and improve its speed drastically in certain cases
  • r2 -e cfg.newtab=1 to enable the experimental new command completion
  • Show hidden metadata as "hidden" (#8525)

Improved disassembly

  • Pseudo-decompiler for AVR and SH4
  • Add instruction descriptions from Intel Instruction Set Reference Volume 2 (#8209)

Analysis

  • Reduce the number of false positive strings
  • Add more analisys heuristics
  • Do not let pdf work on functions with > 4KB of unrelated code
  • Enhance aav for MIPS, af@@aav* may be added at some point
  • Initial ESIL support for V850
  • Avoid dupes in anal.jmptbl for analysis, speedup
  • asm.strenc guess whether string is utf32le, utf16le, utf8, etc

Fileformat supports

  • Add IA-64 binary detection (#8645)
  • Add HP-UX binary detection (#8644)
  • Detect kotlin in java classes
  • Initial optimization for DEX
  • Big improvements for MDMP plugin (r2pm -i mdmp)
  • Added resources extraction to rabin2 (#7912)
  • Honor bin.dbginfo for all file formats
  • Add DEX38 support
  • Add LC_CODE_SIGNATURE for rabin2 -H on mach0 bins
  • Add canary detection on OpenBSD binaries

ELF

  • Handle .bss section in ELF
  • Add V850 recognition

Bindings

  • Add more extern "C" to make C++ users happy
  • Even more commands have a json output now (just append j to them.)
  • Expose r2 environment variables to internal r2pipe calls
  • Add free to RLibStruct & RLibPlugin. (#7991)
  • Updated lang-python and it allows to create RCore, RAsm and RAnal plugins

Misc cool stuff

  • Add zsh completion for every r2 tool!
  • Add support for architectures that are using 9bit bytes middle endian (like CLemenCy)
  • Add support for IDA FLIRT signatures v10 (IDA 6.8 and higher)
  • Detect main() for D language
  • Added autoload of zignatures from zigns folder
  • Replace radiff2 -s with Eugene W. Myers' O(ND) diff algorithm
  • Add radiff2 -ss for Levenshtein edit distance
  • More documentation
  • Less crashes, less memory consumed
  • Various fixes regarding projects (removing functions after loading a project is now working)
  • As usual, new fortunes

Debugger

  • Add heap jemalloc analysis
  • Add timeless debugger (Record and Replay) for native debug, gdb:// and ESIL emulation !!!
  • Add commands to manage recorded trace sessions
  • Add initial support for hw watchpoint (#8132)
  • Better LLDB support
  • Windows: PDB Autoloading when debugging
  • Support spawning processes with spaces in their path
  • Add the null debugger plugin
  • added =!detach to detatch de debuggee

GDB

  • Reading xml target description and parsing into r2 reg profile (#8124)
  • Added reading of executed file name to gdbserver
  • Add env var to control gdb packet size
  • Added automatic loading of symbols from local file (#8006)
  • Added debugging of protocol messages in gdbserver (#7931)

Fixes:

radare2 - radare2-1.6 aka Digital Lettuce

Published by radare over 7 years ago

This release comes with major improvements in GDB Client/Server, Windows support, timeless debugger and many stability bugfixes. Also adds support for PPC VLE, Ethereum Virtual Machine, workaround to properly configure the disassembler on PlayStation2 ELFs and added support for the Hexagon CPU.

Strings displayed in the disassembly are now more readable and support multiple encodings, utf32 has been added, as well as latin1, utf8 and asciidot. So rabin2 -z will catch wide32 strings too!

Thanks to the GSoC guys we get:

  • Windows: many stability fixes, msvc builds automated on each commit, installed done, a new command allows to grab all PDB from all linked libraries at runtime of any process and load the symbols into the disassembly.
  • GDBserver support works, you can use r2 as a gdbserver, but also, many bugs has been fixed to support remote gdb-avr, arm and arm64, so you can now debug the Riscure crackmes without depending on GDB, and also natively debug Android apps thru the gdbserver protocol.
  • New mechanisms for storing the debugger backstep snapshots is making it backstep much faster by using checksumming and storing diffing changesets instead of full dumps for each step. Better integration with the tracing commands of r2.

New commands

  • Replaced aea with aea*
  • Replaced dh for dL (#7682)
  • Renewed dsb command for new session format (#7651)
  • Implemented aab* and fixed aab (#7688)
  • Implemented psW cmd to print 32 bits wide strings
  • Implemented axq to list refs in quiet/human-readable format
  • Implemented /ra and fixed /re without arguments to find ALL references
  • Implemented |T to pipe to the scr.tts engine
  • Implemented s== to show flag names, not just offsets
  • Implemented ecH for instruction highlighting support (#7741)
  • Implemented !- and !-* commands to clear command history
  • Implemented sj to retrive seek history in json format (#7663)
  • Implemented dtst and dtsf commands for save and restore sessions. (#7880)
  • Implemented drtj support (#7866)
  • Implemented dsuir command for regex match (#7675)
  • Implemented ~str~? support and fixed #7373 bug (#7669)
  • Implemented dbta to show an ascii-art representation of the stack backtrace
0xffffffffffffffff  STACK END  ^^^
0x0000000000000000  STACK POINTER: rsp
                    .------------------------.
0x0000000000000000  | rsp     [frame 0]      | ; size 0
                    |            ...         |
0x0000000000000000  | rbp 0x0000000000000000 | ; return address
                    )------------------------(
                    |           ...          |
                    `------------------------'
0xffffffffffffffff  STACK BOTTOM

New config variables

  • Implemented asm.minvalsub variable
  • Implemented aerR and cmd.esil.ioer
  • Implemented cmd.esil.todo

Architectures

  • Hack for PS2 binaries (#7636)
  • Initial support for the Hexagon CPU
  • Added support for the Ethereum Virtual Machine
  • Fill half-full-relro detection on ELF binaries (checksec)
  • Fixed and refactor imul for x86.nz (#7832)
  • Rewritten 8051 disassembler
  • PowerPC VLE support with capstone (#7899)

Analysis

  • /rc find refs (on arm64 for now) like 10 times faster than using capstone
  • Fixed segmentation fault on bin_mach0 (#7846)
  • Honored cpu on anal_mips_cs and add/fix some mips64 instruction (#7643)
  • Added support for the Ethereum Virtual Machine
  • PowerPC VLE support with capstone (#7899)

Strings

  • asm.strenc asciidot (#7898)
  • asm.strenc utf8, guess (#7849)
  • asm.strenc latin1 (#7857)
  • Use r_str_escape for ASCII anal addr strings (#7834)
  • Fixed some string formats for 32bits
  • Implemented utf32 wide32 strings for rabin2 -z
  • Implemented u prefix to wide UTF-16 strings (#7760)

Debugger

  • Implemented GDB/backstep
  • dm is more consistent with dmm
  • Implemented support for gdb://host:port/pid (#7759)
  • Added gdbr_{attach,detach,detach_pid,kill_pid} to gdbclient. (#7759)
  • Implemented qRcmd to io_gdb
  • Implemented breakpoints when using f2 pid/tid specific continue with signal for gdb (#7848)
  • Optimized gdbserver mem read, and added gdbserver mem write
  • Implemented gdb reg caching
  • Corrected the attach pid behaviour
  • Use task_swap_exception_ports (instead of get then set)
  • Add new debugger stop reason for user-initiated breaks
  • Stop the inferior when dw is interrupted (#7744)
  • Stop the inferior after attaching
  • Fixed memleak and invalid format string for gdb
  • WIP Serial fix for io_gdb. (#7808)
  • Support for dm commands in gdb (#7770)
  • Support to flush breakpoint command output on every hit
  • Speed up gdb considerably if gdbserver supports no-ack mode (#7763)
  • Support to load bin-format specific scripts from home
  • Corrected gdbserver register-setting behaviour
  • Fixed gdb client packet size (#7703)

Features

  • Support towards a visual ESIL debugger VpOd
  • Support underscores in hex numbers
  • Added idp command to load functions from pdb file (#7891)
  • ~? is more consistent in different command constructions
  • Fixed the wtf! command (better va/pa support and avoid infinite loops)
  • Fixed Help for |? like ?|? (#7830)
  • Fixed ouput of aerR/aer* (#7870)
  • Added format parsing for x\ command (#7839)
  • Implemented visual entropy browser with V|| and then h or l keys to move
  • Reduced flashes in V|| aka cmd.cprompt
  • Enhanced icj, ic and id in Dex (#7821)
  • Enhanced the Java assembler (#7706)
  • new radare2-pro theme for the graphviz
  • Enhanced v modifier to rapatch similar to wv (#7806)
  • Implemented alt+backspace and modularize ^w to use unix_word_rubout (#7794)
  • Optimized RFlag.get_at, enhancing fd and honor flagspaces
  • Implemented /rc to check for call refs, optimized for arm64
  • Implemented plain checkpoint system (#7782)
  • Added reading of memory maps from /proc/pid/maps
  • Added support for SVN sources in r2pm
  • Added support for directories in include
  • Added flow2 to all color themes
  • Added missing socket/serial.c
  • Added serial support in RSocket for gdb:///dev/ttyUSB0:9600
  • Implemented the support of ag command work with loc functions (#7673)
  • Enhanced radiff2 -D with context bytes in disasm and honor -q for colors
  • Implemented radiff2 -G to run a custom command
  • Implemented Vb to run dbs like key.f2 for consistency

Builds

  • Set windows meson default to static libraries (#7840)
  • Reorganized meson version grabbing (#7828)
  • More support for static builds (#7822)
  • Added msvc 32 bits to appveyor
  • Added msvc x64 version (#7814)
  • Fixed msvc to compile with /MT to include redistributables into binaries
  • Fixed Travis linker error (#7783)
  • Fixed whitespaces in meson build file by removing them
  • Ignored meson scripts (#7751)
  • Added VS2017 project generation
  • Appveyor windows-installer integration
  • Fixed ios-sdk builds

Contributors

Contributors: 310 / 42 = ~ 7.380952380952381
-------------

37% - 117  pancake
7% - 24  cutlassc91
7% - 22  srimanta.barua1
5% - 17  xarkes
4% - 13  nibble
3% - 12  kazarmy
3% - 12  alvarofe
2% - 8  rkx1209dev
2% - 7  antide.petit
2% - 7  zhangzhuo
2% - 7  sven
1% - 6  kamou.k
1% - 5  sajjad
1% - 4  skuater
1% - 4  github
1% - 4  defragger
1% - 4  mrmacete
0% - 3  j123123
0% - 3  xvilka
0% - 3  adinator1999
0% - 2  wargio
0% - 2  masapastosa
0% - 2  berg.nils
0% - 2  xdg
0% - 2  lenerd
0% - 2  bru.x0
0% - 2  h4ng3r
0% - 1  bluec0re
0% - 1  maijin
0% - 1  chinmay1dd
0% - 1  kenny.macdermid
0% - 1  sferrini
0% - 1  ludwig.maes
0% - 1  qwokka
0% - 1  schrodinger
0% - 1  carcher002
0% - 1  Tzaoh
0% - 1  jmcfadyen
0% - 1  adrian.herrera02
0% - 1  jpenalbae
0% - 1  mr.exodia.tpodt
0% - 1  danitorregrosa
radare2 - r2-1.5 - codename "RubyCup"

Published by radare over 7 years ago

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 in p==
  • Added pib command for basic block level disassembly
  • Added fss, fssj and fss*
  • 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 and pxqj
  • Set asm.midflags=2 by default
  • Enhanced @@ foreach operator
  • Fix Pl command on Win64
  • Initial implementation of pdR, the af-less pdr
  • Rename Tp to L command to be consistent with iL and oL
  • Fix for @@c:/c to be compatible with @@/c
  • drr honors scr.color
  • Integrate pss into the visual mode
  • Implemented px0
  • Initial implementation of dir.zigns and honor in zo
  • Show comments in pxa too
  • Added ev and evj command
  • Honor color theme in p=, add palette rainbow primitives in RCons

Config variables

  • Added asm.cmtoff to control showing offset comment
  • Removed | in asm.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 unset bin.strings and run aar
  • Fix zoom.byte=?
  • Implemented asm.midcursor
  • Honor cfg.log for analysis metadata (CC, ...)
  • Remove asm.spacy and integrate the logic into asm.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 with bin.relocs
  • Honor anal.strings for aae
  • 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 fixed b/bc jumps
  • Introduced the anal->cmdtail and enhance anal.jmptbl with it
  • Honor noreturn in aab and removed no exact cases from aab
  • 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 and LDP ESIL representation for arm64
  • Add cset, cinc and fix cmp, 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 and dbg.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
radare2 - Codename: "no comments"

Published by radare over 7 years ago

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 in S*, handy for projects
  • Fix /V* to set flags and not behave like aav
  • Add p=z and bring back the old p=p
  • Add p=[j,c,i,m,s] and enhance p=p
  • Implement di* command
  • Add rahash2 -E xor and support -S - and -S @ to slurp stdin or files
  • Add CC. help in C? and handle CC.[addr] syntax
  • Implement zaF generate zignatures for all functions
  • Implementzoz 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 and ad8 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, see pd|?
  • 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 with ph
  • 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 into i 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

asciicast

Screenshots:

https://i.imgur.com/hYoNtr3.jpg https://i.imgur.com/hYoNtr3.jpg

https://i.imgur.com/DWueWBt.png https://i.imgur.com/DWueWBt.png

Iaito initial release

A Qt and C++ GUI for radare2 reverse engineering framework - https://github.com/hteso/iaito

https://raw.githubusercontent.com/hteso/iaito/master/Screenshots/Screenshot.png
https://i.imgur.com/53E8AWy.jpg

WASM

WebAssembly or wasm is a safe, efficient and portable low-level bytecode format for in-browser client-side scripting (though can be also used in non-web environments). WASM is an open standard currently under development by the W3C. Its initial aim is to support compilation from C and C++, though other source languages such as Rust are also supported.

Current version is 0x1 (https://github.com/WebAssembly/design/blob/d9bff35e1389ba11c98ccee8cde72bb2f30e922c/BinaryEncoding.md). Bin support aims to be more flexible than the spec and current implementations, for example, it allows disordered and repeated sections, and tries to keep parsing after an invalid section is fou

radare2 - Codename: Refactor Forever

Published by radare over 7 years ago

rfr2

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/, use r2pm plz
  • Fixed many crashes, bugs and regressions
  • Remove assert in GNU's AArm64 disassembler
  • Update uncrustify config file
  • Refactoring of z/ and zs
  • 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 to afl* (which is saved with Ps)
  • Fix #6747 - Implemented @@@= iterator
  • Implement @@/ to temporary set the value of cmd.hit
  • Add rapatch format documentation in wp?
  • pif uses realsize instead of fcn->size
  • New aab command to find basic blocks and identify function heads
  • Vr refresh visual screen
  • Implement aggv like agv, but for the custom graph
  • Implement rabin2 -L [plugin] and iL [plugin]
  • iH support for DEX, MACH0, ELF and PE
  • Implement pxx and pxX 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 ~{} honors scr.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 when af 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 of op.val for stack frame size guessing.
  • Enhancements for aab and abb, codename analblaze, using to be O(1) instead of O(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 in iI
  • 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
radare2 -

Published by radare over 7 years ago

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 ebb75f3d382d2d6d207275fa55ee057ee9b87319
    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:

radare2 - Codename: HopeBells

Published by radare over 7 years ago

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 and afvW to list var read/write accesses
  • Handle f->bits as anal hints and thumb/arm in aa/aae
  • Add afvj as an alias for afvsj;afvbj;afvrj
  • Add afcc and use afc 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. and dmi? 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

radare2 - codename: preccc

Published by radare almost 8 years ago

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 and RABIN2_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 after afta

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
radare2 - 1.0.2: another minor bugfix release

Published by radare almost 8 years ago

  • 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
radare2 - 1.0.1: minor bugfix after 1.0

Published by radare almost 8 years ago

This minor release fixes a build issue that some packagers have reported us and fixes the izzj command

Thanks @alvarofe and @stef !

For full changelog see: https://github.com/radare/radare2/releases/tag/1.0

radare2 - radare2-1.0 aka "Finally"

Published by radare almost 8 years ago

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 supports asm.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 and ec
  • Add autocompletion for wxf and wtf
  • 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 in dc when dbg.consbreak is set
  • Fallback to oo when ood 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 an X86_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 for S 0 0 foo mrwx
  • Implement ?O and r_asm_mnemonics() new API
  • Implement ?Od to list all mnemonics + description
  • Implement Po& and 2 -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 and asm.relsub with asm.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.strings
  • Implement http.log and http.logfile
  • Fix #5997 - Do not permit xrefs on invalid addresses
  • Fix #5968 - search string when malloc://X + wx
  • Initial implementation of flag zones
  • Updated various opcode descriptions (#5948)
  • Ease GIT/GPG integration
  • Fix esil manpage
  • Fix issue in aeso
  • Implement support for recursive help ?*
  • Use RIODesc.detach when serving from RCore
  • Implement RIODesc.detach()
  • Fix call rX hotkeys glitch in disasm
  • Add utf8 rune support for RCons.canvas
  • Correct offset for backwards disassembling with pd -N

Radare2 tools

  • Fixing help issues in rax2

rabin2

  • Implement LC_MAIN and PAGEZERO in rabin2 -C mach0
  • Fix filesize for mach0 in rabin2 -C
  • Make more visible the relation between r2's i and rabin2

ragg2

  • Add linux-arm64 sflib support for ragg2-cc
  • Initial support ndk-gcc in ragg2. Tested for arm64

rasm2

  • Add support for .endian rasm2 directive
  • Support /**/ in a single line
  • Fix /**/ comments in rasm2
  • Initial support for .align in rasm2
  • Support /**/ in rasm2 -f
  • Add support for short jumps in nz
  • Add arm shift ops
  • Update and fix LGPL Z80 disassembler
  • Add segment register handling in nz assembler
  • Assemble 64bit byte mov correctly FIX 6042

Analysis

  • Make anal hint printing more grep friendly
  • Fix #5935 - improvements on ah command
  • Actually use arg_size to advance the stack pointer
  • Nice error display: unk_size, unk_format or unk_size_format
  • Fix issues in emuwrite call args in disasm (#6087)
  • Fix #4497 - Recursive function emulation
  • Fix #5860 - axtj relsub (#5964)
  • Fix aei help text (#5949)
  • More AVR anal ops (#5888)
  • Fixed LCALL for x64 (#5930)
  • Fix dd IX instructions - although only seemed to happen on OSX, not on linux.
  • Fix ed op and fdcb ops
  • Fix fd ops with bad type flags
  • Remove invalid instruction "in f, [c]" which is not referenced in http://clrhome.org/table/
  • Fix bad offsets to ops following removed one
  • Set zf on arm (16 / 32 bits) compare (#6024)
  • Add more arm64 regs
  • Fix movk esil
  • Add long-to-double instruction for anal.dalvik
  • Fixing LCALL for x86 16/32 bit (#5910)
  • Fill the op.type field for STOS and LODS on x86.cs
  • Check that register is not memory i.e. [eax] to generate correct opcode
  • Improved ESIL for x86
  • Disable syscall emulation in esil by default
  • Add sync optype and refix the jmphint glitch
  • Added early returns (#6002)
  • Remove invalid anal str for const-class instruction.
  • Fix #5890 - Assume pushed executable addresses as CODE references
  • Fixed LJMP, added support to segments in JMP, fixed LCALL. (#5920)

Graphs

  • Recursive graph emu (wip)
  • Add recursive reg arena in graph
  • Force comments on graph pds
  • because pds works by parsing also the comments
  • especially for emu strings and symbols
  • Add edges in afll Fix #6092#
  • Add indegree and outdegree in afi and afij
  • Use tinyrange to improve times

r2pm

  • Do not recommend to update after r2pm update
  • Add R2PM_TGZ for r2pm
  • Add R2PM_OLDPWD var for r2pm
  • Add R2PM_SUDO and enhance r2pm -c
  • Fix prompt in r2pm cd

Types

  • Fixing some type error and remove old databases
  • Added windows function prototypes
  • Add some libc functions to types info (#6013)
  • Added more functions for linux/osx
  • Use anal types sdb in emuwrite disasm hints (#6086)
  • Resolve function calls and arguments type
  • Add size_t for 32 / 64 bits
  • Change char * to z instead of *z to work with both
  • register and stack calling conventions
  • Fix parsing error with const
  • Add WORD and PADDR in types-windows
  • Add kernel,processes,.. in types-windows
  • Update linux-arm-64 from android definitions

Numbers:

  • commits: 366
  • fix: 186
  • crash: 7
  • new: 8
  • add: 77
  • anal: 18
  • leak: 2
  • esil: 6
  • debug: 7
  • type: 16
  • oob: 7
  • honor: 11
  • update: 13
  • clean: 9
  • import: 2
  • endian: 3
  • indent: 4
  • command: 12
  • enhance: 5
    • diff:
    • add: 45928
    • del: 25806
    • diff: 20122
.---------------------------------------------------------------------------------------------------------------------.
|                                                    Release 1.0.0                                                    |
|---------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak | esil | endian |                     authors                     |
|--------------|---------|-----|-----|-------|------|------|--------|-------------------------------------------------|
|              |     366 | 186 |  77 |    11 |    2 |    6 |      3 |                                                 |
| binr/radare2 |       7 |   5 |   0 |     0 |    0 |    0 |      0 | pancake alvarofe SztfG                          |
| binr/rabin2  |       5 |   1 |   2 |     0 |    0 |    0 |      0 | pancake alvarofe Hi-Angel                       |
| binr/radiff2 |       1 |   1 |   0 |     0 |    0 |    0 |      0 | pancake                                         |
| binr/rahash2 |       1 |   1 |   0 |     0 |    0 |    0 |      0 | pancake                                         |
| libr/debug   |      24 |  10 |   5 |     1 |    0 |    1 |      0 | pancake alvarofe dromero.perez killabytenow ... |
| libr/bin     |      58 |  29 |  14 |     0 |    0 |    1 |      0 | pancake alvarofe h4ng3r maijin ...              |
| libr/core    |     164 |  88 |  31 |     7 |    2 |    1 |      0 | pancake alvarofe mrmacete maijin ...            |
| libr/crypto  |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                 |
| libr/cons    |      24 |  11 |   4 |     1 |    0 |    0 |      0 | pancake alvarofe                                |
| libr/anal    |      86 |  47 |  29 |     3 |    0 |    5 |      0 | pancake alvarofe killabytenow maijin ...        |
| libr/asm     |      42 |  28 |   7 |     0 |    0 |    0 |      2 | pancake sven alvarofe SztfG ...                 |
| libr/util    |      47 |  25 |   8 |     2 |    0 |    0 |      0 | pancake alvarofe ret2libc bluec0re ...          |
| libr/egg     |       2 |   1 |   1 |     0 |    0 |    0 |      0 | pancake alvarofe                                |
| libr/io      |      20 |  11 |   0 |     1 |    0 |    0 |      0 | pancake alvarofe                                |
| shlr/bochs   |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                 |
| man          |       3 |   2 |   1 |     0 |    0 |    1 |      0 | pancake sre Hi-Angel                            |
'---------------------------------------------------------------------------------------------------------------------'

Contributors: 366 / 31 = ~ 11.806451612903226

54% - 198 pancake
18% - 66 alvarofe
5% - 21 maijin
4% - 15 killabytenow
2% - 10 mrmacete
2% - 9 unlogic
2% - 8 h4ng3r
1% - 5 ret2libc
1% - 4 SztfG
1% - 4 ahmedsoliman
0% - 3 lottmann86
0% - 2 mr.exodia.tpodt
0% - 2 cutlassc91
0% - 2 mo
0% - 2 sre
0% - 1 defragger
0% - 1 dx
0% - 1 dev+git
0% - 1 maykeye
0% - 1 marion-m
0% - 1 qwokka
0% - 1 noahshihabi
0% - 1 kalianon2816
0% - 1 bluec0re
0% - 1 avinash.mankoo
0% - 1 Krishath
0% - 1 philipp.B.610
0% - 1 Hi-Angel
0% - 1 dromero.perez
0% - 1 alex.darredevil
0% - 1 b1ack0wl

radare2 - radare2 0.10.6

Published by radare about 8 years ago

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 to Vvr
  • 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 and p=F
  • Add =!pkt in gdb://
  • Add pP in Vv with afi, 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* and avj to show vtables in r2 and json formats
  • Added rabin2 -X and r_bin_package for FAT and ZIP
  • Added v in VV
  • 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 from af if anal.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). Making asm.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 and cfg.maxzlen to set minimum and maximum length to filter in zg
  • Added src.flush to force flush to console in realtime
  • Added anal.hpskip, false by default.
  • Make asm.reloff less confusing and add experimental asm.reloff.flags
  • Make !? help available via ?!
  • Added scr.color.bytes and rename scr.colorops to scr.color.ops
  • asm.emustr enables asm.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[] as char* in the pf format (use z instead of c)
  • Fix .qword in pd and consider adr on arm64 as lea op
  • Honor hex.cols in pxe
  • 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

Fixes:

radare2 - codename 0.10.5 - PreCon

Published by radare about 8 years ago

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

Contributors: (37)

  • 135 pancake
  • 30 alvarofe
  • 23 maijin
  • 15 oddcoder
  • 9 crowell
  • 9 alex.darredevil
  • 8 xvilka
  • 5 sven
  • 3 chris
  • 3 pvt.gord
  • 3 monosource
  • 3 mrmacete
  • 2 zakaria.addi
  • 2 brainstorm
  • 2 mail
  • 2 mo
  • 2 dlpolanco05
  • 1 reddevillg
  • 1 javierprtd
  • 1 droberson
  • 1 inndy.tw
  • 1 aronsky
  • 1 dreamdance61
  • 1 Owlz
  • 1 n54
  • 1 sdusuel
  • 1 asuarezbm
  • 1 damo22
  • 1 patrikbachan
  • 1 =skuater
  • 1 nikolaih
  • 1 jredestig
  • 1 sushant
  • 1 skuater
  • 1 matt
  • 1 p4n74
  • 1 soez
  • 1 me
  • 1 dx
  • 1 vladimirdiaconescu
  • 1 kalianon2816
  • 1 dario.mail1
  • 1 l4l
  • 1 alexandru.razvan.c
radare2 - Codename 0.10.4 - Padron Peppers

Published by radare over 8 years ago

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, #5108, #4975, #5082, #5058, #5034, #5033, #5020, #5022, #5009, #5010

Changes:

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.

New commands

  • fi[jn*] to list flags in a given range
  • pdaj and pda= to disassemble all possible opcodes, byte per byte.
  • drp. to show the register profile size
  • ecoj to list themes in JSON format
  • pf [size]D
  • aoe and aor to show ESIL and REIL forms of the current opcode
  • ah. to show hints of the current offset
  • afv[bsr] to manipulate args, registers and variables in function
  • wxs to write hexpairs, and seek to the end
  • dpc to select the most recently forked child process
  • dpc* to show the recently forked process pid.
  • ecc [arg] shows color palete with a css syntax
  • pch for a 2 byte C dump mode
  • @o is a new modifier to temporary switch to another fd
  • Adds core.iorw in i
  • Renaming afa, afv and afe to afvb, afvr, and afvs respectively
  • Refactor pia/pda
  • Adds anal.vars variable to toggle variables analysis
  • r2 -I for pre-scripting
  • aa is now equivalent af@@ sym.*;af@entry0;afCa (can you guess what it does?)
  • Added cursor to undo seek history
  • Implement afbr and * sub-variants to list return addresses of current function

Analysis

Now 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

  • Update syscall table for iOS
  • Adds output ports for AVR Atmel8A. Thanks @radare and @oddcoder
  • Implement RSyscall.IO in disasm loop for X86 and AVR
  • Improving variables on ARM (16, 32, 64)
  • Adds asm.hints and handle CDOV deoptimization
  • Possibility to add comment for var/args
  • Add anal.vinfun and anal.anal.vinfunrange for aav (only grab values outside function boundaries)
  • Improving the json format for args/vars
  • Initial import of the bin.avr plugin for atmega8 chips
  • Fix analysis and add ESIL for avr's rjmp
  • Support op->family and some op->cycle for anal.arm64
  • Add MJMP optype, pxt command and enhance anal.jmptbl for x86-64 (wip)
  • Fixed order of arguments in ESIL representation of 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 hint

Debugger

  • Improved support of Linux, Android and *BSD systems
  • Major rework to the native debugger (especially on Linux)
  • Generate coredump - added support for threads and x86
  • Make dbt output aligned to columns based on dbg->bits
  • Breakpoints should now work regardless of the swtep setting
  • Fix build for Linux <= 2.6.32 (coredump not supported)
  • Make dm work on OpenBSD by adding a native _debug_native_map_alloc()
  • Add support for dp and dp* on OpenBSD.
  • Don't print SIGTRAP signals or stops
  • Adds breakpoints into project file
  • Add "clone" to the "dcf" command (#5161)
  • Track how the caller wishes to continue
  • Handle EXIT_PID events differently than DEAD process events
  • Move breakpoint/recoil handling to wait/cont/step
  • Change many wait functions to return RDebugReasonType
  • Better return checking (from r_debug_reg_sync, r_bp_restore)
  • Optimized register synchronization
  • Improved inferior death detection

Assembler/Disassembler

  • Add basic support for N64 RSP processor.
  • Lot of updates in x86.nz:
    • The sil, dil, spl, and bpl registers are now supported
    • lfence, mfence, sfence , bt, fsincos instructions
    • support syntax for add eax, [ecx] and add ecx, [eba +/- 3]
    • Add support for immediate word for sub
    • nz now generates the correct opcode when using a word as an immediate in the sub instruction with a register + offset as the target
    • Adds support for word register offsets and refactors that portion of the code a little
    • Add offset support to add instruction
  • Initial implementation of asm.assembler to select different assembler plugin than the disasmembly one

DEX

DEX stands for Dalvik Executable format, it's the format used by Android binaires.

  • Show classname for static methods in DEX
  • Fix imports and enhance parsing virtual methods in DEX
  • Better names for virtual Dalvik methods
  • Load virtual methods from Dex files

Tests and Documentation

Bindings

Build

  • Support to build on OSX-powerpc
  • Support to build on Linux-powerpc and mips
  • Build target armel (not armhf), for legacy armv5-like devices

Optimization

  • Huge optimization of some internal structures by @crowell

Usability and Visual mode

  • Greatly improves the display of process listing
  • lea instructions got hotkeys support
  • Visual mode for editing bits Vd1
  • The www/m web interface got a new statusbar and a split view
radare2 - Codename 0.10.3 - The Bleeding Tooth

Published by radare over 8 years ago

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.
Package Rankings
Top 28.19% on Pypi.org
Badges
Extracted from project README
Latest packaged version Tests Status build tcc CII Best Practices Build Status Discord Snap package Termux package Alpine Linux Edge package Alpine Linux 3.19 package Alpine Linux 3.18 package Arch package AUR package EPEL 7 package EPEL 8 package EPEL 9 package Fedora Dev Fedora 40 Fedora 39 FreeBSD port OpenBSD port pkgsrc current package Homebrew package MacPorts package Haiku Ports Void Linux Ubuntu 24.04 package Ubuntu 23.04 package Ubuntu 20.04 package Ubuntu 18.04 package Debian Unstable package Debian 12 package Kali Linux Rolling package