Se for Java desktop não adianta perder tempo com isso. Quem quiser burlar é só descompilar o jar e retirar a linha que faz a validação.
J
Jonathan_Medeiros
Eu implementei licença de uso em um arquivo xml criptografado, onde eu solicito um novo arquivo válido sempre no vencimento da anterior para que então o usuário possa acessar o sistema, nele eu armazeno uma chave de uso, validade, e o id do HD da máquina em que o software está instalado, sempre que é inserido uma nova licença eu armazeno os dados no BD para cruzar as informações, nunca tive problemas!
Você considera essa prática insegura ?
J
javaflex1 like
Não importa o que fizer na aplicação, podem facilmente descompilar o programa, depurar até o ponto que ocorre o bloqueio e retirar essas linhas de código.
O que importa é o serviço prestado.
H
Heitor_Veloso
Existem algumas ferramentas que transformam o jar em exe, tornando ele um arquivo executável e dificultando a engenharia reversa.
J
javaflex
O Java não roda .exe. O .exe só esconde o .jar.
P
pfk66
Dependendo do perfil do usuário, ele não sabe nem o que é compilar um programa, quanto mais descompilar ou depurar.
Mas para outros casos, uma solução seria transformar o software que ele quer proteger num serviço com acesso via APIs.
M
Maks_Silva1 like
Gente meus clientes sao noobs, nao vendo para hackers
pra mim a solucao pode ser a mais simples possivel, pois os clienetes que eu tenho nao sabem nem operar o computador direito kkkkkkk
H
Heitor_Veloso1 like
Eu em java desktop utilizo o modelo cliente servidor, então eu pego o mac do servidor + a data que a aplicação pode chegar, uso uma criptografia e depois no servidor fica rodando uma thread que verifica de tempos em tempos se o MAC é igual e também se está dentro da data, coloco na aplicação para avisar que a licença chegou ao fim ,mas permito rodar por até mais 5 dias.
M
Maks_Silva
me passa o codigo por favor
H
Heitor_Veloso
O código é você que tem que desenvolver, cada um faz de uma maneira diferente, e apesar de muitos programadores quererem ajudar outros, eles só dão instruções e não parte vitais de seu código que levou muito tempo e trabalho para fazer.
J
javaflex
Se na empresa e na família do dono só tem “noobs”, faz da maneira mais fácil possível. Por exemplo, use a data como chave de liberação, usando qualquer criptografia para noobs.
1 - Seu sistema verifica em uma tabela no banco de dados se a mensalidade já foi paga no mês/ano.
2 - Caso não tiver pago, o sistema pede pro usuário a chave.
3 - Você gera a chave com a data criptografa pro usuário.
4 - O sistema descriptografa, valida a data e atualiza no banco.
Pra quem faz um sistema isso é bem trivial. E se o controle for por máquina, basta incluir o nome da máquina na chave.
M
Maks_Silva
É o meu primeiro sistema, ja esta rodando, sobre proteção implementei o do java plugados, mas nao deu certo.
pra mim é ta complicado a parte de proteção, sou iniciante mas com a mão na massa.
Obrigado a todos por me ajudar.
J
javaflex
Cara, isso é programação como qualquer outra coisa. Se você fez o sistema, isso é só mais uma funcionalidade. Os passos que postei sao super simples. Se tiver alguma dúvida pontual é só postar que o pessoal ajuda.
M
Solucao aceita
Maks_Silva
Consegui utilizar o algoritimo do JAVA PLUGADOS com algumas alterações deu certo