Tieferes

Reverse Engineering Basics

Wie man Software analysiert ohne Quellcode. IDA Pro, Ghidra, x64dbg — die Standard-Tools.

Was Reverse Engineering ist

Reverse Engineering (RE) ist die Analyse einer fertigen Software, um ihre Funktionsweise zu verstehen — ohne Zugang zum Quellcode. Es ist eine der wichtigsten Techniken in der IT-Sicherheit und bei Cheat-Entwicklung.

Warum Reverse Engineering?

  • Malware-Analyse: verstehen, was Schadsoftware tut
  • Schwachstellen-Forschung: Sicherheitslücken finden
  • Interoperabilität: Protokolle nachbauen
  • Game-Hacking: Cheats entwickeln
  • Forensik: bei Vorfällen analysieren
  • Modding: tiefere Spiel-Eingriffe

Compiler und Decompiler

Wie Code in Software wird

  1. Programmierer schreibt Quellcode (C++, C#, Rust, etc.)
  2. Compiler übersetzt in Maschinen-Code (x86, ARM)
  3. Linker fügt Bibliotheken zusammen
  4. Ergebnis: ausführbare Datei (.exe, .dll)

Decompiler-Prozess

  1. Disassembler übersetzt Maschinen-Code zu Assembler
  2. Decompiler versucht, Hochsprache zu rekonstruieren
  3. Variablen-Namen sind oft verloren (Generic naming)
  4. Struct-Definitionen müssen manuell rekonstruiert werden

Standard-Tools 2026

IDA Pro

  • Hersteller: Hex-Rays
  • Preis: Pro-Version teuer (mehrere Tausend €), Free-Version eingeschränkt
  • Stärke: Industriestandard, beste Decompiler
  • Plugins: umfangreiche Plugin-Sammlung
  • Skripting: IDAPython

Ghidra

  • Hersteller: NSA (Open Source seit 2019)
  • Preis: kostenlos
  • Stärke: kostenlose Alternative zu IDA
  • Funktionen: Decompiler, Disassembler, Skripting (Java/Python)
  • Plattformen: Windows, Linux, Mac

Binary Ninja

  • Hersteller: Vector 35
  • Preis: moderate Lizenz (ca. 1.500 €)
  • Stärke: moderne UI, gute API
  • Wachsende Community

radare2 / Cutter

  • Open Source
  • radare2: Kommandozeile
  • Cutter: GUI für radare2
  • Stärke: kostenlos, kann sehr viel
  • Schwäche: Lernkurve

x64dbg / OllyDbg

  • Debugger für Windows-Binaries
  • x64dbg: moderner, 64-Bit-Support
  • OllyDbg: Klassiker, nur 32-Bit
  • Stärke: dynamische Analyse (Step-Through-Debugging)

Statische vs. dynamische Analyse

Statische Analyse

Software analysieren, ohne sie auszuführen:

  • Disassembler/Decompiler (IDA, Ghidra)
  • String-Suche
  • Strukturanalyse
  • Call-Graphen
  • Vorteil: sicher, keine Malware-Ausführung
  • Nachteil: Packer/Obfuskation erschweren

Dynamische Analyse

Software in kontrollierter Umgebung ausführen:

  • Debugger (x64dbg)
  • Sandbox (Cuckoo, Any.run)
  • Verhaltens-Analyse
  • Vorteil: sieht tatsächliches Verhalten
  • Nachteil: Anti-Debugging-Techniken

Typische Workflows

Workflow 1: Funktionsanalyse

  1. Binary in IDA/Ghidra laden
  2. String-Suche nach interessanten Texten
  3. Xrefs auf String folgen (welche Funktion nutzt ihn?)
  4. Funktion umbenennen und kommentieren
  5. Aufrufer der Funktion analysieren
  6. Datenstrukturen rekonstruieren

Workflow 2: Cheat-Entwicklung

  1. Cheat Engine: Wert (z. B. Health) finden
  2. Pointer-Chain ermitteln
  3. In IDA/Ghidra: Pointer-Quelle finden
  4. Struct-Layout aus Pointer-Offsets bauen
  5. Hook auf relevante Spielfunktion setzen
  6. Eigene Cheat-DLL injizieren

Workflow 3: Malware-Analyse

  1. Sample in isolierter VM ausführen
  2. Netzwerk-Traffic mit Wireshark mitschneiden
  3. Datei-Operationen mit Process Monitor
  4. Statische Analyse parallel
  5. IOCs (Indicators of Compromise) extrahieren
  6. Bericht für Threat-Intel-Teams

Anti-Reverse-Engineering-Techniken

Software-Hersteller versuchen, RE zu erschweren:

Obfuskation

  • Variablen-Namen verschleiern
  • Control-Flow-Flattening (Logik durcheinander)
  • Junk-Code einstreuen
  • String-Verschlüsselung

Packer

  • Binary komprimiert und verschlüsselt
  • Bei Ausführung entpackt sich Code
  • Bekannte: UPX, Themida, VMProtect
  • Erschwert statische Analyse

Anti-Debugging

  • Prüfung auf Debugger-Prozesse
  • Timing-Checks (Debugger ist langsamer)
  • Self-Modifying Code
  • VM-Detection (will keine Sandbox)

VM-Protection

  • Code wird in virtuelle Maschinen-Sprache übersetzt
  • Beispiel: VMProtect, Themida
  • Sehr aufwendig zu reversieren
  • Viele AAA-Spiele und Anti-Cheat-Treiber nutzen das

Assembler-Grundlagen

x86 Register

  • EAX, EBX, ECX, EDX: Allzweck-Register
  • ESI, EDI: Source/Destination Index
  • EBP, ESP: Base/Stack Pointer
  • EIP: Instruction Pointer
  • In x64: RAX, RBX, etc. (64-Bit)

Wichtige Instruktionen

  • mov — Wert kopieren
  • add, sub, mul, div — Arithmetik
  • cmp — Vergleich
  • je, jne, jmp — Sprünge
  • call, ret — Funktionsaufrufe
  • push, pop — Stack-Operationen

Datenstrukturen rekonstruieren

Struct-Erkennung

  • Wiederholte Offset-Zugriffe auf einen Pointer
  • Code wie mov eax, [ecx + 0x10] → Member bei Offset 0x10
  • Größen aus Speicher-Allokationen ableiten
  • Manuelles Layout in Header-File

Class-Erkennung (C++)

  • VTables sind erkennbar (Funktionspointer-Arrays)
  • RTTI (Runtime Type Information) hilft
  • Constructor-Erkennung über Allokation+Init-Pattern
  • Inheritance-Hierarchien rekonstruieren

Rechtliche Aspekte

In Deutschland

  • § 69d UrhG: Vervielfältigung zur Fehler-Beseitigung erlaubt
  • § 69e UrhG: Dekompilation zur Interoperabilität erlaubt
  • Reverse Engineering für Cheats: nicht durch diese Ausnahmen gedeckt
  • Reverse Engineering für Sicherheits-Forschung: in der Regel akzeptiert

In den USA

  • Fair Use gibt mehr Spielraum
  • DMCA Section 1201 verbietet Umgehung von Schutzmaßnahmen
  • Security-Research-Ausnahmen seit 2016

Lernressourcen

Bücher

  • „Practical Reverse Engineering“ — Dang et al.
  • „The IDA Pro Book“ — Chris Eagle
  • „Reverse Engineering for Beginners“ — Dennis Yurichev (kostenlos online)

Online-Kurse

  • OpenSecurityTraining — kostenlose Kurse
  • Pluralsight RE-Kurse
  • Coursera Software Security

Übungs-Plattformen

  • Crackmes.one — Mini-RE-Challenges
  • Reversing.kr — Koreanische Plattform
  • Root-Me.org — diverse Challenges
  • HackTheBox — auch RE-Module

RE-Konferenzen

  • REcon — Spezialkonferenz für Reverse Engineering
  • DEF CON — RE-Talks
  • Black Hat — Industrie-Sicht
  • CCC — deutsche Hacker-Konferenz

Karriere mit RE-Skills

  • Malware-Analyst
  • Vulnerability Researcher
  • Exploit Developer
  • Threat Intelligence
  • Forensik-Spezialist
  • Anti-Cheat-Entwickler
  • DRM-Forschung

Verdienste in DE: 70.000–150.000 € je nach Spezialisierung.

Erste Schritte

  1. Ghidra installieren (kostenlos)
  2. Einfaches CrackMe von Crackmes.one runterladen
  3. Versuchen, das CrackMe zu lösen
  4. Tutorials parallel ansehen
  5. Mit Spielen üben: Cheat Engine + Ghidra kombiniert
  6. Über Monate intensiv üben

IT-Praxis und Web-Entwicklung

Wer sich für die Technik hinter Cheats interessiert, ist oft auch an IT-Sicherheit und Web-Entwicklung interessiert. SEO NW hilft seit 2012.

SEO NW Agentur