@radare radare released this Aug 7, 2018 · 536 commits to master since this release

Assets 2

This is refreshing summer release of radare2 intended to relieve heatwave across the globe. These weeks team of radare2 developers and external contributors fixed a ton of annoying bugs in various parts of the framework. A lot of improvements and fixes were done by our beloved GSoC students. This release doesn't bring a lot of new features, focusing mostly on improving stability, interface beauty, consistency across different radare2 parts, and increasing autoanalysis precision.


Build system

  • This release improved meson buildsystem support for different platforms. A lot of work was done to ease the life of package maintainers allowing to decouple some of radare2 dependencies.
  • Switch to capstone master branch


  • ESIL improvements in different architectures
  • Added esil.breakoninvalid to break on invalid instruction
  • Types propagation
  • Parsing [s]printf-like format strings for argument types

File format

  • Initial revival of .NET PE binaries support ("xtr.pemixed" plugin)


  • Add support for GDB watchpoints
  • Add gdb support for Renesas/NEC V850 architecture
  • Various GDB and WinDbg remote clients fixes

Commands' changes

  • Improved history handling and autocompletion
  • Remove address argument from most of `ag*`` commands
  • Added aecc (continue until call)
  • Added zfs **.sig to load all signature files
  • Implement ?vx command
  • Implement ls -q and lsq commands to list files in quiet mode (one file per line)
  • Cd. to show size of data at current address
  • Add a verbose option for afta to increase visibility on missing database input
  • Autocomplete L <file>
  • Added command Ct to add type analysis comments
  • Add &b command

Visual mode

  • Refactored canvas and panels code, Unicode support everywhere
  • Improved panels and graphs drawing performance
  • Autocompletion widget
  • Improved colored highlight of the types, variables
  • Implemented [1][2] jumps for panel mode
  • New r2 colorscheme (onedark)
  • Compacting the disassembly output - xrefs, variables
  • Add '#' key to toggle graph hints
  • Dotted conditional jump lines (e graph.dotted)

@radare radare released this Jul 9, 2018 · 847 commits to master since this release

Assets 2

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


  • 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


  • 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


  • 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)


  • 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

@radare radare released this Jul 2, 2018 · 942 commits to master since this release

Assets 2

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

@radare radare released this May 21, 2018 · 1371 commits to master since this release

Assets 2

Release 2.6.0 - codename Rome



  • 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


  • 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


  • 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


  • 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

@radare radare released this Apr 9, 2018 · 1684 commits to master since this release

Assets 2

Codename - eknad

Binaries: http://radare.mikelloc.com/get/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


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.


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!


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.


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

@radare radare released this Mar 5, 2018 · 2004 commits to master since this release

Assets 2

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


  • 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


  • 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


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


  • 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

@radare radare released this Jan 29, 2018 · 2366 commits to master since this release

Assets 3

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


Release 2.3.0 - use latest acr 1.4


  • 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


  • 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


  • 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

@radare radare released this Dec 24, 2017 · 2697 commits to master since this release

Assets 2


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

screen shot 2017-12-24 at 19 17 23


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


  • 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


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


  • 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)

@radare radare released this Nov 27, 2017 · 2922 commits to master since this release

Assets 3

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 radare2 for all iOS archs and the simulator
  • Major enhancements for the Meson scripts


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


  • 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
  • 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)
  • 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)