Skip to content

Releases: radareorg/radare2

codename: SleepyNull

09 Jul 14:35
Compare
Choose a tag to compare

radare2-2.7.0 -- SleepyNull

This release brings a lot of improvements in the analysis and visual representation. Things like improved variable detection, types inference, extended jump tables detection are now enabled by default (see afta command for the variables and types inference). A lot of small fixes to make visual modes even prettier than before: Unicode support across visual modes and strings, bugfixes, and enhancements of the visual panel's mode, extended autocompletion. Big amount of these changes was brought in by our beloved Google Summer of Code students and external contributors.

There is one more notable big change - background tasks, improving the responsiveness of radare2 in visual mode and from r2pipe.

File formats

  • Fix ELF issue with null SHT entries

Architectures

  • Fixed ARM instruction filtering
  • Major fixes in SH analysis and ESIL uplifting
  • Fixes in PPC analysis and ESIL uplifting
  • Add support for PIC Midrange & Enhanced Midrange

Analysis

  • Improved arguments detection
  • Improved register-based arguments and variables analysis
  • Initial support of C union types
  • Add op.ireg/scale to ARM and apply that in type link
  • Use RAnalop.dst/src across different architectures for immediates' value analysis
  • Initial support for type inference across function calls
  • Add double pointer dereference analysis
  • Initial work on type inference based on instruction access pattern

Visual mode

  • Support for Unicode strings
  • Support for graphs in panels mode
  • '-' and '|' keys for a horizontal and vertical split in panels mode
  • Improvements and fixes of graphs reflow and rendering
  • Fold cases of switch cases to the same address
  • V!d <-> V!D : for consistency with visual mode (Vd)
  • Add backspace as an alias for q in Vb
  • It's now possible to display the real names of flag, instead of an r2-mangled one
  • Improve vv visual function browser
  • Improve vv: vvR, vvd and colorize title
  • Add the ability to select a column with tab to scroll with jk in disasm
  • Handle JK in vv, add _hud
  • Visual function browser - enter seeks to the function
  • In visual panels make JK scroll more instead of change frame selection

Graphs

  • Add colorized shortcuts to (mini)graph
  • Improve jum-tables edge positioning
  • Merge edges with the same origin/destination

Configuration changes

  • Removed anal.split and anal.bb.split
  • Removed unused cmd.graph
  • Added anal.endsize
  • Added asm.imm.str to autodetect strings as immediates
  • Added asm.xrefs.fold to fold big amount of references
  • Added asm.flags.real to show real (unescaped) flag names
  • Substitute asm.lines with asm.lines.bb
  • bin.maxuniblocks - max number of Unicode blocks that a UTF string can consist of
  • Bring back io.pava (EXPERIMENTAL)

Debug

  • Various fixes and improvements in remote WinDbg support
  • Implement dpt for windbg plugin
  • Fix F1-F9 debugging keys
  • Implement named breakpoints with support for expressions

New and changed commands

  • !!!: for registering autocompletion logic
  • Improve aod: aod* is now aoda, aod. is aod
  • Support for using variable name in tp
  • Implement $r{} to access register values by name
  • Added -ee to rabin2 -g
  • Make dm. output like dm and add dmq.
  • Implement ?d* to list all opcode descriptions
  • Implement {flag} to get flag size
  • Add ahr command to set hint for function return values
  • Implement tpx command to accept sequence of bytes
  • Honor @x in pf
  • Renamed command agt to abt
  • Support 0xff.. syntax for RNum
  • Implement rax2, rahash2, r2pm, … as r2 commands
  • Implement omo and oq. commands
  • Implement omq.
  • Implement ompd to depriorize a map
  • Implement dbi addr and dbi.
  • Added agA global graph and agR global graph
  • iSSj: json output for iSS
  • Add afls to sort function list
  • afls->afl+, sort afls help
  • Add &t command
  • Added json version of dp*
  • Added json list to debug plugin list dL
  • Extend output of ao to show ireg, scale, ...
  • Show cycles, failcycles and delay in ao, as it was in aoj
  • Renamed ?d into aod
  • Moved r2 segment cmds from iS* to iSS*
  • Use segment. prefix for segment flags in set mode
  • Moved segments from rabin2 -S to rabin2 -SS
  • Implement rafind2 recursive search ability
  • Make equiv flags for rabin2 -g more future-proof
  • Added wordhl and linehl color theme options to set highlight color

Codename: Salty peas

02 Jul 11:18
Compare
Choose a tag to compare

** This is a quick release for the pass-the-salt conference to make @xarkes and Cutter happy. **

Expect 2.7.0 release with proper release notes, testing and bug fixes in a week.

2.6.0

21 May 01:30
Compare
Choose a tag to compare

Release 2.6.0 - codename Rome

Tarballs

Highlights

  • new iOS dyld cache parser
  • mergelib is now
  • Rename a lot of asm. variables
  • Implement dmh* and dmhj
  • Autocomplete for 's+ '
  • Add support for the Zig programming language
  • Initial import of the flag tags registry
  • Add ?e? help and Implement '?ep' to print PIE charts
  • pdf works as expected now :)
  • arm asm.varsub supports asm.pseudo for fp
  • Initial implementation of flag tags
  • Implement iO as a frontend for !rabin2 -O
  • Allow asm.highlight color change thru ec line_highlight
  • More uniform xref type output , single, global xrefs API (Thanks to Riccardo Schirone,pancake,rene)
  • Add sepia theme
  • New command: pdRj
  • Add pxr in visual mode (VP)
  • Implemented rax2 -i functionality, to mimic xxd -i
  • Created signing script and added to build.sh
  • Ragg2-cc is now completely erased from r2 (merged into ragg2)
  • Add support for more jump tables
  • Honor RAnalHints and optimize aac
  • Improve leahints to handle UJMP references
  • Implement wtff to dump with offset in name
  • Make /m create flags
  • jmptbl detection now tries to identify table size and default case
  • Highlight seek line using different background color
  • Better graph box colors for the bold theme
  • Fix agv color boxes for some themes
  • Initial work on supporting pauseable CoreTasks
  • Add asm.meta, and make magic when disabled. Fix sys/rebuild.sh cs
  • Add initial temp breakpoint support (#9845)
  • Add float and double to the default types
  • Initial work to support entropy graphs in rahash2 via r2
  • Implement 'aaf' analyze all functions. using afr and hasnext
  • Improve leahints
  • Add Input regs and oneliner @W and @r outputs in aea*
  • Vr now toggles asm.*hints
  • Reimplement VbC in C and drop it from Vcjr
  • Add flag at both offset and value for /V
  • Fix aos by enlarging the blocksize
  • Fix use after free and oobread in pf command

Graphs

  • Added import graph; updated ag? help
  • Initial support for agd output formats
  • Added data graph (aga) with all output formats
  • Add jpg, svg, pdf.... extensions for 'w' graph output format
  • Support for every output format for callgraph (agc and agC)
  • Support every output format for the bb graph
  • switch/case edges are now also added to graph view via afbe

Types

  • Refactored and optimized afta command
  • Refactored and improved afv* commands
  • Manage types enum more properly
  • Array of struct now works with ts
  • Implement tss to show struct size
  • Implement ts* command

Build

  • Bring back libr.* targets in libr even without BUILD_MERGED
  • Fix static build
  • Minor improvements for the makefiles
  • Fixes for the ios-sdk build
  • Meson: remove duplicated io_plugins entries
  • Meson: make git executable optional

radare2-2.5.0 - eknad

09 Apr 22:02
Compare
Choose a tag to compare

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

2.4.0: Chussy Chaber

05 Mar 17:16
Compare
Choose a tag to compare

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

Codename: DirtyHarry

29 Jan 12:31
Compare
Choose a tag to compare

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

r2-2.2.0 Tió De Nadal

24 Dec 18:50
Compare
Choose a tag to compare

tio

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

screen shot 2017-12-24 at 19 17 23

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)

Codename "onhold"

27 Nov 12:40
Compare
Choose a tag to compare

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

r2-2.0 aka "shiny-nibbles"

10 Oct 09:57
Compare
Choose a tag to compare

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:

Read more

radare2-1.6 aka Digital Lettuce

11 Jul 18:17
Compare
Choose a tag to compare

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