[RESOLVIDO] Exposição do código fonte compilado

10 respostas
War_Paz

Boa noite, GUJ!

Estava lendo alguns artigos sobre Java na internet até que me deparei com a seguinte citação, em uma seção onde procurava-se diferenciar Javascript de Java:

Sobre Javascript eu não tenho dúvida alguma, mas sobre Java é que fica a dúvida: depois de compilado, realmente o código se torna indecifrável? Tenho minhas dúvidas por que uma vez li um outro artigo (não me lembro onde nem qual o título) o qual falava sobre engenharia reversa em Java, dizendo que era bem mais fácil que com outras linguagens onde o programa não é interpretado. Minha dúvida maior surgiu pelo fato de Java realmente ser uma interpretada, e não diretamente compilada.

Minha dúvida é: O código em Java após compilado é realmente indecifrável? Se sim, realmente não há modo algum de alguém pegar meu código-fonte? Se não, o quão difícil é obter o código-fonte de um programa Java? E que métodos eu posso usar para deixar o código-fonte do meu programa mais difícil de ser “descoberto”?

10 Respostas

E

Acho que quem escreveu esse artigo estava confundindo Java com outra linguagem :slight_smile:

darklordkamui

Bom o fonte e seu respectivo artefato(war, ear, jar) normalmente vai estar no servidor… logo nao é muito possivel alguem tentar fazer engenharia reversa com algo que nao tem acesso… é possivel fazer sim, normalmente em programas feitos em Swing,awt… por ser desktop, mas se o programador souber o que faz nao deixa exposto… simples assim

War_Paz

darklordkamui, me refiro a programas feitos para desktop mesmo. Quão difícil é obter o código-fonte ou parte dele em um programa?

ViniGodoy

Baixa o Java Decompiler e vê.
http://java.decompiler.free.fr/

Não é nada indecifrável. Na verdade, a descompilação praticamente reverte ao código original.

War_Paz

ViniGodoy, não baixei o programa, mas confio nas suas palavras :slight_smile:

Mas então, existe algum meio de pelo menos dificultar o acesso ao código-fonte original?

E se, suponhamos, eu criasse um programa ou jogo em Java, o que eu posso fazer para que outras pessoas não “roubem” a ideia desde o código-fonte? Eu gosto de Java, mas não gostaria que outras pessoas tivessem “livre-acesso” à minha produção :frowning:

ViniGodoy

Se você quer proteger seu código fonte, não use Java e sim C++.

Você até pode usar um ofuscador o que, assim como no caso do JavaScript, dificulta um pouco a leitura do código.
Mas nada que alguém realmente determinado não poderia quebrar.

Aliás, no caso dos jogos, o Java como plataforma por si só não compensa. A menos, claro, que você esteja desenvolvendo para Android.

War_Paz

Bem, acho que tenho uma segunda linguagem para aprender, agora :slight_smile:

Obrigado a todos pelas respostas

D

War Paz:
Boa noite, GUJ!

Estava lendo alguns artigos sobre Java na internet até que me deparei com a seguinte citação, em uma seção onde procurava-se diferenciar Javascript de Java:

Sobre Javascript eu não tenho dúvida alguma, mas sobre Java é que fica a dúvida: depois de compilado, realmente o código se torna indecifrável? Tenho minhas dúvidas por que uma vez li um outro artigo (não me lembro onde nem qual o título) o qual falava sobre engenharia reversa em Java, dizendo que era bem mais fácil que com outras linguagens onde o programa não é interpretado. Minha dúvida maior surgiu pelo fato de Java realmente ser uma interpretada, e não diretamente compilada.

Minha dúvida é: O código em Java após compilado é realmente indecifrável? Se sim, realmente não há modo algum de alguém pegar meu código-fonte? Se não, o quão difícil é obter o código-fonte de um programa Java? E que métodos eu posso usar para deixar o código-fonte do meu programa mais difícil de ser “descoberto”?

Boa tarde,

Acho que quando ele diz “se torna indecifrável”, estava se referindo ao fato de linguagem não ficar exposta como as interpretadas (javascript, python, etc), e não que Java é indecifrável (ao pé da letra).

Uma observação para o dono desse fórum: Deveria colocar algo como “a game-Captcha é CASE SENSITIVE” na tela de cadastro do mesmo. Ajudaria um pouco. ^^

ViniGodoy

dot.z:
Boa tarde,

Acho que quando ele diz “se torna indecifrável”, estava se referindo ao fato de linguagem não ficar exposta como as interpretadas (javascript, python, etc), e não que Java é indecifrável (ao pé da letra).

Uma observação para o dono desse fórum: Deveria colocar algo como “a game-Captcha é CASE SENSITIVE” na tela de cadastro do mesmo. Ajudaria um pouco. ^^

Não sei se adiantaria. A gente já pede para os usuários não ressuscitarem tópicos muito antigos se não tiverem algo muito relevante para falar, mas ninguém acaba lendo.

D

ViniGodoy:
dot.z:
Boa tarde,

Acho que quando ele diz “se torna indecifrável”, estava se referindo ao fato de linguagem não ficar exposta como as interpretadas (javascript, python, etc), e não que Java é indecifrável (ao pé da letra).

Uma observação para o dono desse fórum: Deveria colocar algo como “a game-Captcha é CASE SENSITIVE” na tela de cadastro do mesmo. Ajudaria um pouco. ^^

Não sei se adiantaria. A gente já pede para os usuários não ressuscitarem tópicos muito antigos se não tiverem algo muito relevante para falar, mas ninguém acaba lendo.

Lol, foi mal, nem havia me lembrado disso hehe. Só queria dar essa dica para o administrador…

Criado 5 de janeiro de 2013
Ultima resposta 12 de set. de 2014
Respostas 10
Participantes 5