Skip to Content
Nouvelle version 12 disponible 🎉
ObfuscatorChiffrement des valeursValeurs prises en charge

Valeurs prises en charge

Le chiffrement des valeurs et des tableaux s’active séparément pour chaque type de données : vous pouvez ainsi ne protéger que ce qui compte et laisser le reste intact. Voir Configuration pour savoir comment les sélectionner.

Valeurs chiffrées

TypeCe qui est protégé
int32Constantes entières 32 bits : toutes les formes de ldc.i4, y compris les petites valeurs, -1 et int.MinValue/int.MaxValue. Comme les constantes C# byte, sbyte, short, ushort, char, bool et enum sont compilées en chargements int32, elles sont également protégées par cette option.
int64Constantes entières 64 bits (long/ulong).
singleConstantes à virgule flottante 32 bits (float).
doubleConstantes à virgule flottante 64 bits (double) et littéraux decimal (dont les composants sont stockés sous forme de constantes entières).
arrayTableaux en ligne d’éléments primitifs initialisés à partir d’un blob de données : tableaux de int, byte, sbyte, short, long, double, float, char, bool et d’énumérations, par exemple int[] a = { 1, 2, 3 };.

Valeurs laissées inchangées

Pour que le programme obfusqué se comporte exactement comme l’original, certaines données en ligne ne sont volontairement pas transformées et sont émises telles quelles :

  • Tableaux qui ne sont pas initialisés à partir d’un seul blob de données primitives : tableaux multidimensionnels (int[,]), tableaux en escalier (int[][]) et tableaux de structures ou d’autres types référence. Le compilateur les construit élément par élément et non à partir d’un blob chiffrable ; leurs éléments restent donc individuellement soumis au chiffrement des valeurs numériques lorsqu’il s’applique.
  • Constantes de chaîne : elles relèvent de la fonctionnalité dédiée de chiffrement des chaînes, et non du chiffrement des valeurs.

Activer tous les types offre la protection la plus large ; utilisez un sous-ensemble lorsque vous n’avez besoin de masquer que certaines sortes de données, ou que vous voulez réduire au minimum le surcoût à l’exécution décrit dans Performances.

Last updated on