Salve a tutti!!
Sto creando una piccola applicazione con i vb.net adesso vorrei proteggerla con un codice, ma non so da dove iniziare...
Potreste darmi qualche dritta??
Ho cercato un po ma non ho trovato manuali e niente...
Grazie a tutti!
Salve a tutti!!
Sto creando una piccola applicazione con i vb.net adesso vorrei proteggerla con un codice, ma non so da dove iniziare...
Potreste darmi qualche dritta??
Ho cercato un po ma non ho trovato manuali e niente...
Grazie a tutti!
Proteggere? Intanto puoi usare degli "obfuscator" per nascondere il tuo codice ma, per il resto, la domanda è troppo generica ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Vorrei fare l'attivazione tramite codice...
Il programma una volta installato si avvia in modalità demo, a quel punto se si vuole acquistare genera un codice, che viene detto a me e con un Key generetor, creo il codice di risposta per attivarlo
Ok ma ... ripeto ... se il codice non è offuscato e si puo' decompilarlo facilmente, non ha senso fare quanto pensi.
Una volta offuscato, quello che hai pensato è fattibile (anche se, personalmente, penso sia inutile), ma devi dire "cosa" non sai fare (non dire tutto ...) perchè, altrimenti, non ti si puo' dire nulla ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
ok il fatto di offuscare il codice provvedo a farlo, senno come dici tu è inutile...
Allora per generare il codice da dirmi per l'attivazione posso anche arrivarci, magari con il seriale dell' HD ( so che è semplice ma per iniziare potrebbe andarmi anche bene), solo che poi non so nel key generetor 1 volta inserito il codice che mi danno cosa deve generarmi...
E poi il programma come deve fare a riconoscere che il codice che metto è valido??
Non so se riesco a spiegarmi...
Creare un codice di attivazione "quadrato" che cela al suo interno delle informazioni criptate non è affatto semplice, per una serie di motivi pratici (il codice non può essere troppo lungo, deve contenere caratteri alfanumerici, non deve essere possibile decriptarlo ne tantomeno risalire facilmente all'algoritmo utilizzato per crearlo).
Ti suggerisco questa soluzione, che per il 90% è abbastanza semplice:
- su un server web crei un db con una tabella (campi necessari: codice, id_pc, assegnato) contenente dei codici "vergini" creati in modo casuale (per esempio alfanumerici, lunghi almeno 10 caratteri), ovviamente tutti diversi gli uni dagli altri. Il campo id_pc rimane per il momento vuoto
- man mano che vendi il tuo software assegni al cliente uno dei codici contenuti nella tabella e scrivi il valore true sul campo "assegnato"
- il cliente esegue l'attivazione con il codice, che la procedura manda via internet (tramite un webservice) insieme ad un id ricavato dal pc (potrebbe essere il seriale dell'HD oppure l'indirizzo mac della scheda di rete)
- se il codice inserito viene trovato nella tabella del db, il server scrive l'id del pc sul campo id_pc e risponde con un file, avente firma digitale, contenente l'id e il codice di attivazione. Questo file verrà salvato da qualche parte nel pc.
Per la firma digitale serve un algoritmo di criptazione asimmetrico (chiave privata e chiave pubblica). Ogni volta che il programma va a verificare la validità della licenza, compie questi passi:
- verifica la presenza del file firmato, se assente blocca il programma o lo manda in modalità "demo"
- verifica la firma del file, utilizzando la chiave pubblica (la chiave privata rimane solo ed esclusivamente nel server!)
- verifica che il file contenga il codice di attivazione e l'id di quel pc
Vediamo i punti a favore di questo metodo di protezione:
- se qualcuno prova ad attivare il software con un codice di attivazione già assegnato, non riceverà il file firmato e l'applicazione non si sblocca
- se qualcuno copia a mano il file firmato da un altro pc, esso non funzionerà perché il nuovo pc ha un id differente
- decompilando il programma non si verrà mai a conoscenza della chiave privata, quindi non sarà possibile creare un keygen o un server fasullo
- la ricerca della chiave privata con un metodo a forza-bruta richiederebbe anni di elaborazione.
Con questo sistema il modo più semplice per crackare il programma è decompilarlo e bypassare la chiamata alla funzione di verifica del file criptato. Se il programma è stato preventivamente offuscato, le cose si complicano un pochino, ma per hacker esperti non è un grosso problema.
A questo punto è opportuno dire che non esiste una protezione infallibile e che il metodo di protezione utilizzato deve essere commisurato al valore del programma da proteggere. E poi, in fin dei conti, la scarsa protezione di certi software commerciali ne ha decretato una diffusione ed un successo tali da far passare in secondo piano le perdite dovute alla pirateria...
Chi non cerca trova.
Tas grazie mille per la riposta, come soluzione mi sembra ottima, anche se dove c'è una chiave è possibile entrarci in qlk modo!!! Questo gia lo sapevo ancora prima di iniziare a creare il software.
Vorrei comunque riuscire a fare un attivazione in "locale" come avevo detto prima...anche solo per farmi un po di esperienza...Puoi consigliarmi qualche guida o qlk metodo??
Riprendo questa discussione perchè interessato all'argomento
da un pò stò realizzando piccole applicazioni gestionali
quella su cui però stò lavorando non è tanto "piccola"
e quindi avrei la necessità di limitare al massimo che
vengano diffuse copie.
siccome non mi aspetto di vendere fuori sede
mi serviva solo capire come ricavare i seriali delle componenti hardware del PC
o magari il seriale di windows
in modo da creare una procedura keygen che mi scomponga quel codice
e mi crei un seriale "univoco" per quella macchina.
lo stesso verrà poi verificato all'avvio dall'applicazione con lo stesso sistema.
al momento lavoro con 2 installer 1 che mi copia un file "chiave" sul pc
e l'installer del software che non parte se non trova il file su indicato!
ma non è il massimo dell' eleganza!!![]()
http://www.google.it/search?hl=it&cl...=&oq=&gs_rfai=
http://weblogs.asp.net/stoianbucovic...th-vb-net.aspx
http://forum.masterdrive.it/visual-b...erativo-21818/
per avere il seriale di windows ecco qui.
Ricordati di importare i riferimenti.
Grazie per le info
ho già messo inpratica
che ne pensi?
www.edilnettuno.it/tmp/Generazione_Seriale.zip]Keygen[/UR