Domanda

Desidero implementare il mio software su base shareware, in modo che l'utente lo sia dato un periodo di prova massimo di (diciamo) 30 giorni con cui provare il software. All'acquisto intendo che all'utente venga fornita una chiave generata casualmente, che una volta inserita abilita nuovamente il software.

Non sono mai stato su questa strada prima d'ora, quindi qualsiasi consiglio o feedback o puntatore a modi "standard" su come farlo sarebbe molto apprezzato.

Non prevedo che gli utenti imbrogliano cambiando la data del sistema o qualcosa del genere, anche se probabilmente vale la pena considerare. Ci scusiamo se questo argomento è già apparso in precedenza.

È stato utile?

Soluzione

Per quanto riguarda una chiave generata in modo casuale, come verificherai che una chiave sia legittima o se una chiave è falsa se è effettivamente casuale? Dai un'occhiata all'articolo " Implementazione di un sistema di verifica parziale del numero di serie " dato che è abbastanza buono ed è facile da implementare in qualsiasi lingua.

Per quanto riguarda le prove a tempo, come soluzione di base sarebbe quella di confrontare il tempo di creazione dei file eseguibili principali con l'ora di sistema corrente e agire sulla differenza. Ciò presuppone che il programma di installazione imposta il tempo di creazione dei file al momento dell'installazione invece di preservare il tempo in cui è stato compilato! :)

Altri suggerimenti

Inoltre, fai attenzione che l'ora cambi radicalmente, se la data corrente è magicamente inferiore alla data di installazione e così via.

Un modo per aggirare questo tipo di blocco dati è quello di cambiare la data prima dell'installazione per essere anni in futuro. Quindi dovresti verificare che la data odierna non sia inferiore alla data di installazione.

Se il tuo software è davvero utile, troverai sicuramente copie crackate su P2P prima di vedere il tuo primo ordine. Questo accadrà non importa quanto sia sofisticato il codice di applicazione della licenza che stai per implementare.

Detto questo, memorizza semplicemente la data di prima esecuzione da qualche parte (potrebbe essere il registro, se su Windows) e dopo 30 giorni rifiuta di iniziare, o semplicemente apri una finestra di promemoria.

Non preoccuparti degli imbroglioni, troveranno un modo per aggirare le tue restrizioni, non importa quale. Preoccupati per i tuoi clienti onesti e fai del tuo meglio per non rendere la loro vita più dura.

Eric Sink ha scritto di più su questo qui (sezione 4) .

Al primo avvio, è possibile memorizzare la data effettiva da qualche parte.
Ad ogni avvio successivo, cerchi la data memorizzata, se esiste la leggi e se è trascorsa più di 30 giorni dal primo avvio, interrompi il programma.

Consulta questa libreria .

Descrizione:

  

Converti qualsiasi applicazione in shareware a tempo limitato. Genera numeri di serie per registrarlo. Una libreria di funzioni che offre un sistema di blocco flessibile con crittografia solida. Facile da implementare. Supporto per VB, C ++, Delphi, altre lingue.

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