Skip to Content
Nueva versión 12 disponible 🎉
ObfuscatorCifrado de códigoLicencia por suscripción

Licencia por suscripción con código Pro cifrado

Este ejemplo muestra una licencia de duración limitada (por suscripción) con un período de gracia, en la que la funcionalidad exclusiva de la suscripción se protege con el cifrado de código MSIL de Babel Obfuscator. El código Pro solo puede ejecutarse mientras la suscripción, incluido su período de gracia, sea válida, porque la máquina virtual de Babel obtiene la contraseña de descifrado de la propia licencia. Cuando la suscripción vence y se supera el período de gracia, la licencia deja de validarse y el código Pro cifrado deja de ejecutarse.

Para usar este ejemplo necesita una licencia de sitio de Babel Obfuscator (ediciones Ultimate, Server o Data Center) y Babel Licensing. El código fuente está disponible en GitHub:

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

La licencia lleva dos fechas: una ExpireDate que el motor hace cumplir, fijada en el final del período de gracia (la fecha límite definitiva), y un campo informativo subscription-end que marca cuándo hay que renovar. Entre esas dos fechas la aplicación sigue funcionando pero recuerda al usuario que renueve; pasada la fecha límite definitiva, la licencia deja de validarse y el código Pro cifrado queda bloqueado.

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

El método Pro está cifrado y obtiene su contraseña de la licencia mediante un hook get password:

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

Un proyecto complementario, LicenseGenerator, emite licencias por suscripción (--days, --grace, --expired) para que pueda probar cada estado. Como la protección es criptográfica, alargar la suscripción parcheando una comprobación de fecha no sirve de nada: sin una licencia válida no hay contraseña, y el código Pro no se puede descifrar.

Last updated on