Proteção intelectual

12 respostas
L

Olá pessoal, procurei algum tópico sobre isso e não encontrei, me perdoem se já existir.

Estava cogitando sobre desenvolver uma aplicação GUI em java.
Pesquisando vi uma coisa que me fez ponderar sobre essa decisão. É possível descompilar facilmente os ,JAR e .class, eu mesmo fiz testes e comprovei.
Vi também que existem obfuscators, mas que não garantem que alguém descompile seu código e modifique alguma coisa.

Alguém tem algo a compartilhar sobre isso?

[]'s

12 Respostas

s4nchez

Se seu software for suficientemente complexo/especializado, voce nao precisa se preocupar com isso. Em outras palavras, enquanto o custo de engenharia reversa for maior do que a licenca/suporte que voce cobra, o risco de alguem “copiar” seu codigo eh minima.

E

Olha e uma questão complicada, o que eu recomendaria e usar um ofuscador em cima de outro, isto torna o código extremamente ilegível, mas também pode tornar o código mais lento, enfim e uma questão de peso, e uma balança e você tenque saber balancear, descompilar um código hoje em dia não e uma grande vantagem, a não ser que seja um sistema muito complexo , mas como o amigo falou ai em cima, um sistema complexo, torna isto mais inviável ainda.

L

Pensei que tinha achado a solução: http://www.excelsior-usa.com/articles/java-to-exe.html
Nos meus testes funcionou legal, mas será que é tanta vantagem assim?
Usar só para proteger o código iria tirar o cross-plataform da minha aplicação.
Fora que em questão de velocidade na execução não senti diferença nenhuma (fiz poucos testes), pesquisando vi que o java compila a aplicação em tempo de execução, talvez aí esteja a resposta.

Agradeço as opiniões, mas só para trazer mais papo sobre isso, como fica a questão da segurança? No meu caso penso em fazer uma aplicação 3 camadas, logo a inteligência não deve estar na camada de apresentação, mas o fato de alguém poder mudar meu código pode ser uma brecha de segurança no caso de uma falha do programador.

Acho bom seguir o modelo MVC a risca.

I

Distribui em uma licença livre e para de se preocupar com isso, assim qualquer alteração que for feita será reportada pra ti.
O software evolui de modo independente e tu fica livre pra fazer outras coisas enquanto isso acontece.

M

Não se preocupe com a possibilidade de alguém descompilar o código, até porque a legibilidade do código descompilado é minima, até onde sei todos os nomes atribuidos a variaveis e metodos são perdidos no processo, imagina a situação! o que tem no seu código de tão especial para justificar o trabalho?

Mas isso não quer dizer que ele deve ser aberto, porque a não ser que vc seja uma grande empresa com muitos advogados disponíveis, ninguém garante que eventuais trabalhos derivados do seu serão reportados de volta só porque uma licenca assim prega.

Mas vamos falar a real, é muito provavel que ninguém além de vc esteja interessado neste código. Apenas se preocupe em fazer a melhor GUI que vc já fez e não distribua o código a ninguem. Não é tão dificil, portanto chega de procrastinar e mãos a obra!

L

Entendo o ponto de vista de vocês… concordo com vocês em tudo o que vocês disseram.

Vou tentar explicar melhor o porque de quebrar tanto a cabeça em cima disso.

Meu software (que atualmente é feito em VB6) é distribuído a um custo baixo, a quantidade de vendas é grande, ele é vendido junto com um equipamento, ao qual se comunica.
Quando o cliente opta por utilizar o software, precisa fazer a ativação, ele liga para a gente, passa uma senha e nós retornamos uma contra-senha.
Enquanto ainda não é feita a ativação, o software funciona em modo de demonstração, com limitações, coisa e tal.

Imagina se alguém, muda o código para tirar a parte do bloqueio. Lascou todo meu esquema…

Estou viajando? Existe alguma outra solução diferente do que o meu esquema atual?

P

Se está em VB6, é só usar um Hardlock e correr para o abraço. Sem o hardlock o software não roda. Pode piratear a vontade…

Pode ser que já tenham uma forma de aplicações Java acessarem.Alguns anos atrás, usamos com VB6 e deu certo.

http://www2.safenet-inc.com/br/products_shk.asp

L

Verifiquei o site desse produto, parece que eles trabalham com .NET e não java.

Valeu pela dica.

[]'s

P

Eles sempre trabalharam com várias linguagens.

Vários produtos usam hardlocks para evitar pirataria e quer saber ? Acho difícel burlar o sistema deste por isto digo que ele vale o quanto pede, que nem é caro.

Como eu disse, proibir de piratear não vai, mas só quem comprar o hardlock de vc é que vai poder rodar. Cada hardlock é único e programável e não adianta vir querer editar executável para remover a proteção que não funfa. Enfm, chega de propaganda gratuita. Se te interessa, informe-se com ele e tire as dúvidas.

A

Na verdade, funciona sim. Tem um amigo meu que quebrou a proteção do sistema que a gente utilizava com hardlock em questão de horas. (Ele tava demonstrando exatamente a vulnerabilidade do produto).

Quanto ao assunto original, eu diria para você relaxar também.
Se teu software já é vendido a custo baixo, não seria muito interessante alguém ter todo esse trabalho para tirar essa proteção.

Depois, se piratearem, pode ser uma chance para você expandir seus negócios.
Na hora que um cliente com software pirateado precisar de uma nova feature no sistema, ele vai procurar sua empresa.
Você regulariza a situação e ganha um cliente novo.

M

ltpp:
Entendo o ponto de vista de vocês… concordo com vocês em tudo o que vocês disseram.

Vou tentar explicar melhor o porque de quebrar tanto a cabeça em cima disso.

Meu software (que atualmente é feito em VB6) é distribuído a um custo baixo, a quantidade de vendas é grande, ele é vendido junto com um equipamento, ao qual se comunica.
Quando o cliente opta por utilizar o software, precisa fazer a ativação, ele liga para a gente, passa uma senha e nós retornamos uma contra-senha.
Enquanto ainda não é feita a ativação, o software funciona em modo de demonstração, com limitações, coisa e tal.

Imagina se alguém, muda o código para tirar a parte do bloqueio. Lascou todo meu esquema…

Estou viajando? Existe alguma outra solução diferente do que o meu esquema atual?

Existe algum motivo para o sistema não poder contar com atualização online (o equipamento é para uma mina de carvão?), ou seu esquema é lançar o software sem manutenção evolutiva? (pra lascar o cliente?)

L

Tem atualização sim… quando o cliente quer uma versão mais nova com mais recursos ele compra, faz o download e está tudo certo.

Acho que tudo gira em torno do cliente precisar do know-how do desenvolvedor, ele sempre estará preso à habilidade de quem sabe dar manutenção no software.

Criado 10 de outubro de 2010
Ultima resposta 17 de out. de 2010
Respostas 12
Participantes 7