radare2 5.7.2 releases: unix-like reverse engineering framework and commandline tools
Radare2: Unix-Like Reverse Engineering Framework
Introduction
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.
It implements an advanced command line interface for moving around a file, analyzing data, disassembling, binary patching, data comparison, searching, replacing, and visualizing. It can be scripted with a variety of languages, including Python, Ruby, JavaScript, Lua, and Perl.
- Architectures:
- 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
- Bindings:
- Vala/Genie, Python (2, 3), NodeJS, Lua, Go, Perl, Guile, php5, newlisp, Ruby, Java, OCaml, …
radare2 v5.7.2 has been released.
Changelog
anal
- Add op->cycles for M68K move
- Set data alignment of m68k CPUs
- Use r10 as SP and as an sp alias on arm64
- Fix archinfo for BPF
- Add icg str argument for filtering classes to graph
- Add z vector registers for ARM64 in the register profile
- Add R_REG_TYPE_VEC
- Remove dead code
- Add esil support for VMOVDQU in anal_x86_cs.c
- Fix ARM ujmp op type with rjmp & mjmp
- Fix #20215 – Handle op->direction in XOR x86 instructions
- Reduce LOC of i4004 assembler (only use gperf for 1 byte instructions)
- Move i4004 asm to anal
analysis
- Set data alignment of m68k CPUs
- Use r10 as SP and as an sp alias on arm64
- Fix archinfo for BPF
- Add icg str argument for filtering classes to graph
- Fix ARM ujmp op type with rjmp & mjmp
arch
- Fix reg profile, add archinfo and opinfo for bpf.cs
- Initial import of the asm.bpf plugin from extras
- Add initial anal.bpf.cs plugin + disasm tests
asm
- Support tbz,tbnz,rev16,rev32 instructions in the arm64 assembler
- Support cset and sxt(b,h,w) instructions in the arm64 assembler
- Support mnemonic list for all Capstone-based plugins
- Support ccmn and csel instructions in the arm64 assembler
- Support more arm64 instructions
bin
- Fix #17174 – Add the flagname and real symbol name details in the output of icj
- Better handling of invalid/corrupted wasm files
- Use RPVector for wasm imports
- Use RPVector for wasm data section
- Refactor wasm start section parsing
- Move RBinWasmObj-code to RPVector
- Wasm use rpvector on elements
- WASM use RBinWasmObj in vector parsing
- Update wasm tests for exports
- Fix wasm iE duplicates
- Rename wasm subection index member to sec_i
- Change wasm subsections into RPVectors
- Use RPVector for wasm tables entries
- Use RPVector for wasm memmories entries
- Use RPVector for wasm global entries
- Refactor wasm and add function section parsing
- Remove unsed buf_read_new from wasm parser
- Refactor wasm vector sub-section parsing
- Add wasm function sub-section parsering
- Fix ELF default arch of x86
- Avoid false positives when loading s390 modules
- Refactor wasm function types
- Wasm allow partial custom name parsing
- Wasm iE improvment
build
- Windows builds include debug information by default
- Add macos-m1 GHCI builds
- Update v35arm64 to fix build on riscv
- Massage MAKE_JOBS for sys/debian.sh too
- Remove the r2p symlink on Make purge
cons
- Fix/clarify the use of cons.vtmode/line.vtmode/vmode
- Reduce stack in RLine.histLoad() and early return on windows to fix a crash
core
- Fix fortune file detection
- Make the gnu disassemblers thread safe
crash
- Fix oobread in RTable exposed via an ELF reproducer
- Fix #20336 – wasm bin parser
- Fix oobread in wv
- Fix #20248 – DoubleFree in RCons.pop() triggered via RCore.cmdStr()
- Fix infinite loop in gdbserver
=g
- Fix several bugs in the RStack API
disasm
- Fix negative on unsigned value in v850.pseudo
- Update to the latest capstone to fix a bug for BPF
- Fix #17961 – missing flags in asm.reloff=1 + scr.color=0
doc
- Add ABI stability explanation
esil
- Fix SHRD instruction ESIL
- Add ESIL to the anal.bpf.cs plugin
io
- Fix bug in io_ihex
- Optimize io.open() by skipping plugin iteration if no uri found
- Add stdin:// uri handler in the io.malloc plugin
parse
- Make existing types available to r_parse_c_string
- Fix #20310 – Handle help suffix on more pd subcommands
- Convert pf d specifier to hex dword
r2pipe
- Fix: pthread_create: Resource temporarily unavailable
r2pm
- Handle R2PM_UNINSTALL on Windows
- Fix environment message for the package manager
- Improvements in the native r2pm, being able to install samu and muon
refactor
- Merge asm.avr into anal.avr
- Merge asm.xap into anal.xap
- Merge asm.i8080 into anal.i8080 and add a test
- Merge asm.xcore_cs into anal.xcore_cs
- Merge asm.amd29k into anal.amd29k
- Merge asm.h8300 into anal.h8300
- Merge asm.lh5801 into anal.lh5801
- Merge asm.cr16 into anal.cr16
- Merge asm.v850 into anal.v850 and add a test
- Merge asm.malbolge into anal.malbolge
- Merge asm.v810 into anal.v810
- Merge asm.pdp11 into anal.pdp11
- Merge asm.6502 into anal.6502
- Remove more R_TH_LOCAL in TCC
- Remove excess zeroing in anal_bpf.c
- Merge asm.riscv.cs into anal.risc.cs
- Move asm.pyc to anal.pyc
- Merge asm.nios2 into anal.nios2
search
- Honor cfg.bigendian in /v subcommands
shell
- Fixes for the R2_FORTUENS system and home paths
- Fix history file path construction
- Fix error message in e- when resetting in debugger
- Remove newline in date and pt. output
- Expose R2_HISTORY in r2 -hh and r2 -H to locate history file
tests
- Add Capstone aoml cases
- Generate r2r.json for profiling the testsuite
- Sort lines in
r2r -h
- Use absolute path for r2r -o
tools
- Fix disalignment glitch in rasm2 -L and rasm2 -LL
util
- Compile-time optimization for r_str_startswith()
visual
- Fix arrows in visual prompt on windows cmd
V:
windows
- Autoset vtmode=1 or 2 depending on shell or visual
- Detect cmd.exe as vtmode=2
- vmode fixes visual shift issue in cmd.exe
- Support building windbg plugin under mingw
Download & Tutorial
Copyright (C) 2013 radare
Source: https://github.com/radare/