Plugins Babel Obfuscator
Babel Obfuscator prend en charge des plugins personnalisés, qui permettent d’étendre les fonctionnalités de l’obfuscateur au-delà de ce qu’il propose en standard. Avec un plugin personnalisé, vous pouvez :
- Créer vos propres algorithmes de chiffrement des chaînes et des valeurs
- Renommer des symboles tels que les types, les méthodes, les propriétés, les événements et les champs
- Fusionner du code personnalisé dans votre assembly
- Définir des règles d’obfuscation en interrogeant les métadonnées de l’assembly
- Modifier le code de l’assembly
- Et bien plus encore…
Les plugins personnalisés se développent avec .NET et s’ajoutent à Babel par l’interface de gestion des plugins.
Exemples de code
Plusieurs plugins Babel sont disponibles sur GitHub, avec leur code source. Si vous souhaitez écrire un plugin personnalisé, ces plugins d’exemple constituent un bon point de départ. Pour télécharger la solution qui contient tous les projets de plugins, utilisez la commande git :
git clone https://github.com/babelfornet/BabelPlugins.gitVous pouvez ainsi parcourir le code et adapter les plugins Ă vos besoins.
Utiliser un plugin en ligne de commande
Babel accepte une liste de fichiers de plugin sur la ligne de commande. Pour indiquer un ou plusieurs fichiers de plugin sur la ligne de commande de babel.exe, utilisez l’option --plugin suivie du chemin complet du fichier de plugin :
babel MyApp.exe --plugin CustomPlugin1.dll --plugin CustomPlugin2.dllVous pouvez passer des arguments aux plugins avec l’option de ligne de commande --argument :
babel MyTarget.exe --plugin CustomPlugin1.dll --plugin CustomPlugin2.dll
--argument arg1=value1 --argument arg2=value2Les arguments sont définis sous forme de paires clé-valeur. Vous pouvez répéter l’option --argument pour indiquer plusieurs arguments.
Utiliser un plugin dans la tâche MSBuild Babel
Si vous utilisez la tâche MSBuild Babel, vous pouvez indiquer une liste de plugins en ajoutant l’attribut Plugins à la tâche Babel, comme suit :
<ItemGroup>
<BabelPlugin Include="DesEncrypt.dll"/>
<BabelPlugin Include="LicenseInjector.dll"/>
</ItemGroup>
<Babel
Plugins="@(BabelPlugin)"
PluginsArguments="arg1=value1;arg2=value2" />La propriété PluginsArguments de la tâche Babel permet d’indiquer les arguments de tous les plugins. La liste des arguments des plugins est une suite de paires clé-valeur séparées par des points-virgules.
Utiliser des plugins depuis Babel Desktop
Pour utiliser un plugin avec un assembly cible dans Babel Desktop :
- Sélectionnez l’assembly cible sur le canevas du projet.
- Dans le groupe Fichiers et dĂ©pendances du panneau des propriĂ©tĂ©s, ajoutez la DLL du plugin Ă
Plugins. La commande Plugins du moteur : configurer les chemins des DLL de la palette de commandes mène à la même option. - Exécutez Plugins du moteur : découvrir les noms d’arguments depuis la palette de commandes pour afficher la liste des arguments que le plugin accepte, puis saisissez leurs valeurs dans
PluginsArguments.
Les plugins s’exécutent dans le moteur d’obfuscation avec les autorisations de votre compte : ne chargez que des DLL de plugin auxquelles vous faites confiance.