Spiego meglio come vorremmo far funzionare il programma:
- l'istallazione avviene senza problemi
- in fase di primo avvio viene mostrata un codice (dipendente dal tipo
di pc, dall'id del hardisk e/o da altre caratteristiche del pc) che deve
essere data al fornitore del software
- quest'ultimo comunica una chiave di "sblocco" che viene immessa nel
software e gli permette di avviarsi
Non so da che parte iniziare, mi potreste quantomeno dire che "tipo" di
protezione è questa? Giusto per iniziare a cercare qualcosa su google
Grazie
Alessandro
Tempo fa io feci una cosa simile.
La mia protezione si basava sull'ID dell'HD, un dato che dovrebbe essere
univoco, nel senso che non ci dovrebbero essere in circolazione 2 HD con
lo stesso ID.
Recuperato questo valore (con Windows puoi cercare sui vari siti che
raccolgono codice per VB6, con Linux puoi usare direttamente il
contenuto di /dev/disk/by-uuid), te lo fai spedire. Una volta ricevuto,
calcoli un buon hash e poi lo rimandi al cliente. Il software del
cliente controlla che l'hash ricevuto sia identico all'hash calcolato in
locale: se sì, la chiave è corretta ed è quella giusta per il PC su cui
sta girando il programma. Se non lo è, allora una delle 2 precedenti
condizioni non è soddisfatta: la chiave è inventata oppure la chiave è
usata su un PC differente da quello della prima installazione.
Cmq come protezione non è certo il max ma se il cliente è il classico
utilizzatore di PC (internet, posta, documenti word) allora va più che bene.
--
Ciao.
Leo.
Web: www.leonardomiliani.com
E-mail: leon...@leonardomiliani.com
Scegli software opensource - Choose opensource software
Co-fondatore di Gambas-it.org
Il sito di riferimento della comunità italiana degli utenti di Gambas
www.gambas-it.org
> La mia protezione si basava sull'ID dell'HD, un dato che dovrebbe essere
> univoco, nel senso che non ci dovrebbero essere in circolazione 2 HD con
> lo stesso ID.
Beh, sul sito della microsoft puoi scaricare gratuitamente il software
VolumeId.exe; indovina un po' cosa fa... infatti volevo prendere più
dati dell'hardware e aggregarli
> calcoli un buon hash e poi lo rimandi al cliente. Il software del
> cliente controlla che l'hash ricevuto sia identico all'hash calcolato in
> locale: se sì, la chiave è corretta ed è quella giusta per il PC su cui
> sta girando il programma. Se non lo è, allora una delle 2 precedenti
Eh, come ho fatto a non pensarci prima! Idea semplice e funzionale
> Cmq come protezione non è certo il max ma se il cliente è il classico
> utilizzatore di PC (internet, posta, documenti word) allora va più che bene.
Beh, in questi casi dovresti anche offuscare il codice o inventare
qualcosa di simile: con un semplice debugger dovrebbe essere possibile
bypassare il problema ma, appunto, per un classico utilizzatore va più
che bene
Grazie dell'idea
Alessandro
> con Linux puoi usare direttamente il contenuto di /dev/disk/by-uuid)
Non è /dev/disk/by-id?
In /dev/disk/by-uuid ci sono solo le partizioni.
--
Lurkos
Yes :-)