Domanda

Ho sviluppato un piccolo software.Voglio fornire ed eseguire in commercio solo.Voglio essere eseguito nelle macchine che hanno acquistato da me.

Se qualcuno copia dal mio computer client e corre nel prossimo computer, vorrei smettere di funzionare e far funzionare il software.

Quali possono essere i modi per prevenire la pirateria del software?

È stato utile?

Soluzione

Adattamento di una delle mie risposte precedenti:

Ci sono un paio di modi per "attivare" il software copiato per cercare di fermare casual copia dell'applicazione.

In più semplicistico caso, un codice di registrazione ("CD key") acquistato da voi, possibilmente tramite il tuo sito web, e viene inviato all'utente che entra nel programma o il programma di installazione.L'intero processo può fondamentalmente essere fatta in modalità offline;il programma stesso locale determina che il codice è valido o non valido.

Questo è bello e facile, ma è estremamente vulnerabile per la condivisione della chiave dal momento che non c'è nessun "telefonare a casa" l'applicazione non può sapere che migliaia di persone diverse, sono tutte con la stessa chiave che hanno ottenuto una connessione internet o una serie di libreria o di un loro amico.E ' anche abbastanza facile da fare "keygen", che generano un valido apparentemente tasti che non sono mai stati effettivamente rilasciati dagli sviluppatori.

Poi entriamo in una registrazione online.Avete ancora qualche tipo di codice, ma il programma sarà il telefono di casa al server per determinare se il codice è valido e, di solito, unico.Questo smette di base tasto di condivisione, perché la società sa se troppe persone provenienti da tutto il mondo sono tutti con la stessa chiave.Forse c'è un qualche tipo di identificazione coinvolti utilizzando l'indirizzo MAC, troppo, con infinite registrazioni ammessi a parità di hardware, ma forse un numero limitato su quello che sembra essere un computer diverso.

Questo è ancora abbastanza facile e si ferma semplice tasto di condivisione.La gente sarà effettivamente necessario per ottenere in cracking del software o fingere di risposta del server, per ottenere passato.

A volte il programma stesso è parzialmente/quasi sempre cifrati e decifrati solo per la fase di registrazione.A seconda di quanto bene questo è offuscato quindi può essere piuttosto difficile e richiede tempo per crack.Bioshock è stato un esempio di alto-profilo di questo - che debutta con un nuovo marchio di crittografia e di protezione da copia di regime che ha richiesto circa due settimane dal rilascio per essere rotto.

Infine, un particolare custodito applicazione potrebbe rimanere in costante contatto con il server, rifiutando di lavorare a tutti, se la connessione viene interrotta.

Se si sa per certo che tutti gli utenti avranno connessioni internet affidabili quindi può essere considerato abbastanza forti per proteggere l'applicazione, al costo di privacy e di qualche utente sfiducia nei confronti di spyware.

In questo caso per aggirare l'attivazione di cui hanno bisogno per falso il server stesso.Vapore emulatori e private server di WoW sono un esempio di questo.E, in fondo, nulla è uncrackable.

Altri suggerimenti

In poche parole:. Non è possibile

Anche i sistemi molto sofisticati (ad esempio dongle chiavi) possono essere aggirate. Credo che il tuo migliore invito è quello di dare un codice per i vostri clienti e avere un controllo in linea per quel codice, in modo che non possa essere utilizzato due volte.

Naturalmente, questo può essere aggirato troppo ma ...

Come nico ha detto che davvero non si può.

Una soluzione semplice potrebbe essere quella di generare (registrazione / attivazione) i codici che si basano su hardware o il software installato sul computer particolare - id seriale ad esempio la scheda video oppure c:. / Windows ora di creazione

Ho un'idea può essere funziona. Che cosa possiamo fare, faremo un campo di database encorrupted e quel campo sarà vuoto per la prima volta, non appena si installa il software per una macchina che legge il Mac Address + Scheda madre ID Seriale + processore e rendere un valore encorrupted con la combinazione di questi tre e scrivere in quel campo che ho lasciato vuoto per il primo utilizzo.

Dopo che ogni volta che la mia applicazione leggerà questi tre valori e ricreare il valore encrupptted nello stesso modo e confrontare con il valore di quel campo di database. Se il valore del campo database e il valore del campo encrroupted rigenerata è uguale, che significa che il computer è lo stesso altro saggio è installato su qualche altra macchina in questo caso si elimina tutto il codice e può rendere il sistema instabile di punire il persona anche :) ... Per favore fatemi sapere la vostra opinione su questa idea.

Il modo migliore è quello di utilizzare una sorta di hardware di bloccaggio in cui il codice di licenza contiene informazioni circa la macchina su cui verrà eseguito crittografato. Il software sarà quindi verificare la presenza di queste informazioni e abbinare con il computer corrente e se la partita è successo, la licenza viene considerata valida.

Certo, ogni schema può essere violata da qualcuno sulla faccia del pianeta, ma questo non significa che non si dovrebbe usare uno schema di protezione.

Se siete alla ricerca di un sistema di ready-made per questo, dare un'occhiata alla CryptoLicensing .

Le aziende come la nostra (WIBU-Systems), cassaforte-net, e soluzioni senza dongle Flexera (costoso) offrono, oltre a quelli basati su hardware. Ma _simon era proprio in quella un dongle è l'unica protezione ferrea. Tutti i sistemi basati su software può essere violata; è solo che alcuni sono più difficili di altri. Davvero buone soluzioni basate su hardware sono effettivamente uncrackable. Nessuno ha incrinato il bastone CodeMeter meno che l'esecuzione è stata viziata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top