Aplicação Java pode ser descompilada?

6 respostas
ibotirama

Seguinte eu estou prestes a iniciar uma aplicação Web, só que ouvi um comentário de que se pode fácilmente descompilar uma aplicação Java, gostaria de saber até onde isso é verdade pois esta aplicação será vendida e instalada nos servers dos clientes.

Eu vi aqui no fórum que existe o JProductivity e o ProGuard, eles realmente iram proteger o código ?

Grato

6 Respostas

Adelar

Toda aplicação Java compilada para plataforma Java (arquivos produzidos com extensão .class) pode ser descompilada… o que pode ser feito é fazer com que o código fonte fique ilegível, o que pode ser feito através das ferramentas que vc citou.

Att.

ViniGodoy

Pode sim. Mas protegem muito pouco.

Agora, numa boa… se seu cliente está te contratando, é porque ele mesmo não quer desenvolver a solução.
Então, pense com carinho em deixar ele descompilar à vontade, e faça um produto de qualidade. Assim, se ele fizer isso, seu código vai virar um excelente portifólio.

Se quiser algo realmente não descompilável, use C++. Qualquer linguagem .Net também é facilmente reversível.

Josenir

Isso é mau. Acontece que existe muita coisa que o sujeito realmente estuda muito para desenvolver. E aí pode vir um malandro e se aproveitar do seu esforço. Nada contra quem desenvolve software livre, desde que não queira obrigar os outros a também o fazerem.
De repente isso acaba sendo uma forma de desvalorizar o trabalho duro.
Ademais esse negócio de ter boas ideias não é para todo mundo. E quem tem boas ideias traz ganhos para a coletividade, e merece ser recompensado.
Talvez isso até explique em parte porque o capitalismo foi mais bem sucedido do que o comunismo: porque recompensa o trabalho melhor, e de forma material. Sem trabalho nada se constrói.
Uma linguagem que não oferece um mínimo de segurança ao código-fonte é uma forma de comunismo forçado.

Ironlynx

Não é não.Descompilar um código não significa que seu trabalho estará perdido.Existem leis de marcas e patentes para isso. :slight_smile:
Já usei o DJ para descompilar código, lembro-me bem que era um de reconhecimento de escrita.A classe tinha umas 20mil linhas, muitos for aninhados, matrizes e outros.Só para entender o código, era um parto. :shock:
Se alguém pega aquilo, e deixa tudo bunitim, numas 2mil linhas e coeso(e executando mais tarefas até), e depois vende, ele terá muito um igual mérito do que o que criou, pois melhorou o que existia.
Se for uma mera cópia, tem que pagar direitos autorais para isso.

Exatamente.E entre essas boas idéias, existem a melhoria de idéias antigas e/ou desgastadas.

J

Qualquer bytecode ou código intermediário pode ser facilmente decompilado. O assembly nativo pode ser desassemblado, mas o código resultante é ilegível, a menos que você conheça todas as instruções de amds e pentiums, que ultrapassam as milhares.

E

O mais famoso software para disassemblar código - o IDA Pro Disassembler - pode lhe mostrar como código em C++, Delphi e outras linguagens compiladas também pode ser desmontado. (Entretanto, há uma grande distância até o código realmente descompilado. )

Digamos que para você ter um programa grande em C++ recriado a partir do binário é mais ou menos a mesma coisa que deduzir como é uma pessoa a partir de seu genoma em um arquivo. Pode ser trabalhoso demais.

Criado 20 de setembro de 2010
Ultima resposta 21 de set. de 2010
Respostas 6
Participantes 7