radare2 5.4.2 releases: unix-like reverse engineering framework and commandline tools
r2 is a rewrite from scratch of radare in order to provide a set of libraries and tools to work with binary files.
Radare project started as a forensics tool, a scriptable command-line hexadecimal editor able to open disk files, but later support for analyzing binaries, disassembling code, debugging programs, attaching to remote gdb servers, …
radare2 is portable.
The main tool of the whole framework. It uses the core of the hexadecimal editor and debugger. radare2 allows you to open a number of input/output sources as if they were simple, plain files, including disks, network connections, kernel drivers, processes under debugging, and so on.
- 6502, 8051, CRIS, H8/300, LH5801, T8200, arc, arm, avr, bf, blackfin, xap, dalvik, dcpu16, gameboy, i386, i4004, i8080, m68k, malbolge, mips, msil, msp430, nios II, powerpc, rar, sh, snes, sparc, tms320 (c54x c55x c55+), V810, x86-64, zimg, risc-v.
- File Formats:
- ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, OMF, TE, XBE, BIOS/UEFI, Dyldcache, DEX, ART, CGC, Java class, Android boot image, Plan9 executable, ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), WASM (WebAssembly binary), Commodore VICE emulator, Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs, various filesystems.
- Operating Systems:
- Windows (since XP), GNU/Linux, OS X, [Net|Free|Open]BSD, Android, iOS, OSX, QNX, Solaris, Haiku, FirefoxOS
- Vala/Genie, Python (2, 3), NodeJS, Lua, Go, Perl, Guile, php5, newlisp, Ruby, Java, OCaml, …
radare2 v5.4.2 has been released.
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
ddcommand in debugger mode
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
- Fix emulation of xchg rax, rax
- Fix 16 bit pop/push sizes
aoeqcommand with just the esil expression
- Correct FPU and SIMD register types
lsoutput 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
- 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
- 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
- Add more tests, ensure projects exists
- Ravc2 – added rimraf, and reset action
- 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
- 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
Copyright (C) 2013 radare