Dotfuscator

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche

1 Definition

Um das geistige Eigentum eines Programmierers zu schützen, kommen bei Software die für das .NET Framework entwickelt wurde so genannte Dotfuscators zum Einsatz.

Im Wesentlichen macht ein Dotfuscator nichts anderes, als vorhandene, meist beschreibende Bezeichner durch sehr einfache zu ersetzen und damit den Code unlesbar bzw. unverständlich für andere Programmierer zu machen, während die Programmlogik vollständig erhalten bleibt. Der Vorgang ist natürlich auch umkehrbar.

2 Anmerkungen

Der Begriff wurde aus den englischen Wörtern „dot“ und „to obfuscate“ (verdunkeln, verschleiern, verwirren) gebildet.

3 Beispiel

Das folgende Beispiel soll die Funktionsweise eines Dotfuscators näher erläutern:

Original-Code:

private void CalcPayroll(SpecialList employeeGroup) {
 while (employeeGroup.HasMore()) {
 employee = employeeGroup.GetNext(true);
 employee.UpdateSalary();
 DistributeCheck(employee); 
 }
}

Dotfuscator Ausgabe:

private void a(a b) {
 while (b.a()) {
 a = b.a(true);
 a.a();
 a(a);
 }
}

3.1 Bemerkung zum Beispiel

Dieser Code wurde mit der so genannten „Überladungsinduktion“ verschleiert, einem von PreEmptive Solutions entwickelten und patentierten Algorithmus zur mehrfachen induktiven Überladung, bei dem so viele Methoden wie möglich mit dem gleichen Namen versehen werden. Somit ist es praktisch unmöglich über die MSIL Rückschlüsse auf die Programmlogik führen zu können.

4 Quellen


Dieser Artikel ist GlossarWiki-konform.
In diesem Artikel sollten die Quellenangaben überarbeitet werden.
Das zitierte Quellen-Dokument existiert noch nicht.