Als Obfuscation (zum Teil auch deutsch als Obfuskation) wird die Verschleierung von Programm-Code bezeichnet. Diese Programme bieten keinen Schutz im Sinne kryptographischer Sicherheit. Vielmehr erschweren diese die Lesbarkeit und Rückübersetzbarkeit
von Code.
Grenzen#
Obfuscators![](/wiki/images/out.png)
- Cross-Assembly-References: Werden Public Members eines Assembly obfuscated, werden die Referenzen von anderen Assemblies gebrochen, also beispielsweise von EXE-Dateien.
- Reflection: Der Methoden- oder Field-Zugriff über Reflection kann von Obfuscators nicht erkannt werden und führt zu Inkonsistenzen im Code.
Daher ist nach der Obfuscation eine Qualitätssicherung durchzuführen.
Obfuscators für .NET#
Folgende freie Obfuscators können in absteigender Reihenfolge (abhängig vom konkreten Anwendungsfall) empfohlen werden:Die freien Obfuscators haben allerdings einen recht eingeschränkten Funktionsumfang. Der Dotfuscator von Microsoft ist mit verschiedenem Funktionsumfang erhältlich und für den professionellen Einsatz zu überlegen.