Skip to Content
Neue Version 12 verfügbar 🎉

Abonnementlizenz mit verschlüsseltem Pro-Code

Dieses Beispiel zeigt eine zeitlich begrenzte Lizenz (Abonnementlizenz) mit einer Kulanzfrist, bei der die dem Abonnement vorbehaltenen Funktionen mit der MSIL-Codeverschlüsselung von Babel Obfuscator geschützt sind. Der Pro-Code kann nur laufen, solange das Abonnement einschließlich seiner Kulanzfrist gültig ist, weil die Babel Virtual Machine das Passwort zur Entschlüsselung aus der Lizenz selbst bezieht. Ist das Abonnement über die Kulanzfrist hinaus abgelaufen, wird die Lizenz nicht mehr validiert, und der verschlüsselte Pro-Code läuft nicht mehr.

Für dieses Beispiel brauchen Sie eine Standortlizenz für Babel Obfuscator (Edition Ultimate, Server oder Data Center) und Babel Licensing. Der Quellcode ist auf GitHub verfügbar:

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

Die Lizenz enthält zwei Datumsangaben: ein von der Engine erzwungenes ExpireDate, das auf das Ende der Kulanzfrist gesetzt ist (der endgültige Stichtag), und ein weiches Feld subscription-end, das angibt, wann die Verlängerung fällig ist. Zwischen diesen beiden Datumsangaben funktioniert die Anwendung weiter, erinnert den Benutzer aber an die Verlängerung. Nach dem endgültigen Stichtag wird die Lizenz nicht mehr validiert, und der verschlüsselte Pro-Code ist gesperrt.

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

Die Pro-Methode ist verschlüsselt und bezieht ihr Passwort über einen Hook get password aus der Lizenz:

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

Ein begleitendes Projekt LicenseGenerator stellt Abonnementlizenzen aus (--days, --grace, --expired), damit Sie jeden Zustand ausprobieren können. Weil der Schutz kryptografisch ist, hilft es nicht, das Abonnement durch das Patchen einer Datumsprüfung zu verlängern: Ohne gültige Lizenz gibt es kein Passwort, und der Pro-Code lässt sich nicht entschlüsseln.

Last updated on