Reverse Engineering
Analyse eines Produkts zur Gewinnung von Informationen über dessen Design und Funktionsweise, oft zum Aufdecken von Schwachstellen oder Kopieren der Technologie. Reverse Engineering von Software involviert Disassemblierung (z. B. mit IDA Pro, Ghidra), Debugging (OllyDbg, x64dbg) und Analyse von Binärdateien, um Algorithmen, Lizenz- oder Verschlüsselungsmechanismen zu entschlüsseln. Bei Hardware-Revisionen umfasst es das Zerlegen von Geräten, Ablesen von PCB-Layern, Extraktion von Firmware-Chips und Analyse von Kommunikationsprotokollen (SPI, I2C). In der Sicherheitsanalyse wird Reverse Engineering genutzt, um Malware zu dekodieren, neue Exploits zu entwickeln oder Zero-Day-Schwachstellen aufzudecken. Schutzmechanismen sind Code-Obfuskation, Control-Flow-Flattening, Anti-Debugging-Techniken und Secure Boot. Rechtliche Rahmenbedingungen—z. B. DMCA-Ausnahmen oder nationale Gesetze—definieren, welche Formen des Reverse Engineering erlaubt sind.