Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Gestione licenza
Forum - C# / VB.NET - Gestione licenza

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
sps84 (Normal User)
Pro


Messaggi: 196
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 11:49
Mercoledì, 03/01/2018
Buongiorno a tutti e buon anno, ho sviluppato un programma ed inserito un sistema per gestire la licenza, quest'ultima viene generata concatenando i seriali della scheda madre hdd più un codice univoco per l'installazione il tutto cryptato etc etc. Tutto funziona perfettamente, poi mi sono accorto, che alcune aziende che rivendono il programma per evitare la licenza creano l'immagine del sistema operativo, con lo stesso modello della macchina. Facendo così per fortuna che sono onesti e mi avvisano ogni volta ma meglio restare nel dubbio che qualche installazione a gratis se la siano fatta. Come posso ovviare?

Avevo intenzione di gestire le licenze anche tramite un server apposito, in modo che ad ogni avvio il programma si autentichi, vi sembra una soluzione intelligente?

Nel caso manchi la connessione ad internet?

grazie a tutti per qualsiasi consiglio.


L'apprendista di C#...
PM Quote
Avatar
Mikelius (Member)
Pro


Messaggi: 167
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 12:28
Mercoledì, 03/01/2018
Dipende da te. Come vuoi legare la licenza e dal tipo di software che hai prodotto.

Personalmete non la legherei ad internet tranne che il software stesso necessiti della rete per funzionare.
Costringeresti ad avere una connessione attiva in ogni PC in cui il software è installato.

Da quanto ho capito è pure legata all'HARDWARE, ma cosa succede se dovessero cambiare un componente?

Troppe "rotture" (stesso hardware, internetacceso ecc ecc) potrebbero far proprendere le aziende a cambiare programma (io lo farei se in commercio ci fosasero software simili).

Ancora ad oggi, non c'è un metodo infallibile per evitare che i propri software vengano usati senza permesso in locale (l'unico caso che mi viene in mente è DIABLO III, ma che ha parte del gioco sul server, quindi devi per forza avere una connessione).

Forse una cosa che potresti fare che non distirbi troppo è legare gli AGGIORNAMENTI alla licenza e AL HARDWARE O AL IP, mi spiego:

Io mi compro il tuo programma, e lo registro tramite internet con il mio IP. Ogni aggiornamento potrò effettuarlo solamente se il KEY è l'IP conincidono con quelli della registrazione. Almeno potresti evitare che utenti non registrati aggiornino il programma.  


"Io ne ho viste cose che voi umani non potreste immaginarvi...."
PM Quote
Avatar
sps84 (Normal User)
Pro


Messaggi: 196
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 15:18
Mercoledì, 03/01/2018
Il problema è che creando l'immagine di windows, per il sistema di validazione della licenza il seriale dell'hdd e della motherboard non cambia, anche se in realtà è differente, penso sia un problema di windows, in questo modo non esiste controllo, l'unica soluzione è avere una connessione ad internet penso :yup:


L'apprendista di C#...
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5557
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:50
Mercoledì, 03/01/2018
Non puoi farci nulla. Tutte copie del tuo programma potrebbero essere vendute illegalmente. La connessione è una pessima idea perché devi garantire l'uso anche in assenza di connessione.

Una strada potrebbe essere quella


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Mikelius (Member)
Pro


Messaggi: 167
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 15:54
Mercoledì, 03/01/2018
Testo quotato

Postato originariamente da sps84:

Il problema è che creando l'immagine di windows, per il sistema di validazione della licenza il seriale dell'hdd e della motherboard non cambia, anche se in realtà è differente, penso sia un problema di windows, in questo modo non esiste controllo, l'unica soluzione è avere una connessione ad internet penso :yup:



Dovresti altrimenti implementare un sistema proprio di riconoscimento dei vari componenti, ad esempio che ne ricavi il vero ID Hardware.


"Io ne ho viste cose che voi umani non potreste immaginarvi...."
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1758
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 9:28
Giovedì, 04/01/2018
Puoi usare un bel sistema.

1 opzione più costosa ma molto efficace.
Puoi comprare un hardlock.

E memorizzare la seriale direttamente li.


2 puoi usare una semplice chiavetta usb.
Recuperi informazioni come seriale del dispositivo ecc. Ecc.

Se non connessa nn parte il software.
Io ho usato la prima opzione ma ovviamente il dispositivo costa un bel po'.

Ma oggi trovi un po' di tutto guarda qui
http://www.oxysec.com/swprotection?gclid=Cj0KCQiAvrfSBRC2A ...

Ultima modifica effettuata da Thejuster il 04/01/2018 alle 9:30


PM Quote
Avatar
Mikelius (Member)
Pro


Messaggi: 167
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 14:46
Giovedì, 04/01/2018
Testo quotato

Postato originariamente da Thejuster:

Puoi usare un bel sistema.

1 opzione più costosa ma molto efficace.
Puoi comprare un hardlock.

E memorizzare la seriale direttamente li.


2 puoi usare una semplice chiavetta usb.
Recuperi informazioni come seriale del dispositivo ecc. Ecc.

Se non connessa nn parte il software.
Io ho usato la prima opzione ma ovviamente il dispositivo costa un bel po'.

Ma oggi trovi un po' di tutto guarda qui
http://www.oxysec.com/swprotection?gclid=Cj0KCQiAvrfSBRC2A ...




Pregi e difetti delle soluzioni?


"Io ne ho viste cose che voi umani non potreste immaginarvi...."
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1758
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 20:23
Giovedì, 04/01/2018
Hardlock è uno dei sistemi più sicuri che esista.
Perché in pratica si tratta di una chiave che viene collegata alla porta parallela all'interno della chiave
è possibile osservare il chip contenuto.


per la chiavetta usb è possibile risare al seriale della chiavetta
ed usare quello come codice identificativo uinico.
oppure tramite il VendorID anche se sconsigliato.
Basterebbe una chiavetta usb simile dello stesso vendor per aprire ugualmente il programma.
invece caricando il seriale è molto più sicuro.

I difetti sono:

Hardlock essendo un sistema datato necessita di una porta parallela.
e con un buon reversing o tramite un programma chiamato Sentinel si può aggirare il supporto.
la chiave in'oltre và configurata tramite un apposito tool.

Per il seriale della chiavetta uhm credo sia vermente difficile riuscire a trovare due chiavette con lo stesso
seriale nello stesso negozio.
E non credo che il negoziate ti faccia provare la chiavetta prima di comprarla.
e dovresti spendere 10€ per ogni chiavetta.
ed a quel punto fai prima a comprarti il programma che andare a tentativi e comprare chiavette.




Ultima modifica effettuata da Thejuster il 04/01/2018 alle 20:25


PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1479
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 22:24
Giovedì, 04/01/2018
Di che grado il di sicurezza hai bisogno? Quanto costa il programma? Quante ore puoi investirci? Il prezzo del programma può salire? Queste informazioni dovresti darcele per avere delle soluzioni che hanno senso.

Se il programma costa 20EUR non ha senso pensarci. Se costa 100EUR io abbinerei una chiavetta USB normalissima da usare come seriale. In particolare creerei una piccola posizione che lo contiene, insieme alle informazioni dei PC che possono eseguire il software. Un PC è identificato dai serial dei vari componenti fisici e un mac address. Ovviamente questo tiene distanti solo i novellini, alza il prezzo del software e occupa uno slot USB. Non necessita di confessione ad internet. Se il tuo software deve essere attivato online puoi avvalerti di quel momento per controllare che non girino troppi seriali identici.... Se invece vuoi un metodo molto affidabile, puoi investirci tempo e il costo può aumentare usa una chiavetta USB cifrata. Falle contenere una parte (importante) del tuo programma, tipo un pezzo di algoritmo.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo