No description
Find a file
2025-12-30 14:13:38 +01:00
.github Add and fix more memory leaking tests 2025-12-20 13:04:02 +01:00
binr Improve r2r leaksuite and fix disasm, pdsf and other global leaks 2025-12-24 16:46:20 +01:00
dist Release 6.0.8 - codename CleanWheat 2025-12-30 14:13:38 +01:00
doc Replace chevron operators with LSL, LSR, ASR, ROL ##esil 2025-12-16 12:16:40 +01:00
libr Fix support for Java class loading ##bin 2025-12-30 13:45:30 +01:00
man Replace chevron operators with LSL, LSR, ASR, ROL ##esil 2025-12-16 12:16:40 +01:00
mk Update to use the latest wasi-sdk-29.0 ##wasm 2025-12-11 19:21:07 +01:00
pkgcfg Rename RCrypto to RMuta ##abi 2025-06-03 17:59:23 +02:00
scripts Initial work on the new rewritten linter ##dev 2025-04-11 15:31:15 +02:00
shlr Remove unnecessary NEW0 checks in the java class parser 2025-12-30 13:45:30 +01:00
subprojects Update cs-next + bninja + qjs 2025-12-20 17:09:33 +01:00
sys Use tabs for Info.plist indentation 2025-12-23 16:35:00 +01:00
test Update scanf and wscanf function signatures to reflect variadic arguments ##types 2025-12-30 11:54:32 +01:00
.gitignore One byte oobread in the rap server 2025-12-25 11:53:31 +01:00
AGENTS.md Initial support for the BeOS Filesystem (BFS) ##fs 2025-11-20 14:04:12 +01:00
autogen.sh Update the rpm package ##build 2025-12-19 23:29:28 +01:00
COMMUNITY.md Improve wording of COMMUNITY.md 2022-05-30 19:35:37 +02:00
config-user.mk.acr Remove unused NEW_IO_CACHE configure option 2025-08-12 01:29:35 +02:00
configure Release 6.0.8 - codename CleanWheat 2025-12-30 14:13:38 +01:00
configure-plugins Fix #14879 - Initial support for MobiCore MCLF ##bin 2025-08-26 19:32:19 +02:00
configure.acr Release 6.0.8 - codename CleanWheat 2025-12-30 14:13:38 +01:00
configure.bat Fix preconfigure.bat for some setups ##build 2025-08-20 01:05:08 +02:00
configure.hook Fix https://github.com/radareorg/acr/issues/25 2025-09-18 22:58:40 +02:00
CONTRIBUTING.md Update merging style in CONTRIBUTING.md (#21467) 2023-03-12 18:40:28 +01:00
COPYING.md License clarifications ##doc 2024-12-20 16:53:19 +01:00
DEVELOPERS.md Better instructions and remove more outdated format scripts 2025-10-09 18:48:21 +02:00
env.sh env.sh: Don't add trailing colons to paths 2024-05-23 11:58:49 +02:00
global.mk Add more panel layouts by default ##visual 2025-06-16 11:44:12 +02:00
INSTALL.md Fix uaf in core.free 2025-08-04 21:09:04 +02:00
make.bat Fix preconfigure.bat for some setups ##build 2025-08-20 01:05:08 +02:00
Makefile Port all charsets from r_charset to rmuta via charset plugins ##muta 2025-12-14 12:43:29 +01:00
meson.build Release 6.0.8 - codename CleanWheat 2025-12-30 14:13:38 +01:00
meson_options.txt Support loading data files relative to the binary 2025-12-18 20:15:59 +01:00
preconfigure Move v35 clones into the subprojects ##build 2024-12-03 14:36:02 +01:00
preconfigure.bat In the preoconfigure add the windows debugger toolkit in the PATH ##windows 2025-11-22 12:36:13 +01:00
README.md Release 6.0.8 - codename CleanWheat 2025-12-30 14:13:38 +01:00
SECURITY.md Rewrite user-facing documentation (#19543) 2022-01-01 06:11:46 -06:00
USAGE.md Few more cleanups for rahash2 and add the strhash crypto plugin 2024-03-21 11:16:16 +01:00
vsfix.bat Update sdb to remove double include paths ##build 2022-11-19 01:05:18 +01:00

screenshot

Radare2: Libre Reversing Framework for Unix Geeks

Latest packaged version Tests Status build tcc CII Best Practices Build Status Discord

Current git master branch is 6.0.8, next release will be 6.0.9.

Description

r2 is a complete rewrite of radare. It provides a set of libraries, tools and plugins to ease reverse engineering tasks. Distributed under LGPLv3, despite each plugin can have different licenses (see r2 -Lj for details)

The radare project started as a simple command-line hexadecimal editor focused on forensics. Today, r2 is a full-featured low-level command-line tool with support for scripting with the embedded Javascript interpreter or via r2pipe.

r2 can edit files on local hard drives, view kernel memory, and debug programs locally or via a remote gdb/windbg servers. r2's wide architecture support allows you to analyze, emulate, debug, modify, and disassemble any binary.

screenshot

Installation

Download the last released binaries.

The recommended way to install radare2 is from Git repository source:

git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
  • Run sys/install.sh for the default acr+make+symlink installation
  • meson/ninja (muon/samu also works) and make builds are supported.

Source Build

  • r2 can be installed from git or via pip using r2env.
  • Windows builds require meson and msvc or mingw as compilers
  • To uninstall the current build of r2 run make uninstall
  • To uninstall ALL the system installations of r2 do: sudo make purge

On Windows use the .bat scripts and msvc:

preconfigure.bat       REM setup python, meson, ninja
configure.bat          REM run meson b + vs project
make.bat               REM run ninja -C b
prefix\bin\radare2.exe

Using the r2pm tool you can browse and install many plugins and tools that use radare2.

  • esilsolve: The symbolic execution plugin, based on esil and z3
  • iaito: The official Qt graphical interface
  • keystone Assembler instructions using the Keystone library
  • decai Decompiler based on AI
  • r2ai Run a Language Model in localhost with Llama inside r2!
  • r2dec: A decompiler based on r2 written in JS, accessed with the pdd command
  • r2diaphora: Diaphora's binary diffing engine on top of radare2
  • r2frida: The frida io plugin. Start r2 with r2 frida://0 to use it
  • r2ghidra: The standalone native ghidra decompiler accessible with pdg
  • r4ghidra: Feel the radare joy inside your Ghidra
  • r2papi High level api on top of r2pipe
  • r2pipe Script radare2 from any programming language
  • r2poke Integration with GNU/Poke for extended binary parsing capabilities
  • goresym: Import GoReSym symbol as flags
  • r2yara Run Yara from r2 or use r2 primitives from Yara
  • radius2: A fast symbolic execution engine based on boolector and esil
  • r2sarif import/extend/export SARIF documents

Usage

These are the first steps to use r2, read the book or find tutorials for more details

$ r2 /bin/ls   # open file in read-only
> aaa          # analyse the program (r2 -A)
> afl          # list all functions (try aflt, aflm)
> px 32        # print 32 byte hexdump current block
> s sym.main   # seek to main (using flag name)
> f~foo        # filter flags matching 'foo' (internal |grep)
> iS;is        # list sections and symbols (rabin2 -Ss)
> pdf; agf     # disassembly and ascii-art function graph
> oo+;w hello  # reopen in read-write and write a string
> ?*~...       # interactive filter in all command help
> q            # quit

Many plugins are included in r2 by default. But you can extend its capabilities by using the r2pm package manager.

r2pm -s <word>  # search packages matching a word
r2pm -Uci <pkg> # update database and clean install a package
r2pm -u <pkg>   # uninstall the given package
r2pm -l <pkg>   # list installed packages

Resources

Documentation

Learn more about r2 watching youtube talks from r2con. There are also many blogposts, slidedecks and the official radare2 book, but it's always a good idea to join any of the official chats and drop your questions or feedback there.

Community

Supported Platforms

Operating Systems

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

Architectures

i386, x86-64, Alpha, ARM, AVR, BPF, sBPF, MIPS, PowerPC, SPARC, RISC-V, SH, m68k, S390, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8/300, V810, PDP11, m680x, V850, CRIS, XAP (CSR), PIC, LM32, 8051, 6502, i4004, i8080, Propeller, EVM, OR1K Tricore, CHIP-8, LH5801, T8200, GameBoy, SNES, SPC700, MSP430, Xtensa, xcore, NIOS II, Java, Dalvik, Pickle, WebAssembly, MSIL, EBC, TMS320 (c54x, c55x, c55+, c64x), Hexagon, Brainfuck, Malbolge, whitespace, DCPU16, LANAI, lm32, MSIL, InfernoDis, UXN, Cosmac, PythonBytecode, Sharp sm5xx MCPus, FreeScale QIQa, MCORE, mcs96, RSP, SuperH-4, VAX, KVX, Am29000, LOONGARCH, JDH8, s390x, STM8.

File Formats

ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, XCOFF, OMF, TE, XBE, SEP64, BIOS/UEFI, BFLT, Pebble apps, Apple Dyldcache, Kernelcache, MCLF trustlets, DEX, ART, Java class, Android boot image, Plan9 executables, Amiga HUNK, ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), PDP11, XTAC, CGC, DotNet, WASM (WebAssembly binary), Commodore VICE emulator, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), Apple Classic PEF, NDS, z64, and N3DS ...

FileSystems

Mount in userland several filesystems like NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs

Packaging Status

  • Snap package
  • Termux package
  • Alpine Linux 3.23 package Alpine Linux 3.22 package
  • Arch package
  • Fedora 42 Fedora 41
  • Homebrew package MacPorts package
  • Haiku Ports Void Linux