PDA

View Full Version : Proteggere file e cd...


di_emme
07-04-2005, 17:29
...esistono dei componenti o degli strumenti che mi consentano di sviluppare (con Delphi), in un software, la protezione/sprotezione dei file allegati allo stesso?

...eventualmente come posso proteggere il cd dalla duplica?

cionci
08-04-2005, 08:18
Per proteggere il CD dalla duplicazione puoi fare poco o niente... Anche le protezioni commerciali più famose si bypassano con niente...

Riguardo al proteggere i file allegati al progetto...potresti crittarli con qualche algoritmo... Comunque facendo reverse engineering sull'eseguibile si potrebbe scovare facilmente la chiave per decrittare i file... Le uniche protezioni che funzionano discretamente sono quelle su chiave hardware... Tanto per farti un esempio, queste: http://www.smartkey.eutron.it/ita/home.asp

di_emme
08-04-2005, 14:36
Ti ringrazio per la risposta...

L'importante per noi, cmq, sarebbe riuscire a protteggerci da tentativi di duplica da parte di utenti con conoscenze medio basse... quindi anche un sistema anticopia o di crittografia, seppur minimo, sarebbe un buon passo avanti... soprattutto per il discorso anticopia... ho letto di tracce modificate e cose simili...

cionci
08-04-2005, 15:54
Con la crittografia all'interno del programma non ti proteggi dalla copia, ma la limite dal reverse engineering...

Per proteggere dalal copia potresti attuare una politica di questo tipo: il programma per funzionare ha bisogno di una dll che non è distribuita con il CD... Questa dll contiene una funzione che verifica alcuni dati relativi all'hardware su cui il programma gira... I dati sono scritti all'itnerno della DLL... Quando si installa il programma viene avviata una procedura di registrazione obbligatoria che invia i dati necessari al tuo sito web (compreso un seriale)... Tramite un programma modificarai la DLL template con i dati relativi a questa nuova installazione... La DLL modificata la invii all'utente tramite mail o direttamente tramite il programma che effettua la registrazione... Il seriale permette di verificare che i dati di registrazione siano coerenti (con la prima registrazione effettuata o con i dati di fatturazione)...

lombardp
08-04-2005, 18:37
Originariamente inviato da cionci
Con la crittografia all'interno del programma non ti proteggi dalla copia, ma la limite dal reverse engineering...

Per proteggere dalal copia potresti attuare una politica di questo tipo: il programma per funzionare ha bisogno di una dll che non è distribuita con il CD... Questa dll contiene una funzione che verifica alcuni dati relativi all'hardware su cui il programma gira... I dati sono scritti all'itnerno della DLL... Quando si installa il programma viene avviata una procedura di registrazione obbligatoria che invia i dati necessari al tuo sito web (compreso un seriale)... Tramite un programma modificarai la DLL template con i dati relativi a questa nuova installazione... La DLL modificata la invii all'utente tramite mail o direttamente tramite il programma che effettua la registrazione... Il seriale permette di verificare che i dati di registrazione siano coerenti (con la prima registrazione effettuata o con i dati di fatturazione)...

Molto simile sarebbe una strategia tipo quella del sistema di licenze FLEXLM (molto usato in ambito industriale).

La versione più "leggera" di questo sistema prende si basa sul numero seriale dell'hard disk, oppure sul MAC address della scheda di rete. Ti fai dire dal cliente questo "dato", poi con un algoritmo che solo tu conosci, tiri fuori una stringa esadecimale lunga quanto vuoi.
L'utente inserirà la stringa nel programma (o in un file ASCII). Il programma verificherà la congruenza tra il dato in questione e la stringa.

Questo sistema non protegge dalla copia, ma dall'utilizzo.

Ti permette infatti di:
- Vincolare l'utilizzo ad un certa macchina
- Complicando l'algoritmo puoi inserire anche esecuzioni a "funzioni ridotte" di un dato programma
- Complicando l'algoritmo puoi inserire date di scadenza, utili per esempio per dare il programma in "prova".

E' ovvio che tutto ciò può essere "aggirato", ma dovrebbe poter fare al caso tuo.

cionci
08-04-2005, 18:45
Sì...infatti quando ho scritto: "Questa dll contiene una funzione che verifica alcuni dati relativi all'hardware" intendevo dati del genere...

di_emme
08-04-2005, 19:17
Ottimo suggerimento... Oltretutto abbiamo già una procedura di attivazione tramite numero seriale inviato via internet...

Cercavo proprio informaizoni sulla protezione dalla copia!!!

Ancora grazie a tutti!!! :D

cionci
09-04-2005, 07:51
Ah altra cosa... Potresti effettuare una deregistrazione del seriale durante la disinstallazione del software...questo permeterebbe agli utenti di spostare la propria copia da un PC ad un altro...

Altra cosa il software potrebbe verificare periodicamente che non ci siano altre installazioni attive con quel seriale...inviando il seriale e i dati sull'hardware al sito ;) In questo modo ti proteggi dal Ghost... Ad esempio: faccio una copia con Ghost di un hd con il software installato funzionante... Disinstallo il software (a te viene comunicata la disinstallazione) ripristino il contenuto del hd dall'immagine con Ghost... Reinstallo su un altro PC con lo stesso seriale...

Ovviamente dovresti scriverlo nella licenza...anche perchè lo faresti senza la conferma dell'utente...

di_emme
09-04-2005, 11:39
Giustamente!!! Perfetto... grazie dei suggerimenti!!! ;)

cionci
09-04-2005, 11:44
In caso tu stia rilevando qualche irregolarità elimina la DLL dal disco e festa finita... E il programma deve essere riattivato per funzionare di nuovo...

Poix81
09-04-2005, 14:28
Originariamente inviato da cionci
Per proteggere il CD dalla duplicazione puoi fare poco o niente... Anche le protezioni commerciali più famose si bypassano con niente...

Riguardo al proteggere i file allegati al progetto...potresti crittarli con qualche algoritmo... Comunque facendo reverse engineering sull'eseguibile si potrebbe scovare facilmente la chiave per decrittare i file... Le uniche protezioni che funzionano discretamente sono quelle su chiave hardware... Tanto per farti un esempio, queste: http://www.smartkey.eutron.it/ita/home.asp

ciao!
hai mai usato una di queste chiavi?
quasi quasi volevo prenderne una per prova.

ciao ciao e grazie

cionci
09-04-2005, 14:34
No ma le hanno usate miei amici e si sono trovati veramente bene... Volevo prendere anche io un kit di prova, ma costa 15 € di spese di spedizione...quindi gratuito un piffero...

Poix81
09-04-2005, 15:06
e' vero!
alla fine vengon fuori 21€!

ma come fai ad integrarlo in un tuo progetto? ci sono delle librerie a disposizione?

ciao caio

cionci
09-04-2005, 15:13
Originariamente inviato da Poix81
ma come fai ad integrarlo in un tuo progetto? ci sono delle librerie a disposizione?
Ci sono sia delle librerie che dei programmi che servono a cryptare il tuo eseguibile...

Poix81
09-04-2005, 15:18
Originariamente inviato da cionci
Ci sono sia delle librerie che dei programmi che servono a cryptare il tuo eseguibile...


grazie 1000 per le informazioni.
Lo prendo e lo provo.

ciao ciao