radare2 v0.10.6 codename: Sleepy Autumn – unix-like reverse engineering framework and commandline tools.
Changelog radare2 0.10.6 codename Sleepy Autumn:
* Implement oom to reopen file in malloc://
* Add zs as an alias for z/
* Implement zo command
* Rename command Vvm to Vvr
* Implement drb[1,2,4,8] to display hexdump of gpr arena
* Implement ?en command to echo without newlines
* Implement zG exact-match zignatures support
* Add p=0 and p=F
* Add =!pkt in gdb://
* Add pP in Vv with afi, pds, pdc, pdr, pdf
* Add @@b iterator for all the basic blocks
* Add ?w to show what is in the given address
* New z. command, that performs zignature match by function. It works for a given offset with @ addr, so with @@ fcn* it can be run against all detected functions of the bin.
* Add Ve$ command to see vars in visual
* Add ?$ to show the value of all variables
* Add @@f foreach iterator to walk all the functions
* Support @@f: to iterate over all functions matching a name
* Implement Vv[JK] to scroll pages of functions
* Extend oa to load a different bin and handle riodesc properly
* Initial support for afta command
* Implement@@i to iterate over all instructions
* Added av* and avj to show vtables in r2 and json formats
* Added rabin2 -X and r_bin_package for FAT and ZIP
* Added v in VV
* Implement axf that try to resolve function names for ‘C’ refs
File Format Parsing
* Better support for COFF
* ELF and Mach are more endian awareness
* Speed up load times for ELF and Mach binaries
* Improvements in ELF to detect overlapped symbols
* Enhancements in DEX parser
* Fixing ds in x86 (#5802)
* Bring back to live dcs
* ds on call and jmp (#5785)
* Add Win10 profile to WinDbg module (#5805)
* Coredump support for ARM
* Added support for conditional breakpoints running r2 commands
* Fix swstep on x86-32 for CALL/UCALL/UJMP instructions
* Fixes for dr[*]<num>
* Fix command do in windows
* Fix dr command to get segments registers
* Fix dbic <index> <cmd> parsing
* Properly handle 32/64 bit spawning on OSX
* Reduce the requirements of dko to any reason with a signum (#5806)
* Honor asm.varsub and asm.relsub in axt
* Several fixes in xtensa
* Implement cfstring support for ARM/Thumb binaries
* Child thread heap analysis support (#5741)
* New opcodes and operations in AVR anal plugin
* Added xtensa calling convention (#5731)
* Initial ESIL support for xtensa
* Major improvements in zignature and better tested.
* Dalvik improvements
* Added option to load types manually (#5550)
* Basic merge of no return function with types db (#5774)
* Handle LDR instructions properly in ARM64 for static analysis
* Add initial function list for osx-64
* Extend arm64 regprofile for 16 and 8bit registers
* Always run afva from af if anal.vars is set
* Fix aae command arguments handling
* Documentation on ESIL for AVR
* Add AVR opcode ESIL for ASR instruction and bugfixed comma eater
* Fix stack alignment bug in anal.arm64.esil
* Use 32 bit calling convention for ARM Thumb
* Add and use tinyrange.c: get 10% speedup in analysis
* Integrating asm.calls with function types database (#5761). Making asm.calls true by default
* Reduced Cydia package size by removing development files 79MB -> 19MB
* Optimized ios build for size (7MB -> 2.8MB)
* Changed sys/ios-static.sh to generate easy-to-deploy tarball
* Added sys/ios-static-appstore.sh
* Fix build and basic run of the ios-arm64 debugger
* Added eval asm.cmtrefs -disabled by default-. When enabled, it shows the flag and comment that is at the ref of the current instruction.
* Eval asm.relsub true by default
* Eval asm.leahints false by default
* Added cfg.minzlen and cfg.maxzlen to set minimum and maximum length to filter in zg
* Added src.flush to force flush to console in realtime
* Added anal.hpskip, false by default.
* Make asm.reloff less confusing and add experimental asm.reloff.flags
* Make !? help available via ?!
* Added scr.color.bytes and rename scr.colorops to scr.color.ops
* asm.emustr enables asm.emu automatically
* Added types documentation
* Add CPS-2 encryption support
* Add OCaml correctly to the README (#5842)
* Fixed r2pipe.c
* Follow wide strings in disasm
* pdf/pdr/anal fix (#5709)
* Update pf help message
* pf indent fix
* Added array size support for structures
* Interpret char as char* in the pf format (use z instead of c)
* Fix .qword in pd and consider adr on arm64 as lea op
* Honor hex.cols in pxe
* Implemented varsub with structure fields (currently only depth of 1)
* Show disasm in Vx.
* implementing sorting of code diff
* Add msr/mrs for the armass64 assembler
* Add jump/fail in afbj
* Add support for jb instruction in pseudo asm (#5818)
* Add a missing MSP430 constant register instruction encoding (#5548)
* Fix infinite loop with long strings in disasm
* Fix a missing #1 constant-generator encoding for msp430
* Add r2pm -w and handle R2PM_DEPS
* Add PYPATH to r2pm
* Add support to have custom directory name for cloned repo
* Add radiff2 -S to specify which column to sort for code diffing
* Fix the radiff2 -C MATCH issue, still not perfect but getting in shape
* Enhance Visual bit editor with 30% more colors and keys!
* Fix visual mark target address (#5637)
* Fix vmarks and save them in the project
+ axg to get a graph of the function xrefs to reach a specific point.
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, an scriptable commandline 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.
6502, 8051, CRIS, H8/300, LH5801, T8200, arc, arm, avr, bf, blackfin, csr, 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:
bios, CGC, dex, elf, elf64, filesystem, java, fatmach0, mach0, mach0-64, MZ, PE, PE+, TE, COFF, plan9, dyldcache, Commodore VICE emulator, Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs.
Android, GNU/Linux, [Net|Free|Open]BSD, iOS, OSX, QNX, w32, w64, Solaris, Haiku, FirefoxOS
Vala/Genie, Python (2, 3), NodeJS, LUA, Go, Perl, Guile, php5, newlisp, Ruby, Java, OCAML, …
– radare2 can be built without any special dependency, just use make and get a working toolchain (gcc, clang, tcc, ..)
– Optionally you can use libewf for loading EnCase disk images.
– To build the bindings you need latest valabind, g++ and swig2.
installationon All Linux and Mac OSX:
tar xf 0.10.6.tar.gz
r2 (for run)
r2 -c=H /bin/ls (for webUI)