Obter .java a partir do .class

Pessoal é possível obter o .java a partir do .class, tipo engenharia reversa. Se tiver como é possível, qual software ou processo a ser adotado pra reverter ?

att,

Ola,

Procure no google por descompiladores java, tem um monte, eu uso o Jad.

Jad eu sei q funciona ! =D

Eu nunca usei Jad, mas posso indicar o DJ descopiler ele é bom

Ola…

Qual o objetivo em se descommpilar um código?

Não consigo ver quais as necessidades além da possibilidade de cópia!

poderiam mostrar alguns exemplos de utilização que fazem a descompilação valer a pena?

e para finalizar. Tem como travar um .class para que ele não seja descompilado?com senhas ou algo do tipo…

obrigado! :stuck_out_tongue:

No meu caso, utilizo a prática de descompilar códigos de terceiros, para identicar problemas na utilização, veja uma caso eu estou com alguns jars que me fornecem um API para uma comunicação com filas mainframe, o qué é muito práticop, mas essa API está pouco documentada, nesse caso foi mais prático descompilar pra compreender o funcionamento interno da API para que os meus códigos que venham utilizar a mesma, não utilizem de forma incorreta.

[quote=Zakim]Ola…
Qual o objetivo em se descommpilar um código?
Não consigo ver quais as necessidades além da possibilidade de cópia!
poderiam mostrar alguns exemplos de utilização que fazem a descompilação valer a pena?
[/quote]

Eu as vezes me “auto-saboto”, tipo apagando os .java… e ficando com um jar… dae é simples,
pego e descompilo e altero o que acabei de baixar do svn.

Respondendo a sua pergunta:

Tem ofuscadores, que dão uma embaralhada no .class… mas nunca teste a vera, pra ver se funciona legal.

heheheh…

obrigado pelos esclarecimentos… :stuck_out_tongue:

Eu uso o jad, mas a descompilação nunca é perfeita ao ponto do código descompilado já estar “apto” para ser compilado novamente. Sempre faltam algumas coisas. Usando o jad + o plugin jadclipse fica mto prático, pois toda vez que vc tentar abrir uma classe que o código fonte ñ esteja no seu projeto (um jar externo por exemplo), ele descompila o .class e te mostra o código.

[quote=Zakim]Ola…
Qual o objetivo em se descommpilar um código?
Não consigo ver quais as necessidades além da possibilidade de cópia!
poderiam mostrar alguns exemplos de utilização que fazem a descompilação valer a pena?
[/quote]

Geralmente eu uso para analisar o código das bibliotecas adicionadas. Mesmo que essa seja uma biblioteca open-source, acredite, com o jadclipse fica mais rápido e prático descompilar, do que vc baixar o fonte no site.
No meu projeto atual, temos que fazer uma arquitetura baseada em um produto já existente. [editado] Esse produto utiliza vários pequenos componentes da empresa. Para não ter mto trabalho montando o ambiente com todos os fontes no eclipse, montamos o ambiente só com os componentes principais, e se precisar consultar o código desses componentes pequenos fica bem fácil utilizando o jadclipse [/editado]

:shock: Ahh, tem tbm os casos assim. Uma vez um desenvolvedor que trabalhava com a gente saiu da empresa, levou os fontes e deixou só o jar no SVN.
Como o código descompilado nem sempre fica perfeito, imagino no trabalhão que vc deve ter…

[]'s

No meu caso estou tentando descompilar porque simplemente perdi os .java que tavam num hd que queimou e agora só tenho os .class nuns jar que estavam em outro hd :).