Domanda

Ho un file di licenza per la mia applicazione. L'unico modo in cui può essere rotto in questo momento e l'utente può avere accesso illimitato è eliminando il file di licenza ogni 30 giorni e reinstallare il programma.

Come faccio a proteggere al meglio questo file? (O informazione)

Il mio primo pensiero è quello di nascondere il file alcune cartelle in profondità da qualche parte sotto le finestre% AllUsersProfile%. E utilizzare nomi oscuri per le cartelle da non pubblicizzare il percorso.

Un altro pensiero è stato quello di scrivere nel Registro di sistema, ma non possiamo sempre scrivere alla chiave HKEY_LOCAL_MACHINE come avrei voluto a causa di essa che richiede privilegi di amministratore.

È stato utile?

Soluzione

Praticamente qualsiasi metodo di nascondere o oscurare il file di licenza è violabile. Hai davvero bisogno di decidere tra alcuni scenari:

  1. I fido dei miei clienti, ma potrebbero inavvertitamente rompere il mio termini di licenza
  2. Il mio prodotto è altamente auspicabile e quindi sarà il bersaglio di cracker
  3. Il mio prodotto non è interessante per i cracker, ma i miei clienti sono slimebags e copierà il moccio fuori di esso.

Nel caso in cui 1, un file di licenza semplice per aiutare i clienti con il rispetto va bene. Probabilmente nasconderlo o oscurando non è necessario. Suppongo che non è il tuo caso, dal momento che hai postato questa domanda.

Nei casi 2 e 3, c'è poco da fare, che non può essere facilmente sconfitto. Gli strumenti a disposizione per i cracker sono abbastanza potenti e ampiamente disponibili, insieme a tecniche per il loro utilizzo. La nostra azienda ( www.wibu.us ) ha un crittografo a tempo pieno che ha appena orologi come la gente crepa software in modo che possiamo costruire una maggiore protezione contro di esso.

Probabilmente l'approccio più "normale" per una soluzione fai da te è per crittografare il file di licenza con qualche algoritmo "standard", come AES a 128-bit o triplo DES. Poi fare la chiave da un hash di diversi fattori, come l'indirizzo MAC, il numero di serie MB, data di installazione, e forse alcuni dati utente-ingresso ( "nome" "Telefono", ecc). Tuttavia, crypto possono complicarsi in modo che si desidera assicurarsi di sapere cosa si sta facendo con questo approccio.

Altri suggerimenti

Crea un file di licenza durante l'installazione. E considerare l'assenza di un file di licenza come un file di licenza non valida. Disinstallazione, eliminare il file e reinstallando è molto più fastidioso di una semplice eliminazione di un file.

E odio , se i file con un nome casuale oscura appaiono da qualche parte sul mio sistema, dal momento che mi chiedo se sono stato infettato da un virus, o se è solo un po 'di male si è comportato software.

E non provare troppo duro. E 'inutile per rendere più difficile che scaricare una crepa o strumento di licenza-reset dal prossimo sito warez. E un cracker troverà il file di licenza molto rapidamente con strumenti come FileMon.

Un'idea che potrebbe in realtà il lavoro (eccetto contro crepe che cerotto vostro binario):
Fissare la data di scadenza su download e incorporare il file di licenza nel setup. In questo modo hanno effettivamente bisogno di scaricare una nuova versione ogni volta che scade la loro licenza. Ma, naturalmente, gli utenti possono scoprire che inaccettabili o potrebbero non essere contenute modello di distribuzione ...

Forza l'applicazione di andare a un server remoto sulla porta 80 per verificare un hash che è stato fissato in occasione della prima installazione, forse contro l'indirizzo MAC (non una garanzia assoluta, ma abbastanza buono). Se cercano di installare di nuovo è almeno legata al l'indirizzo MAC e si può fermare l'installazione.

Modifica

Se la vostra base di clienti è piccolo e si hanno le risorse per sostenerli è possibile eseguire lo stesso comportamento che non hanno accesso a internet salvo che il cliente ha bisogno di venire a voi per ottenere un file di licenza. Essi generano una chiave tramite il loro sistema, ancora una volta legato all'indirizzo MAC, quindi inviare la chiave che si genera il file di licenza da. Questo dipende ovviamente dal numero di download in uscita al giorno.

Una soluzione è quella di incorporare una data di scadenza il file di licenza. Se il programma protetto non trova un file di licenza, è valido.

Quindi, anche se l'utente lo elimina, non aiuterà molto, è ancora scaduto.

L'unico problema in questo caso è: è necessario fissare una data di scadenza, quando si distribuiscono i file di licenza. È possibile risolvere questo con altri trucchi (ridistribuire nuove licenze regolarmente, etc.), ma che non può soddisfare ogni tipo di esigenza.

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