
radare2 v6.2.2
UNIX-ähnliches Reverse-Engineering-Framework und Kommandozeilen-Toolset
Radare2: Freies Reverse-Engineering-Framework für Unix-Enthusiasten
Der aktuelle master-Zweig von Git ist 6.2.2, die nächste Version wird 6.2.4 sein.
Beschreibung
r2 ist eine vollständige Neufassung von radare. Es bietet eine Reihe von Bibliotheken, Werkzeugen und
Plugins, um Reverse-Engineering-Aufgaben zu erleichtern. Veröffentlicht unter LGPLv3, wobei
jedes Plugin unterschiedliche Lizenzen haben kann (siehe r2 -Lj für Details).
Das radare-Projekt begann als einfacher hexadezimaler Kommandozeilen-Editor mit Schwerpunkt auf Forensik. Heute ist r2 ein voll ausgestattetes Low-Level-Kommandozeilen-Werkzeug mit Unterstützung für Skripting über den eingebetteten JavaScript-Interpreter oder über r2pipe.
r2 kann Dateien auf lokalen Festplatten bearbeiten, Kernel-Speicher anzeigen und Programme lokal oder über entfernte gdb/windbg-Server debuggen. Die breite Architekturunterstützung von r2 ermöglicht es Ihnen, beliebige Binärdateien zu analysieren, zu emulieren, zu debuggen, zu modifizieren und zu disassemblieren.
Installation
Laden Sie die letzten veröffentlichten Binärdateien herunter.
Die empfohlene Methode zur Installation von radare2 ist aus dem Git-Repository-Quellcode:
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
- Führen Sie
sys/install.shfür die Standardinstallation mit acr+make+symlink aus - meson/ninja (muon/samu funktionieren ebenfalls) und make-Builds werden unterstützt.
Nix
radare2 bietet Nix-Paketierung unter dist/nix.
Quellcode-Build
- r2 kann aus
gitoder überpipmitr2envinstalliert werden. - Windows-Builds erfordern meson und msvc oder mingw als Compiler.
- Zum Deinstallieren des aktuellen r2-Builds führen Sie
make uninstallaus. - Zum Deinstallieren ALLER Systeminstallationen von r2 führen Sie Folgendes aus:
sudo make purge
Verwenden Sie unter Windows die .bat-Skripte und 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
Beliebte Plugins:
Mit dem r2pm-Werkzeug können Sie viele Plugins und Werkzeuge durchsuchen und installieren, die radare2 verwenden.
- iaito: Die offizielle Qt-Grafikoberfläche
- keystone Assembler-Anweisungen mit der Keystone-Bibliothek
- decai Decompiler basierend auf KI
- r2ai Führen Sie ein Sprachmodell lokal mit Llama in r2 aus!
- r2dec: Ein auf r2 basierender Decompiler, geschrieben in JS, aufgerufen mit dem Befehl
pdd - r2diaphora: Diaphoras Binary-Diffing-Engine auf Basis von radare2
- r2flutter: Dart/Flutter-AOT-Snapshot-Analyse für Android- und iOS-Apps
- r2frida: Das frida-io-Plugin. Starten Sie r2 mit
r2 frida://0, um es zu verwenden - r2ghidra: Der eigenständige native Ghidra-Decompiler, aufrufbar mit
pdg - r4ghidra: Erleben Sie die radare-Freude in Ihrer Ghidra
- r2papi High-Level-API auf Basis von r2pipe
- r2pipe Skripten Sie radare2 aus jeder Programmiersprache
- r2poke Integration mit GNU/Poke für erweiterte Binärparsings-Fähigkeiten
- goresym: Importieren Sie GoReSym-Symbole als Flags
- r2yara Führen Sie Yara aus r2 aus oder verwenden Sie r2-Primitive aus Yara
- radius2: Eine schnelle symbolische Ausführungs-Engine basierend auf boolector und esil
- r2sarif SARIF-Dokumente importieren/erweitern/exportieren
- r2hermes Disassembler und Analysator für React-Native-Hermes-Bytecode
- r2renef Renef-IO-Plugin für Radare2 - Dynamische Android-Instrumentierung
- r2unity: Untersuchen Sie Unity-IL2CPP-Metadaten und native Binärdateien aus radare2
- warrp Natives radare2-Plugin für das WARP-Format von Binary Ninja
Verwendung
Dies sind die ersten Schritte zur Verwendung von r2. Lesen Sie das Buch oder finden Sie Tutorials für weitere 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
Viele Plugins sind standardmäßig in r2 enthalten. Sie können die Fähigkeiten jedoch erweitern, indem Sie den r2pm-Paketmanager verwenden.
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
Ressourcen
- Offizielles Buch: Lesen Sie über die r2-Nutzung
- COMMUNITY.md: Community-Engagement und lockere Richtlinien
- CONTRIBUTING.md: Informationen zur Meldung von Problemen und zum Beitragen. Siehe auch Contributing
- DEVELOPERS.md: Entwicklungsrichtlinien für r2
- SECURITY.md: Anweisungen zur Meldung von Schwachstellen
- USAGE.md: Einige Beispielbefehle
- INSTALL.md: Installationsanweisungen mit make oder meson
Dokumentation
Erfahren Sie mehr über r2, indem Sie sich YouTube-Vorträge von r2con ansehen. Es gibt auch viele Blogbeiträge, Folienpräsentationen und das offizielle radare2-Buch, aber es ist immer eine gute Idee, einem der offiziellen Chats beizutreten und dort Ihre Fragen oder Ihr Feedback zu hinterlassen.
Community
- Website: https://www.radare.org/
- Discord: Server
- Mastodon: @radareorg
- Telegram: Hauptkanal und Nebenkanal
- irc.libera.chat:
#radare,#radare_side - Matrix:
#radare:matrix.org
Unterstützte Plattformen
Betriebssysteme
Windows (seit XP für x86/x64/arm64), Linux, Darwin, GNU/Hurd, Apples {Mac,i,iPad,watch}OS, Android, Wasmer, [Dragonfly, Net, Free, Open] BSD, Z/OS, QNX, SerenityOS, Solaris, AIX, Haiku, Vinix, FirefoxOS.
Architekturen
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.
Dateiformate
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-Klasse, Android-Boot-Image, Plan9-Ausführbare, Amiga HUNK, ZIMG, MBN/SBL-Bootloader, ELF-Coredump, MDMP (Windows-Minidump), PDP11, XTAC, CGC, DotNet, WASM (WebAssembly-Binärdatei), Commodore-VICE-Emulator, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), Apple Classic PEF, NDS, z64 und N3DS ...
Dateisysteme
Mounten Sie im Userland verschiedene Dateisysteme wie NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs

