Inhalt

Obfuskations-Einschränkungen


Obwohl unsere Obfuskations-Engine robust ist, erfordern bestimmte Codierungsmuster in Visual Basic 6.0 Anpassungen, um mit der Metadaten-Entfernung kompatibel zu sein.

1. Steuerelement-Referenzen zur Designzeit

Wenn Sie Steuerelemente zur Designzeit über ihre Namen (String-Literale) in Eigenschaften verknüpfen, wird die Verknüpfung nach der Umbenennung unterbrochen.

Problematisch (Eigenschaft zur Designzeit):
`TreeView1.ImageList = "ImageList1"`

Lösung:
Weisen Sie Referenzen programmgesteuert im `Form_Load`-Ereignis zu:

Private Sub Form_Load()
  Set TreeView1.ImageList = ImageList1
End Sub



2. Späte Bindung / Dynamische Objekterstellung

Vermeiden Sie das Deklarieren von Formularen mit `New` gefolgt von impliziter später Bindung, wenn der Compiler den Aufruf zu einer String-Referenz optimiert.

Mögliches Problem:

Dim oForm as New frmMain
oForm.Show



In einigen Kompilierungsmodi (Native Code mit spezifischen Optimierungen) kann VB6 den Formularnamen als String für diesen Aufruf einbetten. Da der Obfuskator kompilierte Daten und keinen Quellcode verarbeitet, können diese versteckten String-Referenzen Laufzeitfehler verursachen, wenn das Formular umbenannt wird.

Hinweis: DotFix NiceProtect führt aus Leistungsgründen keine vollständige Dekompilierung zu Native Code durch. Daher erfordert das Identifizieren dieser Grenzfälle eine manuelle Überprüfung. Diese Einschränkung gilt speziell für VB6; die Obfuskation von Delphi und Free Pascal ist im Allgemeinen transparenter.

 

Copyright © 2001 - 2026, DotFix Software