Skip to Content
Nouvelle version 12 disponible 🎉
ObfuscatorChiffrement du codeLicence par abonnement

Licence par abonnement avec code Pro chiffré

Cet exemple présente une licence à durée limitée (par abonnement) avec une période de grâce, dans laquelle les fonctionnalités réservées à l’abonnement sont protégées par le chiffrement du code MSIL de Babel Obfuscator. Le code Pro ne peut s’exécuter que tant que l’abonnement, période de grâce comprise, est valide, car la machine virtuelle Babel obtient le mot de passe de déchiffrement à partir de la licence elle-même. Lorsque l’abonnement a expiré et que la période de grâce est écoulée, la licence n’est plus valide et le code Pro chiffré cesse de s’exécuter.

Pour utiliser cet exemple, vous avez besoin d’une licence de site pour Babel Obfuscator (édition Ultimate, Server ou Data Center) et de Babel Licensing. Le code source est disponible sur GitHub :

git clone https://github.com/babelfornet/subscription-license-console-example.git

La licence porte deux dates : une date ExpireDate, appliquée par le moteur et fixée à la fin de la période de grâce (la limite stricte), et un champ indicatif subscription-end, qui marque la date à laquelle le renouvellement est dû. Entre ces deux dates, l’application continue à fonctionner mais rappelle à l’utilisateur de renouveler ; après la limite stricte, la licence n’est plus valide et le code Pro chiffré est verrouillé.

Active -> Pro forecast runs Grace (lapsed) -> Pro forecast runs + "please renew" warning Expired (>grace) -> Pro forecast locked (BVM cannot decrypt it)

La méthode Pro est chiffrée et obtient son mot de passe de la licence par un hook get password :

[Obfuscation(Feature = "msil encryption:internal=true;source=pro;password=...")] public static double Forecast(double[] history) { /* protected body */ }

Un projet associé, LicenseGenerator, émet des licences par abonnement (--days, --grace, --expired) pour vous permettre d’essayer chaque état. Comme la protection est cryptographique, prolonger l’abonnement en modifiant un contrôle de date ne sert à rien : sans licence valide, il n’y a pas de mot de passe, et le code Pro ne peut pas être déchiffré.

Last updated on