Radare2: 5.4.2

09/20/2021 10:56 am

Radare2: 5.4.2

CI / build and portability

  • Added macos-arm64 (M1) builds into the CI
  • Add configuration file for Vinix builds
  • Improve the CI to keep consistent directory names in dist zips

Windows related fixes

  • Fix w32 and w64 builds by not statically linking the runtime
  • Dynamically load more vista-related APIs to fix w32 startup crash
  • Support VS2019Pro, not only the Community toolchain in preconfigre.bat
  • Arrow keys working again in the prompt
  • Fix crash in dd command in debugger mode

Signatures

kudos to @swoops for those awesome improvements

  • Add support for collision calculations, improving speed in matches
  • rasign2 is now able to generate signatures for archive files (.a)
  • Load signatures from sdb file
  • Implemented ‘next’ signature types to detect functions based in context

Esil

  • Fix emulation of xchg rax, rax
  • Fix 16 bit pop/push sizes
  • Add aoeq command with just the esil expression
  • Correct FPU and SIMD register types

Shell

  • ls output is now alphabetically sorted
  • Add ‘woi’ command to inverse the contents of the block
  • Add isotp:// io plugin to let r2 talk to your car.
  • Autocomplete options in asm.assembler
  • Cleanup and fix some uaf bugs in @@@ actions
  • Fix glitch when moving cursor when scr.color=0
  • The o and mg commands now accepts base64: argument
  • Add s. and s.? commands to reload current block (same as s $$)
  • Fix /ai search for arm64 movs instructions
  • Handle ^C in @@ and @@@ as well as in macros
  • Support fish and tcsh

Disasm and Analysis

Kudos to @Lazula for properly analyzing and fixing the 15yo disasm bug! great job!

  • Fix a 15 year old bug that was causing invalid disassembly when doing large listings
  • Add anal.cs variable to better support segmented memory addressing
  • Detect inlined strings in immediates using the movabs instruction under some circunstancies
  • Improve x86.nz assembler for better handling register/argument size

RBin

  • Fix loading PE binaries with tiny segments (like 1 byte in size)
  • Projects containing PE binaries don’t break after reopening now
  • Add support for COFF files for ARM

Projects

  • Add more tests, ensure projects exists
  • Ravc2 – added rimraf, and reset action

Scripting

  • Fix flagspace issue spotted when using it via r2pipe and ccall://
  • Add REXX scripting support
  • Fix loading r2ghidra when using r2 via r2pipe (RTLD issue only for Linux)
  • Previously the whole configuration was serialized to disk on every command, this is now gone

Security

  • Fix some null derefs found in RCons, RConsGrep
  • Oob read in macho parser
  • Fix crash caused when io.cache was set
  • Support non-PIE builds (required for Vinix)
  • Support any value in http.webui fixing for the new wip webui
  • Add rmrf command for recursively removing directories