Qual é a melhor maneira de criar um programa que funciona apenas no período de teste predefinido (período de avaliação)?

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

  •  21-09-2019
  •  | 
  •  

Pergunta

Preciso criar um aplicativo simples que não funcione após 30 dias.

Como eu posso fazer isso ?

Existe uma maneira de usar o programa de teste após 30 dias?

Foi útil?

Solução

Sempre existe uma maneira de usar um programa de teste após 30 dias.

Outras dicas

Se, por "melhor", você quer dizer menos quebrável, haverá realmente apenas uma maneira: torne-o um aplicativo "como serviço" baseado na Internet. Se você não fornecer acesso, eles não estão usando o software. Se for um aplicativo baseado em desktop, então algumas partes importantes da funcionalidade ainda teriam que estar em um servidor on -line em algum lugar.

Se o hacker tiver todo o aplicativo em sua máquina local, Pode ser engenhado reverso e "rachado" de alguma maneira. A única maneira de superar isso é garantir que alguma parte da funcionalidade nunca esteja em sua máquina.

Eu acho que uma solução melhor é um aplicativo com limites de recursos-digamos que você pode fazer operações básicas, mas para aproveitar os melhores recursos que você precisa obter uma licença paga. Isso faz duas coisas-supondo que seu aplicativo seja bem feito e interessante para uma variedade de usuários. Primeiro, você pode obter um número maior de pessoas para experimentar seu aplicativo. Segundo, você pode obter uma boa vontade liberando sua versão "Lite" gratuitamente.

Se você realmente precisa fazer uma tentativa limitada pelo tempo, eu consideraria que ele escreve uma chave criptografada para o registro (Windows) ou um arquivo de ponto (Linux). Essa chave pode codificar a data de vencimento. O uso de criptografia reversível permite obter esse valor de volta. Usar uma chave secreta ajuda a proteger contra alguém que gera sua própria chave (válida). O aplicativo totalmente licenciado pode usar o mesmo mecanismo de chave, mas criptografar um valor -chave que permite o uso permanente.

Da minha resposta para implementação-expiração-datas em uma aplicação/1871218#1871218:

Provavelmente, o mais amigável para fazer isso é acompanhar o número de dias em que um usuário usou seu software. Por exemplo, cada vez que seu programa é iniciado, você pode escrever uma data em um arquivo criptografado (a menos que a data já exista no arquivo). Depois de mais do que, digamos, 30 datas no arquivo, informe o usuário que é hora de comprar a versão completa.

Produtos reais, como além do comparar, use esse esquema - ótimo para clientes em potencial que instalam seu produto e não o usam por 30 dias apenas para descobrir que o teste expirou.

Lembre -se também de que seu esquema não precisa ser perfeito, apenas fortaleça o suficiente para que não seja conveniente para os usuários quebrá -lo.

Peça ao programa que solicite uma chave do seu servidor na primeira execução e verifique sua validade sempre que o programa começar e a cada 24 horas.

Outra opção é ter um compilador do lado do servidor ao baixar o aplicativo. Isso pode "injetar" uma chave de licença no binário. Você pode fazer isso usando uma constante em um arquivo separado. Isso pode ser vinculado aos outros arquivos pré-conciliados. Esse método é mais lento, mas mais difícil de quebrar, pois o hacker precisaria descompilar o programa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top