@radare radare released this Oct 15, 2018 · 262 commits to master since this release

Assets 2

Release 3.0.0 (codename: its-still-radare2)

Portability

  • Fix build for GNU/Hurd by removing the PATH_MAX usage (#11816)
  • Make r_sys_usleep use clock_nanosleep (#11410)
  • Make compilation on Raspberry Pi more user friendly (#11379)
  • Fix signbit build problems for android-arm
  • Scripted dynamic building of alpine docker image (#11515)
  • Reimplement TCP Server with libuv and add configure/meson flags (#11403)

Binaries

  • Improvements for ELF section resizing
  • Fix entrypoint resolution when program headers is missing
  • Improve program headers handling in ELF
  • bin/demangle: demangle names that end with @@CXXABI
  • Improve the language detection for Rust, C++ and LLVM block extensions
    • Detect binaries compilers with sanitizers (#11479)
  • Parse CodeSign blobs and compute SHA1/SHA256 in Mach-0 binaries (#11491)
    • rabin2 -OC, WIP requires proper refactoring and redesign

IO

  • Make r_io_plugin_{read,write}_at not seek character devices.
  • Add r_io_{desc,fd}_is_chardevice.
  • Add r_io_desc_open_plugin.

Visual

  • Added window mode in visual panels
  • Show column headers in RBin info (r2con) (#11444)
  • radare2: Try to detect color support and set scr.color accordingly. (#11420)
  • Fix #11455 - Implement internal less pager with scr.pager=.. (#11548)
  • Use full screen in r_cons_less (last line was not used before)

Debugger

  • Watchpoints menu is back and Breakpoints menu is improved a bit (#11544)
  • Fix #11509 - Handle segfault signal in the macOS and iOS debuggers (#11557)
  • Use PT_ATTACHEXC and PT_SIGEXC on mac to get BSD signals as XNU exceptions
  • Fix debugging in FreeBSD 11.2 (#11726)
  • Introduce ptrace-wrap, to support multi-threaded debugging in Linux

Analysis

  • Add initial documentation for ARMv8 PAC instructions
  • Upgrade arm.gnu disassembler to support ARMv8.3 (#11691)
  • Improve MSP430 function boundaries analysis
  • Detect function prefixed with __libc_ and __GI_ (#11663)
  • Add aang to recover function names from stripped Go binaries (#11594)
  • C-Sky and MCore support for r2 (#11448)
  • Improve ARM and X86 ESIL emulation
  • Zignatures now support sha256 bbhash
  • Fix #11437 - syscall calling conventions for x86-64 (#11549)
  • print class name in avra (#11486)
  • Fix ESIL x86-32 for 'push esp' (#11384)
  • Implement API for loading interrupt handlers (thx @vifino)
  • ESIL CHANGE: The == operation should not push any value back on the stack, use $z and NUM for this (#10006)

Disassembly

  • Add asm.usercomments to disobey asm.comments (#11620)
  • Improved X86 assembler
  • Fix asm.describe=1 when asm.cmt.right=0 (#11803)
  • Make up graph with new UTF-8 character for the backward lines (#11770)

Commands

  • Command repeat (prefix syntax) is now ut64 (#11656)
  • Handle partial address seeks directly from RNum (#11664)
  • Add commands to print ASN1/DER/PKCS7 in normal and quiet modes (better than openssl asn1parse), added more OIDs
  • Fix #11071 - Implement 1u8, 1u16, 1u32, 1u64 in RNum (#11765)
  • Updated help messages and new ?$? variables
  • Fixes in pCx, pxr, pd-, pd--, pae, pade,..
  • Improve the t subcommands with JSON output
  • Fix #10290 - Support R2_ and without prefix in r2 -H
  • Add pFo, parse certs from Mach-0's cdhash and minor X509 cleanup
  • Added cmd.load: Run when binary is loaded (#11483)
  • Implement the _ (underscore command) to print the output of the last command

Refactoring

  • Fix #11616 - Remove the use of RMemPool and update some comments for future discussion (#11665)
  • Enabled UBSAN (Undefined behaviour, improve stability on ARM/MIPS platforms)
  • Enabled coverage checks in Travis CI, added Coveralls bot
  • Enabled ASAN in Travis CI for passing tests
  • Fix GCC 8 warnings
  • Fix a lot of undefined behavior thanks to the r_assert API
  • autogen.sh now uses r2pm to update acr
  • Use more sys/indent.sh -i (supports clang-format)
  • Fix a lot of memory leaks
  • Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC)
  • Unify R_IO, R_BIN, R_BP, .. into R_PERM_* using 1 letter syntax
  • Huge speed up thanks to updated SDB, which fixes the hashtable implementation making it use less memory and perform better

Heap

  • dmh with glibc now works without symbols
  • linux_heap_glibc: fix dmhf and allows dmhf @thread_arena (#11441)
  • linux_heap_glibc : dmha and dmht, check threaded arenas free status (#11390)

Bugs

  • syscall: do not reload sdb database if nothing changes (#11801)
  • Fix more crashes related to the RStrBuficization of RAsmOp
  • Added main detection for linux64 endbr64 (#11731)
  • Implement bruteforce block to find hash collisions (#11595)
  • Fix SHA digest alignment issues found by UBSAN (#11596)
  • Fix #10408 bitwise rotations in RNum (#11508)