| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2009 20:34:42
|
wind
What is classpath?
![[Avatar]](/images/avatar/2f8b7f068a7610d5f4775044c44d28c1.jpg)
Membro desde: 21/01/2008 15:16:36
Mensagens: 8
Offline
|
Olá a todos!!
Confesso que fiquei um bom tempo sem postar nada no GUJ, e me arrependo bastante. Essa comunidade é realmente muito rica, tanto em informações, quanto em pessoal!
Bom, é o seguinte, recebi uma encomenda de um programa pra fazer (não preciso dar muitos detalhes, é só um BDzinho, uma interfacezinha, cadastro de coisas, inserção, remoção e blablabla), mas preciso fazer uma coisa q nunca fiz antes: a pessoa que me encomendou o software vai VENDÊ-LO para outras pessoas, de forma que, pela primeira vez (acostumado q estou com software livre), preciso me preocupar com licença, bloqueio, impedir cópia, registro, e etc e tal.
O cara q me pediu pra fazer o software disse q não pode ser copiado de um HD para outro, e que o software deve EXPIRAR, ou seja, depois de um tempo parar de funcionar e pedir uma nova chave de ativação, ou uma coisa assim.
Realmente não sei como fazer, não tenho idéia nem de como começar. Não sei nem se posso fazer isso usando Java. Por acaso os senhores conhecem alguma estratégia eficiente para tornar um software proprietário, com bloqueio de cópia, e que expire depois de um tempo determinado?
Agradeço desde já a atenção, e parabéns pelo melhor fórum de programação do Brasil!!
|
I'm the WIND, my freedom is my locomotion. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2009 21:16:14
|
peron
JavaGuru
![[Avatar]](/images/avatar/76383b34503afb0508f8364787c55800.jpg)
Membro desde: 09/06/2005 09:39:31
Mensagens: 236
Localização: Blumenau/SC
Offline
|
wind wrote:Olá a todos!!
Confesso que fiquei um bom tempo sem postar nada no GUJ, e me arrependo bastante. Essa comunidade é realmente muito rica, tanto em informações, quanto em pessoal!
Bom, é o seguinte, recebi uma encomenda de um programa pra fazer (não preciso dar muitos detalhes, é só um BDzinho, uma interfacezinha, cadastro de coisas, inserção, remoção e blablabla), mas preciso fazer uma coisa q nunca fiz antes: a pessoa que me encomendou o software vai VENDÊ-LO para outras pessoas, de forma que, pela primeira vez (acostumado q estou com software livre), preciso me preocupar com licença, bloqueio, impedir cópia, registro, e etc e tal.
O cara q me pediu pra fazer o software disse q não pode ser copiado de um HD para outro, e que o software deve EXPIRAR, ou seja, depois de um tempo parar de funcionar e pedir uma nova chave de ativação, ou uma coisa assim.
Realmente não sei como fazer, não tenho idéia nem de como começar. Não sei nem se posso fazer isso usando Java. Por acaso os senhores conhecem alguma estratégia eficiente para tornar um software proprietário, com bloqueio de cópia, e que expire depois de um tempo determinado?
Agradeço desde já a atenção, e parabéns pelo melhor fórum de programação do Brasil!!
Bom, primeiro, tenha em mente que tens que usar, no teu codigo de bloqueio, talvez criptografá-lo: http://bit.ly/15MzHt
Depois de "seguro" o teu próprio codigo, voce deve criar alguma relação chave x maquina que faça com que sua chave só libere aquela máquina para funcionar.
Neste caso aqui, é complicado, Java não acessa hardware nativamente, então, boa sorte! hehehe
Nesta mesma chave, coloque informações de bloqueio que vc deseje, data fixa ou número de dias de uso. Grave esta chave em um arquivo criptografado em seus resoures.
O caminho é mais ou menos esse.
|
Marcos Peron
http://www.marcosperon.com
"Dizem que, no início, Deus criou o céu e a Terra. Mentira! Na verdade, no início Deus criou Java. Onde achas que ele programou o mundo, oras?" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2009 21:59:21
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
Não seria o caso de fazer uma aplicação web?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2009 22:58:59
|
mvargens
JavaEvangelist
Membro desde: 12/05/2008 16:20:26
Mensagens: 301
Localização: Embu
Offline
|
Ví vário sofwares em java pedindo registro on-line. Vai exigir um pouco mais de recursos, mas é uma alternativa.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2009 23:02:42
|
enantiomero
JavaEvangelist
Membro desde: 23/04/2008 09:44:26
Mensagens: 304
Offline
|
http://www.safenet-inc.com/br/index2.asp
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2009 23:03:17
|
mvargens
JavaEvangelist
Membro desde: 12/05/2008 16:20:26
Mensagens: 301
Localização: Embu
Offline
|
Ví vário sofwares em java pedindo registro on-line. Vai exigir um pouco mais de recursos, mas é uma alternativa.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2009 17:42:40
|
wind
What is classpath?
![[Avatar]](/images/avatar/2f8b7f068a7610d5f4775044c44d28c1.jpg)
Membro desde: 21/01/2008 15:16:36
Mensagens: 8
Offline
|
peron wrote:
Bom, primeiro, tenha em mente que tens que usar, no teu codigo de bloqueio, talvez criptografá-lo: http://bit.ly/15MzHt
Dae, peron, blz?
Imagine que vou escrever esse programa em Java, e entregar apenas o .jar pro cara. Ainda assim preciso criptografar o código??
peron wrote:
Depois de "seguro" o teu próprio codigo, voce deve criar alguma relação chave x maquina que faça com que sua chave só libere aquela máquina para funcionar.
Neste caso aqui, é complicado, Java não acessa hardware nativamente, então, boa sorte! hehehe
Você por acaso sabe algum meio de fazer isso? Mesmo usando outra linguagem apenas pra conseguir o número do HD, ou algo assim?
peron wrote:
Nesta mesma chave, coloque informações de bloqueio que vc deseje, data fixa ou número de dias de uso. Grave esta chave em um arquivo criptografado em seus resoures.
O caminho é mais ou menos esse.
Imagino que eu tenho que criar um arquivo (criptografado, lógico), com as informações de usuário licenciado e data de expiração, e fazer o programa procurar sempre esse arquivo ao ser executado. Se caso não achar o arquivo, o programa não faz mais nada (não quero ter problemas porque alguém apagou o arquivo, para tentar burlar o programa).
Pensei na estratégia de escrever a data e o horário de cada acesso nesse arquivo também, para poder controlar a expiração do programa. Assim, se caso o usuário tentar abrir o programa quando este já expirou, o programa pedirá a nova chave de ativação. A questão é que eu não tenho certeza se esse esquema de log de acessos funciona, se o usuário voltar a data do sistema pra um pouquinho depois do último acesso... ele pode conseguir enganar o programa.
O que vcs acham?
Dae, enantiomero!
Cara, interessante o site, tem bastante recursos, mas são privados. Prefiro (e o meu cliente também prefere) algo mais "simples", se é que vcs me entendem.
O programa não é um negócio muito graaaaande, nem nada não, é bem susse, rss.
mochuara wrote:
Não seria o caso de fazer uma aplicação web?
mvargens wrote:
Ví vário sofwares em java pedindo registro on-line. Vai exigir um pouco mais de recursos, mas é uma alternativa.
Oi, mochuara! Fala, mvargens!!
Não, não tem como fazer isso online. O cara não tem domínio online, e também não quer fazer isso...
O programa tem que ser inteiro offline, mesmo, e o cliente tem que entrar em contato com o cara de alguma maneira (telefone, e-mail) pra pedir a nova chave de ativação.
|
I'm the WIND, my freedom is my locomotion. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2009 18:40:30
|
mvargens
JavaEvangelist
Membro desde: 12/05/2008 16:20:26
Mensagens: 301
Localização: Embu
Offline
|
Bom, se o usuário tem que entrar em contato com o distribuidor para fornecer um desbloqueio, ja é quase a mesma coisa que o site on-line. Em vez de fazer uma ferramenta web para ativação do produto, você pode fazer uma ferramenta cliente operada pelo distribuidor para gerar uma chave de ativação.
Você pode ofuscar seu código usando o ProGuard, mas não vai ficar 100% seguro, e se não me engane ele tem problemas com uso de reflexão. Da uma olhada e avalia se vale a pena.
Agora o algorítimo para geração de chaves, acho que vc consegue achar algo na net. Talvez o esquema usado no SSL sirva.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/09/2009 21:41:24
|
psevestre
JavaEvangelist
Membro desde: 13/05/2005 12:53:19
Mensagens: 432
Localização: São Paulo
Offline
|
meio atrasado, mas espero que a dica ainda seja útil:
http://www.safenet-inc.com/products/sentinel/software_protection.asp
A única recomendação que faço é a seguinte: se vc. não é expert na área de segurança, é melhor não inventar moda. Da última vez que vi, o preço por cópia era bem razoável, mesmo em pequenos volumes.
De quebra, este tipo de solução costuma vir com um pacote para gerenciamento das licenças geradas, permitindo flexibilidade quanto a datas de expiração, versões demo, etc.
|
http://justaphilpicks.blogspot.com/ |
|
|
 |
|
|
|
|