UNIX-like reverse engineering framework and command-line toolset
Go to file
Sergi Àlvarez i Capilla e1efe7370f Update capstone
2021-12-02 11:25:18 +01:00
.github Bring back the mingw32 builds ##windows 2021-11-28 22:10:51 +01:00
binr Improve rabin2 help message and manpage 2021-11-22 11:25:56 +01:00
dist Add jdh-8 asm-plugin template 2021-11-24 19:29:16 +01:00
doc Add WIP 5.5.0 release slides in doc/r2s 2021-11-02 19:35:39 +01:00
libr Fix null deref in iobank exposed by tests_65176 2021-12-01 17:50:29 +01:00
man Implement symbol diffing in radiff2 ##diff 2021-11-30 22:01:07 +01:00
mk Bring back the mingw32 builds ##windows 2021-11-28 22:10:51 +01:00
pkgcfg Add network support for WinDbg/KD (KDNET) ##debug (#17340) 2020-08-26 10:24:20 +08:00
shlr Update capstone 2021-12-02 11:25:18 +01:00
sys Bring back the mingw32 builds ##windows 2021-11-28 22:10:51 +01:00
test Fix infinite loop in r_str_replace ##util 2021-11-30 11:08:47 +01:00
.clang-format Some clang-format improvements ##indent 2021-01-25 00:34:58 +01:00
.gitattributes Compile new shell parser by default (#16660) 2020-04-21 13:44:30 +02:00
.gitignore Add armv7 to the arm.v35 plugin ##disasm 2021-10-19 20:21:36 +02:00
.lgtm.yml Fix LGTM builds 2019-05-10 16:21:29 +08:00
autogen.sh Post-release version bump 2021-09-20 13:24:50 +02:00
COMMUNITY.md Add COMMUNITY.md in hope to improve the community experience ##doc 2020-12-20 17:48:03 +01:00
config-user.mk.acr Fix --with-rpath and use it from preconfigure ##build 2021-09-07 22:19:15 +02:00
configure Check for 'ar' in configure, as some people install gcc without binutils (#19439) 2021-11-24 17:12:02 +01:00
configure-plugins Update sdb and use of SdbGperf in asm.d ##asm 2021-04-25 02:31:46 +02:00
configure.acr Check for 'ar' in configure, as some people install gcc without binutils (#19439) 2021-11-24 17:12:02 +01:00
configure.bat Properly check for %ERRORLEVEL% in batch scripts 2021-11-14 17:59:38 +01:00
configure.hook Create dist/ to hold all the distribution build files ##build (#18131) 2020-12-31 18:57:05 +01:00
CONTRIBUTING.md commandline -> command-line 2021-05-25 10:51:18 +02:00
COPYING Honor FSF filename license rules (LICENSE->COPYING) 2013-03-30 00:54:05 +01:00
COPYING.LESSER Honor FSF filename license rules (LICENSE->COPYING) 2013-03-30 00:54:05 +01:00
DEVELOPERS.md Add info for breaking long lines to style guide ##doc 2021-11-18 10:43:52 +01:00
Doxyfile Exclude dependencies and tests from documentation (#16821) ##doc 2020-05-14 15:08:56 +02:00
env.sh Add more R2_ prefix for some var 2018-08-07 22:14:54 +02:00
global.mk Improve output for make -s and fix magic install with symlinks issue (#18781) 2021-05-30 23:46:58 +02:00
INSTALL.md Use new-dtags for android rpath builds 2021-06-17 17:32:57 +02:00
make.bat Fix #19448 - Fix atoi on non-null terminated string in PE section headers ##crash 2021-11-29 10:19:52 +01:00
Makefile Respect v35 repos for offline builds ##build 2021-11-05 10:08:23 +01:00
meson_options.txt Generate bin/d the same way as other sdb paths with meson ##build 2021-11-14 00:57:35 +01:00
meson.build msvc's Z7 compiles with symbols instead of the uncomfortable PDBs 2021-11-26 16:30:13 +01:00
package.json Fix #19448 - Fix atoi on non-null terminated string in PE section headers ##crash 2021-11-29 10:19:52 +01:00
preconfigure Dont sync capstone all the time 2021-11-05 10:08:23 +01:00
preconfigure.bat Remove specific meson version in preconfigure 2021-11-15 16:26:04 +01:00
README.md Release 5.5.0 - 希 Nozomi 2021-11-15 03:10:56 +01:00
SECURITY.md Add SECURITY.md 2021-07-16 13:08:40 +02:00
USAGE.md Remove duplicate command in USAGE.md (#19161) 2021-10-04 14:48:42 +02:00
vsfix.bat r2pipe fixes for windows, fix some vs warnings 2021-09-13 00:45:17 +02:00

screenshot

Radare2: Unix-Like Reverse Engineering Framework

Tests Status CII Best Practices Build Status Total alerts TODO counter XXX counter

Next release will be 5.5.2, current git is 5.5.0 and the latest packaged version(s) See the Release downloads page.

r2 is a rewrite from scratch of radare. It provies a set of libraries, tools and plugins to ease reverse engineering tasks.

The radare project started as a simple command-line hexadecimal editor focused on forensics, over time more features were added to support a scriptable command-line low level tool to edit from local hard drives, kernel memory, programs, remote gdb servers and be able to analyze, emulate, debug, modify and disassemble any binary.

screenshot

git clone https://github.com/radareorg/radare2
radare2/sys/install.sh

Plugins

Most of the plugins you need may be available in the stock r2 installation, but you can find more in the r2pm package manager.

r2pm update          # initialize and update the package database
r2pm install [pkg]   # installs the package

Some of the most installed packages are:

  • radius fast symbolic execution engine based on boolector and r2
  • r2ghidra the native ghidra decompiler plugin: pdg command
  • esilsolve symbolic execution r2 plugin based on esil and z3
  • r2dec decompiler based on r2 written in js pdd
  • r2frida the frida io plugin r2 frida://0
  • iaito - official graphical interface (Qt)

Operating Systems

Windows (since XP), Linux, Darwin, GNU/Hurd, Apple's {Mac,i,iPad,watch}OS, Android [Dragonfly, Net, Free, Open] BSD, Z/OS, QNX, SerenityOS, Solaris, Haiku, Vinix, FirefoxOS.

Architectures

i386, x86-64, ARM, MIPS, PowerPC, SPARC, RISC-V, SH, m68k, m680x, AVR, XAP, S390, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8/300, V810, V850, CRIS, XAP, PIC, LM32, 8051, 6502, i4004, i8080, Propeller, Tricore, CHIP-8, LH5801, T8200, GameBoy, SNES, SPC700, MSP430, Xtensa, NIOS II, Java, Dalvik, WebAssembly, MSIL, EBC, TMS320 (c54x, c55x, c55+, c66), Hexagon, Brainfuck, Malbolge, whitespace, DCPU16, LANAI, MCORE, mcs96, RSP, SuperH-4, VAX, AMD Am29000.

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, QNX, WAD, OFF, TIC-80 Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs, various filesystems.

Contributing

There are many ways to contribute to the project, join the IRC/Matrix/Telegram channels, check out the github issues or grep for the TODO comments in the source. To contribute with code, create a branch in your forked repository and push a pull request, follow the coding style and ensure it passes the tests with the r2r tool to run the tests that are under the tests/ subdirectory.

For more details read the CONTRIBUTING.md file.

Community and Documentation

To learn more about r2 we encourage you to watch youtube talks from r2con conference. As well as reading blogposts, slides or read the Official radare2 book, You can reach us in the following chats:

Packaging Status

  • Termux package
  • Alpine Linux Edge package Alpine Linux 3.13 package Alpine Linux 3.12 package
  • Arch package AUR package
  • Fedora 34 package Fedora 32 package
  • FreeBSD port OpenBSD port pkgsrc current package
  • Homebrew package MacPorts package
  • HaikuPorts master package
  • Ubuntu 20.10 package Ubuntu 20.04 package Ubuntu 18.04 package
  • Debian Unstable package Raspbian Stable package Kali Linux Rolling package