Radare2: v3.3.0 Codename: BONELESS PIZZA

02/19/2019 12:37 pm

Radare2: v3.3.0 Codename: BONELESS PIZZA

Radare2 3.3.0 – Release Notes

  • Version: 3.3.0
  • From: 3.2.1
  • To: 3.3.0
  • Commits: 402
  • Contributors: 51

Radare2 3.3.0 – Changes

iOS

  • Implemented aao command to analyze all the objc xrefs
  • Remove some false positive xrefs
  • Added asm.str.lea to avoid false positive strings in ARM64 code
  • Improve string discovery on ARM32 binaries
  • Added support for DYLDCACHE v3
  • Update and improve the build system for the ios-sdk zip
  • Specify minOS to 10.0 on iOS builds

Android

  • Added RAnalOp.datatype
  • Improved Dalvik ESIL emulation
  • Fix control flow analysis issue when analyzing monitor instructions
  • Identify ‘android’ ELF binaries (instead of linux).

Thumb/ARM/ARM64

  • Improved aap (function prelude analysis)
  • Fix ARM64 assembler for MSR/MRS instructions
  • Fix assembling for “b 0” on arm64
  • Improved pseudo disassembly/decompilation for some more instructions
  • Fix pseudo for movt Thumb instructions

Analysis

  • New ‘aaF’ command for fast single-bb function boundaries
  • Improved function autonaming rules
  • Handle fake soft-calls in ARM/Thumb
  • Added emu.lazy (improves analysis times (30% faster))
  • Implement aflm to list functions in make syntax
  • Added aht to change opcode type hints
  • anal.noncode variable has been removed completely, now anal.in=io.maps.x
  • Added mips64 calling convention information and register profile
  • Improve anal.eobjmp (bug spotted after almost killing iosections)

Build/Portability

  • Fix build and improve support for WSL (linux-on-windows thing)
  • Switch to capstone-master, the other branches change too frequently
  • Add an option to disable the ptrace-wrap layer
  • Implement debug process status in OpenBSD
  • Keep supporting capstone3

Threads

  • Implement T=&, & Po and many more
  • Better background http server
  • Implemented HTTP AUTH support for remote authentication.
  • system calls are now also supported by tasks

Windows

  • Improve backslash path support
  • Implement self:// (io regions)
  • Implement r_file_copy () using the native api
  • Implement r_cmd_str_full_w32()
  • Properly autoname import trampoline functions without anal.autoname

WebAssembly

  • Fix conversion f32.const or f64.const
  • WebAssembly improvements in branch lines and namings
  • Fix a little bug in wasm type section parsing
  • Expose the WASM exported symbols
  • Initial support for atomic instructions

Disasm/Hex/Graph

  • Added graph.few to
  • Mips variable information is now displayed inside the MIPS disassembly
  • Improve infinite loop instructions support (better ascii art, analysis info, search command)
  • Added c1 command to compare bits between two different addresses
  • Support hex.compact in pxa, improved 2 dimensional visual mode
  • Added pgm command to print visual gadgets
  • Add more clippies

Types/FunctionSignatures

  • tfc – manage function calling conventions in real time
  • Added function signatures for darwin (improve disasm output on mac/ios)
  • Class information out of analysis is now saved in SDB and uses events
  • Added bbsum and vars metrics for zignatures
  • Add support for typedef
  • Added several more function signatures for macOS and iOS
  • Shorten local var and type names

Exploiting

  • ragg2 now supports appending strings
  • Implement visual rop gadget mode

Search

  • Fix  – Implement /c[vV][j] /cej to search for code immediates
  • Fix – Implement /ai to search for infinite loop instructions
  • Implement /a1 to find all instructions by changing 1 byte

Binaries

  • Added new command iF to show binary hashes (honors bin.hash)
  • Support .plt/.plt.sec in ELFs
  • Improve support when loading Sega Genesis binaries

Refactorings

  • Kill r_json API
  • Kill R_ASM_BUFSIZE constant (everything is dynamic now)
  • om=, iS=, dmh* and other commands now honor the colorschemes
  • New r_alloc api to have aligned allocations
  • Improve backticks and scr.color support
  • rap:// is now r2p:// using r2p and r2pipe apis, to clarify its uses
  • r2 -t is disabled but async task support has been improved a lot
  • Use PJ api instead of hardcoded printfs, improving the json output quality
  • List uris on io plugins as separate from the description
  • Kill RIOSection
  • Refactor/Unify/Optimize RSpaces in RFlags
  • Remove global variables in rasm2
  • Added more fortune messages and more clippies
  • Upgrade SDB to solve a memory consumption bug
  • Documentate yfx/yw/ywf/..