Skip to Content
Nouvelle version 12 disponible 🎉
Obfuscator

Code source

Le plugin est distribué avec son code source C# complet. Pour générer le plugin à partir du code source, il vous faut :

  • Visual Studio 2022 ou version ultérieure
  • La dernière version de Babel Obfuscator, édition Enterprise ou Ultimate

Instructions de génération

Ouvrez le fichier de solution Visual Studio Babel.BabelEncrypt.sln et générez le projet. Le projet du plugin référence babel.exe, le build .NET Framework de l’outil en ligne de commande, dans le dossier où vous avez extrait l’archive zip babel_net472. Si la référence à babel.exe est introuvable, retirez-la et ajoutez babel.exe depuis ce dossier.

Modifier le code

Si vous prévoyez de modifier le code source, cette section vous donne des repères et des conseils pour démarrer facilement.

Fichiers source

Le projet Encrypt Plugin contient les fichiers suivants.

EncryptPlugin.cs

Ce fichier contient la classe EncryptPlugin, qui implémente l’interface des plugins Babel. Le plugin inscrit la classe de service de chiffrement des chaînes que Babel Obfuscator utilise pour chiffrer les chaînes. Les arguments passés sur la ligne de commande babel sont traités ici, à l’initialisation du plugin.

StringEncrypter.cs

La classe StringEncrypter fournit le service de chiffrement des chaînes. Elle contient le code qui ajoute le déchiffreur à la cible d’obfuscation et implémente les méthodes de chiffrement des algorithmes XOR et HASH. La méthode Encrypt(...) est le point d’entrée : Babel Obfuscator l’appelle pendant la phase de chiffrement des chaînes, et la chaîne est alors traitée par le chiffreur XOR ou HASH. À la fin de la phase de chiffrement, la méthode Terminate() est appelée pour stocker les données chiffrées dans la cible. À l’exécution, le code de déchiffrement incorporé récupère les données chiffrées dans la cible obfusquée.

StringDecrypter.cs

Ce fichier contient toute la logique de déchiffrement qui sera fusionnée avec l’assembly cible. Comme les classes de ce fichier doivent être compilées et fusionnées pendant l’exécution du plugin, ce fichier est compilé comme ressource incorporée (Embedded Resource) de la DLL du plugin.

Pour vérifier temporairement la syntaxe du code ou y apporter des modifications, vous pouvez faire passer l’action de génération (Build Action) de Embedded Resource à Compile. Une fois les modifications terminées, revenez à Embedded Resource et déboguez vos modifications.

Déboguer le plugin

Pour déboguer le plugin, ouvrez les propriétés du projet Babel.BabelEncrypt, sélectionnez la page de propriétés Debug et créez un profil. Définissez ensuite la configuration suivante :

Configuration de débogage

Executable

<dossier d’extraction>\babel.exe, par exemple C:\Tools\Babel\babel.exe (le dossier où vous avez extrait l’archive zip)

Command line arguments (arguments de la ligne de commande)

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

Ici, MyApp.exe est l’assembly cible qui sera obfusqué à l’aide du plugin.

Last updated on