This page (revision-1) was last changed on 30-Mar-2009 13:51 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note

Page References

Incoming links Outgoing links
Obfuscation ...nobody

Version management

Difference between version and

At line 1 added 18 lines
Als Obfuscation (zum Teil auch deutsch als Obfuskation) wird die Verschleierung von Programm-Code bezeichnet. Diese Programme bieten keinen Schutz im Sinne [kryptographischer|http://de.wikipedia.org/wiki/Kryptographie] Sicherheit. Vielmehr erschweren diese die Lesbarkeit und [Rückübersetzbarkeit|http://de.wikipedia.org/wiki/Reverse_Engineering] von Code.
!Grenzen
[Obfuscators|http://de.wikipedia.org/wiki/Obfuscator] benennen Symbole (Methoden und Public Members), daher entsteht nur ein konsistentes Ergebnis wenn alle Symbole bekannt sind. Zwei Hauptgründe für Inkonsistenzen sind:
* __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:
# [EasyFuscator.NET|http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/Default.aspx]
# [SkaterLight|http://rustemsoft.com/Skater.htm]
# [Phoenix Protector|http://www.ntcore.com/phoenix.php]
Die freien Obfuscators haben allerdings einen recht eingeschränkten Funktionsumfang. Der [Dotfuscator|http://msdn.microsoft.com/de-de/library/ms227240.aspx] von Microsoft ist mit verschiedenem Funktionsumfang erhältlich und für den professionellen Einsatz zu überlegen.