Skip to Content
Neue Version 12 verfügbar 🎉
Obfuscator

Quellcode

Das Plugin wird mit dem vollständigen C#-Quellcode geliefert. Um es aus dem Quellcode zu erstellen, brauchen Sie:

  • Visual Studio 2022 oder neuer
  • Die aktuelle Version von Babel Obfuscator in der Enterprise- oder Ultimate-Edition

Das Plugin erstellen

Öffnen Sie die Projektmappendatei von Visual Studio, Babel.BabelEncrypt.sln, und erstellen Sie das Projekt. Das Plugin-Projekt referenziert babel.exe, den Build des Befehlszeilentools für .NET Framework, aus dem Ordner, in den Sie das Zip-Paket babel_net472 entpackt haben. Wird die Referenz auf babel.exe nicht gefunden, entfernen Sie sie und fügen Sie babel.exe aus diesem Ordner hinzu.

Den Code ändern

Wenn Sie den Quellcode ändern möchten, finden Sie hier eine kurze Übersicht und nützliche Hinweise, die den Einstieg erleichtern und für einen reibungslosen Start sorgen.

Quelldateien

Das Projekt des Encrypt Plugin enthält die folgenden Dateien.

EncryptPlugin.cs

Diese Datei enthält die Klasse EncryptPlugin, die die Plugin-Schnittstelle von Babel implementiert. Das Plugin registriert die Dienstklasse für die Zeichenfolgenverschlüsselung, mit der Babel Obfuscator Zeichenfolgen verschlüsselt. Die auf der Befehlszeile von babel übergebenen Argumente werden hier verarbeitet, wenn das Plugin initialisiert wird.

StringEncrypter.cs

Die Klasse StringEncrypter stellt den Dienst für die Zeichenfolgenverschlüsselung bereit. Sie enthält den Code, der die Entschlüsselungsroutine in das Verschleierungsziel einbindet, und implementiert die Verschlüsselungsmethoden für die Algorithmen XOR und HASH. Die Methode Encrypt(...) ist der Einstiegspunkt: Babel Obfuscator ruft sie in der Phase der Zeichenfolgenverschlüsselung auf, und die Zeichenfolge wird dann von der XOR- oder der HASH-Verschlüsselung verarbeitet. Am Ende der Verschlüsselungsphase wird die Methode Terminate() aufgerufen, um die verschlüsselten Daten im Ziel abzulegen. Der eingebettete Entschlüsselungscode liest die verschlüsselten Daten zur Laufzeit aus dem verschleierten Ziel.

StringDecrypter.cs

Diese Datei enthält die gesamte Entschlüsselungslogik, die mit der Ziel-Assembly zusammengeführt wird. Da die Klassen dieser Datei während der Ausführung des Plugins kompiliert und zusammengeführt werden, wird die Datei als Embedded Resource (eingebettete Ressource) der Plugin-DLL eingebunden.

Um die Syntax des Codes vorübergehend zu prüfen oder den Code zu ändern, können Sie die Build Action (Buildvorgang) von Embedded Resource auf Compile umstellen. Nach allen Änderungen stellen Sie wieder auf Embedded Resource um und beginnen mit dem Debuggen Ihrer Änderungen.

Das Plugin debuggen

Um das Plugin zu debuggen, öffnen Sie die Projekteigenschaften von Babel.BabelEncrypt, wählen Sie die Eigenschaftenseite Debug und legen Sie ein neues Profil an. Legen Sie dann die folgende Konfiguration fest:

Debugkonfiguration

Executable (ausführbare Datei)

<Entpackordner>\babel.exe, zum Beispiel C:\Tools\Babel\babel.exe (der Ordner, in den Sie das Zip-Paket entpackt haben)

Command line arguments (Befehlszeilenargumente)

MyApp.exe @ -v5 —stringencrypt custom —plugin BabelEncrypt.dll

Dabei ist MyApp.exe die Ziel-Assembly, die mit dem Plugin verschleiert wird.

Last updated on