Skip to content

radare2-2.5.0 - eknad

Compare
Choose a tag to compare
@radare radare released this 09 Apr 22:02
· 14721 commits to master since this release

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