Protezione di programmi Proteus |
In alcune circostanze può essere utile proteggere gli script Proteus dopo che sono stati realizzati e testati, ad esempio per impedire che altre persone possano modificarli, oppure perché non si vuole divulgare il contenuto o gli algoritmi implementati, o ancora per evitare che altri possano farli propri, copiarli e rivenderli.
Per questo motivo, Proteus incorpora un sistema di cifratura dei programmi basato su chiavi generate casualmente e viene fornito un programma apposito, PCOMPILE.PRE, per compilare i propri programmi in file protetti.
Il principio di funzionamento è molto semplice. Dopo che si è realizzato un programma che viene eseguito correttamente da Proteus (denominato nell'esempio program.prt) si procede a compilarlo in questo modo:
proteus pcompile.pre program.prt
Vengono così prodotti altri due file: program.pre e program.prk.
L'estensione ".PRE" sta per PRoteus Encrypted (Proteus Cifrato); questo file contiene il programma originale (nel quale sono stati inclusi tutti i file referenziati dalle direttive !include), cifrato attraverso il file ".PRK". Quest'ultimo viene creato casualmente all'atto della compilazione e deve essere sempre distribuito assieme al file ".PRE" per poterne permettere il funzionamento. Qualora si ricompili il file program.prt dopo avervi apportato delle modifiche, se il file ".PRK" è ancora disponibile vengono riutilizzate le stesse chiavi impiegate per l'ultima operazione di protezione.
Il file program.prk contiene al suo interno una firma digitale che permette di verificare facilmente se il programma è stato compilato con una particolare chiave hardware di protezione; eseguendo infatti:
proteus -$ program.prk
verrà visualizzato uno dei seguenti messaggi:
Messaggio Significato autenticita` verificata - licenza #numero licenza il file chiavi è stato prodotto dalla chiave attualmente inserita nel computer verifica autenticita` fallita il file chiavi è stato prodotto con una chiave diversa da quella attualmente inserita nel computer verifica autenticita` impossibile l'interprete utilizzato è una versione demo (privo di chiave di protezione); l'operazione di verifica è impossibile
I programmi protetti si eseguono allo stesso modo degli altri; l'unico accorgimento necessario è la specifica per esteso del nome del programma (inclusa l'estensione, che dovrà essere sempre lasciata a ".PRE"); ovviamente, come già detto, il corrispondente file ".PRK" deve sempre accompagnare il programma protetto.
Nota importante: per l'esecuzione dei programmi protetti non è necessaria la presenza della chiave con la quale sono stati trasformati in file ".PRE"; questi ultimi sono eseguibili anche con la versione demo di Proteus.
Per limitare l'esecuzione dei programmi ai soli computer equipaggiati con chiavi hardware predefinite si utilizza la funzione W32PROTLICENSE come in questo frammento di codice:
; Controlla il valore restituito da W32PROTLICENSE ; per determinare se il computer può eseguire ; l'applicazione SWITCH W32PROTLICENSE() ON "20040101001", "20040101002", "20040101003" ; Tutte queste chiavi sono abilitate OTHER CONSOLELN "Chiave non autorizzata!" ABORT 0 OFF ; Chiave verificata: possiamo proseguire
Una volta protetto il programma, questo diventerà eseguibile esclusivamente sui computer equipaggiati con le chiavi indicate.
Inizio pagina | Prossimo argomento | Argomento precedente | Indice per argomenti | Indice analitico |