Reverse Engineeringreverse engineeringhex editordisassemblerdebuggerbinary analysis

radare2

radare2 is a free and advanced command line hexadecimal editor, disassembler, and debugger for reverse engineering. It provides a complete, portable, multi-architecture unix-like toolchain including various utilities for binary analysis and manipulation.

Description

The radare2 suite aims to create a comprehensive toolchain for reverse engineering tasks. It includes an hexadecimal editor (radare) with support for multiple backends for local/remote files, debugger for OS X, BSD, Linux, W32, stream analyzer, assembler/disassembler for architectures like x86, ARM, PPC, m68k, Java, MSIL, SPARC, code analysis modules, and scripting facilities. Additional tools include radiff for binary diffing, rax for base conversion, rasc for shellcode development, rabin for binary information extraction supporting PE, mach0, ELF, class formats, and rahash for block-based hashing.

Use cases encompass malware analysis, vulnerability research, software debugging, and binary patching across diverse architectures and formats. The suite's modularity allows seamless integration of components like r2pm for package management, r2r for testing, and r2agent for remote sessions.

Packages provided include libraries (libradare2-6.0.0t64), architecture-independent files (libradare2-common), development files (libradare2-dev), and the main radare2 binary along with companion tools.

How It Works

radare2 operates through a wrapped IO layer supporting multiple backends for file handling and debugging across platforms. It features an interactive shell for commands like analysis ('aaa'), disassembly, and scripting. Binaries are loaded with specified architecture (-a), bits (-b), and base address (-B). Tools like rasm2 handle assembly/disassembly, rabin2 extracts metadata via parsers for ELF/PE/mach0, radiff2 computes diffs using graph or delta modes, while utilities like rahash2 perform block-based computations with configurable algorithms and endianness. ESIL expressions enable emulation, and SDB databases store signatures and metadata.

Installation

bash
sudo apt install radare2

Flags

-Arun 'aaa' command to analyze all referenced code
-a [arch]set asm.arch
-b [bits]set asm.bits
-B [baddr]set base address for PIE binaries
-c 'cmd..'execute radare command
-s addrset initial seek position
-p prjuse project file
-i scriptrun script

Examples

Display usage and flags for radare2 (r2)
r2 -h
Show help for Radare2 Agent HTTP Server
r2agent -h
Display help for Radare2 Package Manager
r2pm -h
Show usage for r2r testing tool
r2r -h
Display help for Binary Information Extractor
rabin2 -h
Show help for Radare2 Assembler and Disassembler
rasm2 -h
Display usage for binary diffing tool
radiff2 -h
Updated 2026-04-16kali.org ↗