Skip to Content
Nuova versione 12 disponibile 🎉
ObfuscatorCifratura del codiceFile cifrato esterno

Funzionalità come file cifrato esterno

Questo esempio distribuisce una funzionalità premium come codice cifrato fornito separatamente dall’applicazione, sbloccato solo quando il cliente ha anche una licenza che la concede. Babel Obfuscator può estrarre il corpo cifrato di un metodo in un file .eil esterno invece di incorporarlo. In fase di esecuzione la Babel Virtual Machine chiede all’applicazione quel file (get stream) e la relativa password (get password). Questo esempio subordina entrambi gli hook a una licenza Babel Licensing valida, quindi per sbloccare la funzionalità premium servono due cose insieme: il file premium.eil distribuito accanto all’app e una licenza firmata e vincolata al computer che concede la funzionalità.

Per usare questo esempio ti servono una licenza per sede di Babel Obfuscator (edizioni Ultimate, Server o Data Center) e Babel Licensing. Il codice sorgente è disponibile su GitHub:

git clone https://github.com/babelfornet/external-encrypted-code-console-example.git

Poiché per la funzionalità source è impostato ma internal no, Babel scrive il corpo cifrato in premium.eil invece di incorporarlo:

[Obfuscation(Feature = "msil encryption:source=premium;password=...")] // no internal -> external .eil public string Analyze(string data) { /* premium body, stripped to premium.eil */ } [Obfuscation(Feature = "msil encryption get stream")] // returns the premium.eil stream (license-gated) [Obfuscation(Feature = "msil encryption get password")] // returns the password (license-gated)

Il progetto copia premium.eil dalla cartella intermedia della build alla cartella di output con un piccolo target MSBuild AfterTargets="Build", così il file può essere distribuito, oppure trattenuto di proposito per vendere la funzionalità separatamente.

Standard license, no premium.eil -> Premium blocked Premium license, no premium.eil -> Premium blocked (feature not delivered) Standard license, premium.eil -> Premium blocked (not licensed) Premium license + premium.eil -> Premium analysis runs

Vedi File di codice esterni nel manuale della cifratura del codice per saperne di più sul meccanismo .eil.

Last updated on