Reverse Engineering Cheatsheet

7 Kernkonzepte
Die wichtigsten Tools und Techniken für Reverse Engineering: Ghidra · IDA Pro · Radare2 · GDB · Disassembler · Debugger · Binary Analysis Reverse Engineering umfasst die Analyse von Binärdateien, um deren Funktionsweise zu verstehen – für Malware-Analyse, Sicherheitsforschung und Legacy-Systeme. Diese Übersicht deckt die wichtigsten Werkzeuge und Techniken ab.

IDA Pro – Interaktiver Disassembler (De-facto-Standard)

IDA · Hex-Rays · Decompiler
// IDA Pro – Die Referenz für Reverse Engineering ida64 binary.exe // 64-Bit Datei öffnen F5 // Hex-Rays Decompiler (Pseudocode) Space // Text- / Grafik-Ansicht umschalten

IDA Pro ist der führende interaktive Disassembler mit einem leistungsstarken Decompiler (Hex-Rays). Er unterstützt zahlreiche Prozessorarchitekturen und Dateiformate.

Wichtige IDA-Funktionen

Funktion Beschreibung Tastenkürzel
Disassemblierung Code in Assembler-Instruktionen zerlegen -
Hex-Rays Decompiler Assembler in C-ähnlichen Pseudocode umwandeln F5
Cross-References Verweise auf Funktionen/Daten anzeigen Ctrl+X
Grafik-Ansicht Kontrollflussgraf für Funktionen Space
Renaming Variablen/Funktionen umbenennen N
Comments Kommentare hinzufügen ;
String-Liste Alle Strings in der Datei anzeigen Shift+F12
Tipp: IDA Pro ist kostenpflichtig, aber der IDA Free ist eine eingeschränkte, kostenlose Version. Für viele Aufgaben reicht die Free-Version aus.

Ghidra – Open-Source-Alternative von der NSA

Ghidra · SRE · Decompiler
// Ghidra – Kostenloser Disassembler + Decompiler ghidraRun // GUI starten analyzeHeadless // Headless-Modus (Skripte) G // Zu Adresse springen L // Listing / Disassemblierung

Ghidra ist ein leistungsstarker Open-Source-Disassembler und Decompiler, der von der NSA entwickelt wurde. Er ist eine ernsthafte Alternative zu IDA Pro und unterstützt viele Architekturen.

Wichtige Ghidra-Funktionen

Funktion Beschreibung Tastenkürzel
Disassemblierung Code in Assembler zerlegen -
Decompiler C-ähnlicher Pseudocode -
Function Graph Kontrollflussgraf -
Data Type Manager Benutzerdefinierte Datentypen -
Skript-Engine Python/Java-Skripte -
Version Tracking Unterschiede zwischen Versionen -
Tipp: Ghidra ist kostenlos und quelloffen – eine ausgezeichnete Wahl für Einsteiger und Profis. Die Headless-API ermöglicht die Automatisierung von Analyseprozessen.

Radare2 – Kommandozeilen-Framework

r2 · radare2 · Cutter
// Radare2 – Das CLI-RE-Framework r2 -A binary // Datei analysieren afl // Funktionen auflisten pdf // Disassemblierung anzeigen s 0x00401000 // Zu Adresse springen

Radare2 ist ein leistungsstarkes Kommandozeilen-Framework für Reverse Engineering. Es wird häufig in der Malware-Analyse und für automatisierte Workflows verwendet. Cutter ist die grafische Oberfläche.

Wichtige Radare2-Befehle

Befehl Beschreibung
r2 -A file Datei öffnen und analysieren
afl Alle Funktionen auflisten
pdf Disassemblierung der aktuellen Funktion
s address Zu Adresse springen
iz Strings anzeigen
is Symbole anzeigen
iI Binary-Informationen (Header, Architektur)
wx Hex-Werte schreiben
db address Breakpoint setzen
dc Debugger starten (continue)
V! Grafische Ansicht (Visual Mode)
Tipp: Radare2 ist ideal für die Kommandozeile und Skripting. Der Visual Mode (V!) bietet eine interaktive, IDA-ähnliche Ansicht. Cutter bietet eine GUI mit modernem Look-and-Feel.

GDB – GNU Debugger für dynamische Analyse

gdb · gef · pwndbg · peda
// GDB – Der Standard-Debugger für Linux gdb ./binary // Binary laden b main // Breakpoint bei main r // Ausführen (run) x/20i $rip // Assembler anzeigen

GDB (GNU Debugger) ist der Standard-Debugger für Linux. Mit Erweiterungen wie gef, pwndbg oder peda wird er zu einem leistungsstarken RE-Tool.

Wichtige GDB-Befehle

Befehl Beschreibung
b <addr> Breakpoint setzen (z.B. b main, b *0x401000)
r Programm starten (run)
c Weiterlaufen (continue)
si Step Instruction (eine Instruktion)
ni Next Instruction (über Call hinweg)
x/<n>i <addr> Disassemblierung (x/20i $rip)
x/<n>x <addr> Hex-Dump (x/16xw $rsp)
info reg Register anzeigen
info stack Stack-Frame anzeigen
disas <addr> Disassemblierung ab Adresse
set <reg>=<val> Register-Wert setzen
q Beenden (quit)
Tipp: Verwenden Sie gef (GitHub: hugo/gef) für ein modernes GDB-Erlebnis mit Farben, erweiterten Befehlen und Plugins. pwndbg ist eine beliebte Alternative für Sicherheitsforschung.

Disassembler & Tools – objdump, readelf, strings, xxd

objdump · readelf · strings · xxd · ndisasm
// Linux-Befehle für statische Analyse objdump -d binary // Disassemblierung readelf -h binary // ELF-Header anzeigen strings binary // Strings extrahieren xxd binary // Hex-Dump

Kommandozeilen-Tools sind unverzichtbar für die schnelle Analyse von Binärdateien – sie liefern erste Einblicke ohne große GUI-Tools.

Wichtige Linux-RE-Tools

Tool Befehl Beschreibung
objdump objdump -d -M intel binary Disassemblierung (Intel-Syntax)
objdump objdump -t binary Symboltabelle anzeigen
readelf readelf -h binary ELF-Header
readelf readelf -S binary Section-Header
strings strings binary Lesbare Strings extrahieren
strings strings -n 8 binary Strings ab 8 Zeichen
xxd xxd binary Hex-Dump (xxxd | less)
xxd xxd -r -p hex.txt binary Hex in Binary umwandeln
ndisasm ndisasm -b 64 binary Intel-Disassembler (64-Bit)
file file binary Dateityp erkennen
nm nm binary Symbole anzeigen
Tipp: objdump -d -M intel zeigt Assembler im Intel-Format (bekannter als AT&T). strings ist oft der erste Schritt zur Identifikation von interessanten Inhalten.

Binary Analysis – PE/ELF, Dateiformate, Header

PE · ELF · Mach-O · Header · Sections
// PE (Windows) vs. ELF (Linux) PE: DOS-Header, NT-Header, Sections (.text, .data, .rdata) ELF: ELF-Header, Program-Header, Section-Header Mach-O: Mach-Header, Load-Commands, Segments

Binary Analysis umfasst das Verständnis von Dateiformaten (PE, ELF, Mach-O) und deren Struktur – essenziell für jede Art von Reverse Engineering.

Wichtige Analyse-Werkzeuge

Format Tool Beschreibung
PE pefile (Python) PE-Dateien parsen
PE LordPE / PE-bear PE-Editor (Windows)
ELF readelf, objdump ELF-Header und Sektionen
ELF elfparser (Python) ELF-Dateien parsen
Mach-O otool (macOS) Mach-O-Header anzeigen
Mach-O MachOView GUI für Mach-O-Dateien
All Detect It Easy (DIE) Dateityp-Erkennung
All binwalk Firmware / Embedded-Analyse
Tipp: Für Windows-Binaries liefert pefile (Python) detaillierte PE-Informationen. Für ELF sind readelf -a und objdump -x die ersten Anlaufstellen.

Reverse Engineering Tools im Überblick

IDA Professioneller Disassembler
Hex-Rays Decompiler
Ghidra Open-Source-RE-Tool
NSA, kostenlos
Radare2 CLI-Framework
Cutter GUI
GDB Debugger + gef/pwndbg
Dynamische Analyse
objdump Disassemblierung
Strings, Header
PE/ELF Dateiformate
Header, Sections

Quick Summary

IDA
Disassembler
Ghidra
Open-Source
r2
CLI-Framework
GDB
Debugger
objdump
Disassemblierung
strings
Strings extrahieren
gef
GDB-Erweiterung
gdb ./binary · objdump -d -M intel binary · strings binary