Algorithme personnalisé
Le chiffrement personnalisé des chaînes vous permet de définir vos propres méthodes de chiffrement et de déchiffrement, et donc d’obfusquer les chaînes à votre manière. Pour l’utiliser, vous devez définir deux méthodes dans l’assembly cible : EncryptString et DecryptString. Les deux méthodes doivent avoir la même signature : elles acceptent une chaîne en paramètre et renvoient une chaîne, qui est respectivement la chaîne chiffrée ou la chaîne déchiffrée. Ces méthodes vous laissent libre d’implémenter l’algorithme de chiffrement de votre choix pour les chaînes de votre code, ce qui vous donne plus de souplesse et de maîtrise sur le processus d’obfuscation.
/// <summary>
/// Encrypt a string.
/// </summary>
/// <param name="text">The string to encrypt.</param>
/// <returns>The encrypted string.</returns>
[Obfuscation(Feature = "string encryption encrypt method")]
internal static string EncryptString(string text)
{
// Encrypt the text string and return the encrypted string object.
return ...;
}
/// <summary>
/// Decrypt an encrypted string.
/// </summary>
/// <param name="text">The encrypted string.</param>
/// <returns>The decrypted string.</returns>
[Obfuscation(Feature = "string encryption decrypt method")]
internal static string DecryptString(string text)
{
// Decrypt the text string and return the decrypted string object.
return ...;
}Les méthodes EncryptString et DecryptString sont désignées par l’attribut Obfuscation, avec la chaîne Feature appropriée, ce qui permet à Babel d’identifier les points d’entrée du code pour le chiffrement et le déchiffrement des chaînes.
Une fois les méthodes EncryptString et DecryptString définies et désignées par l’attribut Obfuscation approprié, vous pouvez activer le chiffrement personnalisé des chaînes dans Babel.
Vous pouvez activer le chiffrement personnalisé des chaînes dans Babel Desktop, depuis la ligne de commande ou avec la tâche MSBuild.
Babel Desktop
Dans Babel Desktop, sélectionnez l’assembly et réglez StringEncryption sur custom dans le groupe Chiffrement du code du panneau des propriétés.
Pour personnaliser et étendre davantage les capacités de chiffrement, Babel prend aussi en charge l’intégration de plugins externes. Cette fonctionnalité offre un mécanisme de chiffrement plus souple et plus robuste, adapté aux besoins et aux exigences de sécurité propres à votre application.
Ligne de commande
Pour activer le chiffrement personnalisé des chaînes de Babel depuis la ligne de commande, saisissez la commande :
babel myapp.exe --strings customTâche MSBuild Babel
Si vous utilisez la tâche Babel, vous pouvez activer le chiffrement personnalisé des chaînes en ajoutant ce qui suit à votre fichier de projet :
<PropertyGroup>
<StringEncryption>custom</StringEncryption>
</PropertyGroup>
<Babel StringEncryption="$(StringEncryption)" ... />Vous pouvez également implémenter un chiffrement personnalisé des chaînes à l’aide de plugins externes (voir Plugins Babel Obfuscator).