Aplicação Trial

Alguém já fez alguma aplicação que expirasse em 15, 30, X dias?
pode me dar uma dica de como fazer?

valeu

Jeito porco:

No start-up do programa, vc checa um arquivo de configuracao e determina quanto tempo falta pra expirar.

Jeito menos porco:

No start-up do programa, vc pega a chave do usuario gravada em algum lugar e define qto tempo o cara ainda tem de uso.

Jeito fodão, mas que dá um trabalhinho:

No start-up, vc se conecta a um servidor na sua empresa, que determina se o trial expirou ou não. Pra deixar a inicializacao mais rapida, vc pode fazer isso só de vez em quando (a cada 10 usos do programa, por exemplo)

Ajudou? :slight_smile:

Seja como for, faça com JNI

Ué, o que se tem a ganhar com JNI aqui, além de um pouquinho de segurança contra decompilação?

Não precisa ser descompilação, basta AOP.
E com JNI você pode acessar recursos do SO que te auxiliam para esse fim, como os de DRM da próxima versão do windows ou um hardlock.

Na boa, pessoal, mas será que não estamos viajando muito? Acho que a solução mais simples seria a criação de uma chave no registro do sistema operacional com a data (que, para dificultar só um pouquinho os crackers, poderia estar em milissegundos) de instalação do software e contar o tempo a partir daí.

Mas poderia ser facilmente enganado, bastando alterar o relógio do sistema. Pra dificultar, o programa poderia guardar o timestamp da última vez que o programa rodou, e se o relógio do sistema for anterior ao timestamp, expira o prazo de vez, já que o usuário está tentando enganar o programa…

Acho que a melhor maneira mesmo é se conectando a um servidor de prazo.

bem
mas o mais seguro mesmo seria verificar com o servidor remoto.
ai nao teria jeito de quebrar. a menos que hackeassem seu servidor :slight_smile:
tudo que estiver local voce corre risco.

realmente, achei mais interessante o fato de se conectar ao um servidor, porém para isso o cliente teria que estar conectado a internet quando fosse utilizar, ou fazer uma conexão discada para o meu servidor… a lá bbs, hehehehe
só que ai tem um problema, a aplicação que quero fazer trial, irá rodar até em máquinas de chão de fábrica…
o esquema de salvar no registro do windows é uma boa… tirando que o cara pode localizar o registro e modificar… mas acho que é a solução mais viável…
alguém tem alguma documentação de como trabalhar com o registro do windows?

Eu sei que vao me xingar, mas… pra que fazer uma app que expira? É um teste de ego: se seu prog for bom cair no gosto de todo mundo, vai aparecer um crack pra ele. Se nao, as pessoas simplesmente vao parar de usá-lo.

Programas impossíveis de crackear fazem acessos remotos. Mas se usa aplicacao nao usa nada do servidor, apenas faz uma verificacao, é muito chato vc ver o progz conectando no servidor pra verificar se ele ainda pode usar o prog. Dá a impressao de que ele instalou um spyware. Pra contornar isso vc tem que contar pra ele que vc tá fazendo um acesso ao servidor central e vai verificar se a cópia dele ainda está válida. Isso nao o livra de suspeitas, lógico.

E quando o seu servidor cair? E se o cara tá offline??

[]s!!!

[quote=“guscoppi”]
o esquema de salvar no registro do windows é uma boa… tirando que o cara pode localizar o registro e modificar… [/quote]

Cria umas quatro ( :shock: ) chaves então e coloca uns nomes bem loucos nessas chaves. O cara vai ter que ser muito ninja para achar e mudar as quatro chaves. :smiley:

Até mais.

Mesmo assim, continua sendo seguranca por obscuridade… e seguranca por obscuridade NUNCA dá certo :wink:

até que é uma boa criar algumas chaves… ai da pra fazer uma fazendo referencia a outra e calculando algumas coisas… pq senão o cara altera as 4 chaves, hehehehehe

mas sobre a documentação… alguém tem alguma coisa?

Se vc estiver usando JDK 1.4, da uma olhada na API de Preferences:

http://java.sun.com/j2se/1.4.1/docs/guide/lang/preferences.html