Plugins für Babel Obfuscator
Babel Obfuscator unterstützt benutzerdefinierte Plugins, mit denen Benutzer den Obfuscator über den mitgelieferten Funktionsumfang hinaus erweitern. Mit einem benutzerdefinierten Plugin können Sie:
- eigene Algorithmen für die Zeichenfolgen- und Wertverschlüsselung erstellen
- Symbole wie Typen, Methoden, Eigenschaften, Ereignisse und Felder umbenennen
- eigenen Code mit Ihrer Assembly zusammenführen
- Verschleierungsregeln definieren, indem Sie die Metadaten der Assembly abfragen
- den Code der Assembly ändern
- und vieles mehr…
Benutzerdefinierte Plugins werden mit dem .NET Framework entwickelt und über die Schnittstelle zur Plugin-Verwaltung in Babel eingebunden.
Codebeispiele
Auf GitHub stehen mehrere Babel-Plugins mit ihrem Quellcode bereit. Wer ein eigenes Plugin schreiben möchte, kann diese Beispiel-Plugins als Ausgangspunkt nehmen. Die Projektmappe mit allen Plugin-Projekten laden Sie mit dem folgenden git-Befehl herunter:
git clone https://github.com/babelfornet/BabelPlugins.gitSo können Benutzer den Code untersuchen und die Plugins an ihre Anforderungen anpassen.
Plugins auf der Befehlszeile verwenden
Babel nimmt auf der Befehlszeile eine Liste von Plugin-Dateien an. Um auf der Befehlszeile von babel.exe eine oder mehrere Plugin-Dateien anzugeben, verwenden Sie den Schalter --plugin, gefolgt vom vollständigen Pfad der Plugin-Datei:
babel MyApp.exe --plugin CustomPlugin1.dll --plugin CustomPlugin2.dllMit dem Befehlszeilenschalter --argument übergeben Sie Argumente an die Plugins:
babel MyTarget.exe --plugin CustomPlugin1.dll --plugin CustomPlugin2.dll
--argument arg1=value1 --argument arg2=value2Die Argumente werden als Schlüssel-Wert-Paare angegeben. Für mehrere Argumente verwenden Sie den Schalter --argument mehrfach.
Plugins in der MSBuild-Aufgabe Babel verwenden
Wenn Sie die MSBuild-Aufgabe Babel verwenden, geben Sie eine Liste von Plugins an, indem Sie der Aufgabe Babel wie folgt das Attribut Plugins hinzufügen:
<ItemGroup>
<BabelPlugin Include="DesEncrypt.dll"/>
<BabelPlugin Include="LicenseInjector.dll"/>
</ItemGroup>
<Babel
Plugins="@(BabelPlugin)"
PluginsArguments="arg1=value1;arg2=value2" />Mit der Eigenschaft PluginsArguments der Babel-Aufgabe geben Sie Argumente für alle Plugins an. Die Liste der Plugin-Argumente ist eine Folge von Schlüssel-Wert-Paaren, die durch Semikolons getrennt sind.
Plugins in Babel Desktop verwenden
So verwenden Sie ein Plugin für eine Ziel-Assembly in Babel Desktop:
- Wählen Sie die Ziel-Assembly auf der Zeichenfläche des Projekts aus.
- Fügen Sie im Eigenschaftenbereich in der Gruppe Dateien und Abhängigkeiten die Plugin-DLL zu
Pluginshinzu. Der Eintrag Engine-Plugins: DLL-Pfade konfigurieren der Befehlspalette springt zur selben Option. - Führen Sie in der Befehlspalette Engine-Plugins: Argumentnamen ermitteln aus, um die Argumente aufzulisten, die das Plugin annimmt, und geben Sie deren Werte dann in
PluginsArgumentsein.
Plugins laufen innerhalb der Verschleierungs-Engine mit den Berechtigungen Ihres Kontos. Laden Sie deshalb nur Plugin-DLLs, denen Sie vertrauen.