Alguém sabe de um descompilador gratuito que pode descompilar um arquivo Jar inteiro em vez de uma única classe? Eu tenho um problema com subclasses como nome $ 1.class name $ 2.class name.class
java
jar
decompiler
Coração de pedra
fonte
fonte
Respostas:
2009: O JavaDecompiler pode fazer um bom trabalho com um jar: desde 0.2.5, Todos os arquivos, nos arquivos JAR, são exibidos.
Consulte também a pergunta "Como faço para" descompilar "arquivos de classe Java?" .
O JD-Eclipse parece não ter mudado desde o final de 2009 (consulte Alterações ).
Portanto, sua integração com o Eclipse mais recente (3.8, 4.2+) pode ser problemática.
O JD-Core é mantido ativamente.
Ambos são o resultado do fantástico trabalho de (usuário de SO) Emmanuel Dupuy .
2018: Uma opção mais moderna, mencionada nos comentários de David Kennedy Araujo :
JetBrains / intellij-community / plugins / descompilador java / engine
Consulte também Como descompilar para arquivos java a idéia intelectual de um comando que trabalha com o IntelliJ IDEA recente.
fonte
Antes de tudo, vale lembrar que todos os arquivos Java (
.jar
/.war
/ etc ...) são basicamente apenas.zip
arquivos sofisticados , com alguns manifestos e metadados adicionados.Segundo, para resolver esse problema, eu pessoalmente uso várias ferramentas que lidam com esse problema em todos os níveis:
.class
arquivosjar
s. Vale a pena tentar.A vantagem de tudo o que foi mencionado acima é que não preciso segurar nenhuma outra ferramenta externa que atrapalhe meu ambiente de trabalho. Tudo o que eu precisarei de um desses arquivos pode ser tratado dentro do meu IDE ou difundido com outros arquivos nativamente.
fonte
Se você tiver um shell bash e jad:
Eu posso estar um pouquinho, com isso, mas deve funcionar mais ou menos como anunciado. Você deve
$JAR.tmp
conter os arquivos descompilados.fonte
javap
dentro dessa estrutura básica de loop, e está funcionando para mim.Eu tive um sucesso razoável com uma ferramenta chamada (frustrantemente) " JD: Java Decompiler ".
Eu o achei melhor do que a maioria dos decompiladores ao lidar com classes compiladas para Java 5 e superior . Infelizmente, ele ainda pode ter alguns problemas onde o JAD normalmente seria bem-sucedido.
fonte
Algo como:
talvez?
fonte
Insira o seguinte em decompile.jar.sh
Pronto para usar, basta digitar
dj your.jar
e você receberá umayour.jar.src
pasta com as fontes. Use a-d
opção para o modo de depuração.fonte
Um arquivo jar é apenas um arquivo zip com extensão jar. Você deve poder descompactar (winzip) um jar como um arquivo zip.
fonte
Você o extrai e, em seguida, usa jad contra o dir.
fonte
Nota: Esta solução funciona apenas para usuários de Mac e * nix.
Eu também tentei encontrar Jad sem sorte. Minha solução rápida foi baixar o MacJad que contém jad. Após o download, você pode encontrar o jad em [where-you-download-macjad] / MacJAD / Conteúdo / Recursos / jad.
fonte