Qual è il modo migliore per creare un programma che funziona solo nel periodo di prova predefinito (periodo di valutazione)?

StackOverflow https://stackoverflow.com/questions/2481320

  •  21-09-2019
  •  | 
  •  

Domanda

Ho bisogno di creare una semplice applicazione che non funziona dopo 30 giorni.

Come posso fare questo?

C'è un modo per utilizzare il programma di prova dopo 30 giorni?

È stato utile?

Soluzione

C'è sempre un modo per utilizzare un programma di prova dopo 30 giorni.

Altri suggerimenti

Se per "migliore" si vuol dire almeno fragile, allora c'è davvero solo un modo: ne fanno un "software come servizio" Internet-based. Se non si fornisce l'accesso, non sono l'utilizzo del software. Se si tratta di un'applicazione desktop basata su , poi qualche pezzo fondamentale della funzionalità avrebbe dovuto ancora essere su un server online da qualche parte.

Se l'hacker ha l'intera applicazione sulla propria macchina locale, può essere reverse engineering e "cracking" in qualche modo. L'unico modo per superare questo è quello di assicurare che una parte delle funzionalità non è mai sulla propria macchina.

Credo che una soluzione migliore è un'applicazione funzionalità limitate - dico che si può fare le operazioni di base, ma per sfruttare le migliori caratteristiche si deve ottenere una licenza a pagamento. Questo fa due cose - supponendo che la vostra applicazione è ben fatto e interessante per una varietà di utenti. In primo luogo, è possibile ottenere un numero maggiore di persone di provare la tua app. In secondo luogo è possibile ottenere qualche buona volontà rilasciando la versione "lite" libero.

Se si ha realmente bisogno di fare una prova a tempo limitato, quindi vorrei considerare avere scrivi una chiave crittografata al Registro di sistema (Windows) o un punto file (linux). Questa chiave potrebbe codificare la data di scadenza. Utilizzando la crittografia reversibile consente di ottenere questo valore di nuovo fuori. Utilizzando una chiave segreta aiuta a proteggere contro qualcuno generare la propria chiave (valido). L'applicazione con licenza potrebbe utilizzare lo stesso meccanismo chiave, ma la crittografia di un valore chiave che consente l'utilizzo permanente.

Dalla mia risposta di attuazione-expiration date-in-an -l'applicazione / 1871218 # 1871218 :

  

Probabilmente il più facile da usare per farlo è quello di tenere traccia del numero di giorni che un utente ha utilizzato il software. Ad esempio, ogni volta che il programma viene avviato si potrebbe scrivere una data per un file crittografato (a meno che la data è già presente nel file). Poi, una volta ci sono più di, diciamo, 30 date nel file, lasciate all'utente di sapere è il momento di acquistare la versione completa.

     

prodotti reali come Beyond Compare utilizzare questo schema - grande per i potenziali clienti che installano il prodotto e non ne fanno uso per soli 30 giorni di tempo per scoprire che la prova è scaduto.

Anche tenere a mente che il vostro schema non deve essere perfetto, appena lo rendono abbastanza forte che non sarà conveniente per gli utenti di romperlo.

Avere la richiesta programma di una chiave dal server al primo avvio e verificare la sua validità ogni volta che il programma viene avviato e ogni 24 ore.

Un'altra opzione è quella di avere un compilatore lato server quando si scarica l'applicazione. Questo può "iniettare" una chiave di licenza nel binario. È possibile farlo utilizzando una costante in un file separato. Questo può poi essere collegato con gli altri file pre-comiled. Questo metodo è più lento ma più difficile da decifrare come l'hacker avrebbe bisogno di decompilare il programma.

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