# Code-Obfuskation Einstellungen - Schutz vor Decompilern

> Konfiguration der Code-Obfuskation. Schützen Sie Ihre Algorithmen durch Verschleierung des Maschinencodes vor Reverse Engineering.

Canonical HTML: <https://www.niceprotect.com/help/de/obfuscation.htm>

## Metadaten-Obfuskation

**DotFix NiceProtect** führt einen revolutionären Ansatz für Softwaresicherheit ein: **Metadaten- und RTTI-Obfuskation**. Im Gegensatz zu Standard-Packern für ausführbare Dateien, die nur die äußere Hülle Ihrer Datei komprimieren, analysiert und bereinigt unsere Engine die internen Strukturen Ihrer kompilierten Anwendung tiefgreifend.

#### Das Problem: "Nackter" kompilierter Code


Wenn Sie Anwendungen in **Delphi**, **Free Pascal (Lazarus)** oder **Visual Basic 6.0** kompilieren, bettet der Compiler eine riesige Menge an Metadaten (RTTI - Laufzeit-Typinformationen) in die endgültige ausführbare Datei ein. Dazu gehören:

- **Klassennamen:** z. B. `TMainForm`, `TLicenseChecker`.

- **Ereignishandler:** z. B. `ButtonRegisterClick`, `CheckSerialOnClick`.

- **Steuerelementnamen:** z. B. `EditPassword`, `btnUnlock`.

- **Öffentliche Methoden:** z. B. `IsValidKey`, `DecryptData`.

**Sicherheitsrisiko:** Ein Reverse Engineer, der Ihre Anwendung in einem Decompiler öffnet, sieht diese Karte sofort. Er muss die Assemblersprache nicht verstehen; er sucht einfach nach "Registration" oder "Password" und findet den genauen Ort Ihrer Schutzlogik in Sekunden.

![Vergleich: Originale vs. obfuskierte Codestruktur](https://www.niceprotect.com/images/help/obfuscation.png)

#### Die Lösung: Tiefes Symbol-Umbenennen

**DotFix NiceProtect** nutzt über 20 Jahre Erfahrung in der Entwicklung von Decompilern, um das Gegenteil zu tun: diese semantischen Hinweise dauerhaft zu löschen.


Unsere Obfuskations-Engine analysiert die Binärstruktur, erstellt einen Abhängigkeitsgraphen aller Objekte und benennt sie in bedeutungslose, zufällige Zeichenfolgen um.

**Vor der Obfuskation:**

*`frmLicense`, `txtPassword`, `btnCheckKey`*

**Nach der DotFix-Obfuskation:**

*`XF92a`, `zQ12`, `L_0f2`*


Die Logik bleibt identisch, aber der Kontext wird zerstört. Ein Angreifer, der nach "AuthForm" sucht, wird nichts finden.

#### Unterstützte Technologien


Unsere einzigartige Engine unterstützt tiefe Obfuskation für:

- **Borland / Embarcadero Delphi:** Von Delphi 3 bis zum neuesten **Delphi 13 Florence** (einschließlich aller XE-Versionen).

- **Free Pascal:** Anwendungen, die mit der **Lazarus**-IDE kompiliert wurden.

- **Visual Basic:** Native Code-Anwendungen, die mit VB 5.0 und 6.0 erstellt wurden.

#### Warum dies für die Sicherheit wichtig ist


Viele Protektoren behaupten, Code zu "obfuskieren", wenden aber nur *Control Flow Flattening* an (Herumspringen im Code). Dies ist zwar nützlich, lässt aber die Karte Ihrer Anwendung (RTTI) intakt. **DotFix NiceProtect** ist eine der Lösungen auf dem Markt, die [Code-Mutation](https://www.niceprotect.com/help/de/mutation.htm) mit **Metadaten-Entfernung** kombiniert und so eine vollständige Verteidigungsstrategie bietet.

**Wichtig:** Aufgrund der aggressiven Natur dieser Umbenennung müssen bestimmte Codierungsmuster (wie das Finden eines Formulars über seinen String-Namen) möglicherweise angepasst werden. Bitte lesen Sie den Leitfaden [Obfuskations-Einschränkungen](https://www.niceprotect.com/help/de/obfuscation_restrictions.htm), bevor Sie diese Funktion aktivieren.
