Pergunta

Eu tenho alguns software de teste que eu desejo para distribuir aos clientes. Eu quero que o software de avaliação com base parar de trabalhar 30 dias depois de instalado.

Uma simples verificação da data do sistema no software é a maneira mais simples de conseguir isso, mas não conseguiu um cliente contornar facilmente esta protecção, alterando seu tempo / data do sistema no Windows?

Existe uma maneira melhor de fazer o que eu quero?

Foi útil?

Solução

A melhor aposta é a de não avisá-los, e depois de 30 dias (não se esqueça de verificar os dois lados, caso contrário, eles podem ajustar o relógio para, no futuro, instalar o aplicativo, e redefinir o relógio para hoje) ele pára de funcionar, também bloquear o aplicativo uma vez que o período de teste expirou, por isso mesmo que eles, em seguida, reiniciar o relógio, ele ainda deve ser bloqueado

Outras dicas

Eu verificar o tempo de modificação do arquivo modificado mais recentemente (provavelmente existem alguns caminhos comuns que são atualizados com freqüência, mas você pode simplesmente procurar o sistema de arquivos).

Além disso, você pode diminuir o "tempo restante" (armazenado em algum local secreto) pela quantidade de tempo que o aplicativo foi correndo para sua sessão. Quando se chega a 0, eles são feitos. Você também pode detectar que o relógio passou para trás do último valor visto em qualquer sessão, e sancioná-los, removendo por exemplo um dia inteiro.

Quem são seus clientes? Se é para o público em geral, e é um público bastante estreita, eu acho que você pode ficar com a abordagem baseada no tempo. Concordo que os usuários vão ficar doente de ajustar seu relógio do sistema e apenas comprar o seu software. Mas se é uma peça muito popular de software ou se é destinado a desenvolvedores , então sim você provavelmente deve reforçar a proteção julgamento, porque ele vai ficar rachado muito rapidamente.

Sim, eles podem mexer o relógio do sistema. Mas gradualmente se torna mais e mais inconveniente para fazê-lo o mais longe que fica para além da data final do período experimental. Eles vão dar-se sobre o uso de seu software antes dinking com o relógio.

Ou, ainda mais provável, eles vão cortar o seu esquema de proteção para que ele lhes dá um período indeterminado de tempo para usá-lo.

Eu sugiro fazer o seu software chamada de volta para o servidor periodicamente; o usuário pode mexer com o relógio do sistema tudo que ele quer, mas você controla o relógio em seu servidor. Se o servidor sabe quando a licença foi emitida, pode responder adequadamente a uma solicitação do cliente, independentemente do estado do relógio do cliente.

Disclaimer & plugue: a empresa que co-fundou produz o OffByZero Cobalt solução licenciamento . É uma solução completa para proteção de software, e especificamente com o tipo de cenário por tempo limitado você menciona.

Como se observa, o licenciamento baseado no tempo é muito fácil de se locomover. Você pode saltar através de algumas aros para impedir as pessoas de redefinir o seu relógio do sistema. Você poderia entrar em contato com um servidor de horário certificado e definir o seu relógio interno que forma, mas não seria preciso ser um cientista de crack que se pode acessar seu código. Uma maneira fácil é apenas para encontrar o cheque tempo na listagem asm e filial em torno dele.

Temos trabalhado nisso há anos (divulgação: trabalho eu para uma empresa de proteção de cópia (www.wibu.us)) e usar uma combinação de um relógio interno em um chip de cartão inteligente e certificado servidores de tempo, além de alguns código para se certificar de que você nunca pode definir o tempo de volta (código é sempre criptografado por isso não é patchable). Nós também temos uma solução apenas de software que utiliza um relógio interno, mas não em um chip de cartão inteligente. Há desvantagens para todas as medidas de segurança; encontrar as compensações certas para o seu mercado, preço, etc, são o truque.

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