Quelqu'un connaît-il un décompilateur gratuit qui peut décompiler un fichier Jar entier au lieu d'une seule classe? J'ai un problème avec les sous-classes comme le nom $ 1.class name $ 2.class name.class
java
jar
decompiler
Cœur de pierre
la source
la source
Réponses:
2009: JavaDecompiler peut faire du bon travail avec un pot: depuis 0.2.5, tous les fichiers, dans les fichiers JAR, sont affichés.
Voir aussi la question "Comment" décompiler "les fichiers de classe Java?" .
Le JD-Eclipse ne semble cependant pas avoir changé depuis fin 2009 (voir Modifications ).
Son intégration avec la dernière Eclipse (3.8, 4.2+) pourrait donc être problématique.
JD-Core est activement maintenu.
Les deux sont le résultat du travail fantastique d' Emmanuel Dupuy (utilisateur SO) .
2018: Une option plus moderne, mentionnée dans les commentaires de David Kennedy Araujo :
JetBrains / Intellij-Community / Plugins / Java-Decompiler / Engine
Voir aussi Comment décompiler en fichiers java intellij idea pour une commande fonctionnant avec IntelliJ IDEA récent.
la source
Tout d'abord, il convient de se rappeler que tous les fichiers d'archive Java (
.jar
/.war
/ etc ...) sont tous essentiellement des.zip
fichiers fantaisie , avec quelques manifestes et métadonnées ajoutés.Deuxièmement, pour résoudre ce problème, j'utilise personnellement plusieurs outils qui traitent ce problème à tous les niveaux:
.class
fichiersjar
s. Cela vaut bien un essai.L'avantage de tout ce qui précède, c'est que je n'ai pas besoin de tenir d'autre outil externe qui encombre mon environnement de travail. Tout ce dont j'aurai besoin à partir de l'un de ces fichiers peut être géré dans mon IDE ou différent avec d'autres fichiers nativement.
la source
S'il vous arrive d'avoir à la fois un shell bash et un jad:
Je pourrais être un tout petit peu, mais cela devrait fonctionner plus ou moins comme annoncé. Vous devriez finir par
$JAR.tmp
contenir vos fichiers décompilés.la source
javap
dans cette structure de boucle de base, et cela fonctionne pour moi.J'ai eu un succès raisonnable avec un outil nommé (frustrant) " JD: Java Decompiler ".
Je l'ai trouvé meilleur que la plupart des décompilateurs lorsqu'il s'agit de classes compilées pour Java 5 et supérieur . Malheureusement, il peut encore y avoir quelques hoquets où JAD réussirait normalement.
la source
Quelque chose comme:
peut être?
la source
Insérez ce qui suit dans decompile.jar.sh
Prêt à l'emploi, tapez simplement
dj your.jar
et vous obtiendrez unyour.jar.src
dossier avec les sources. Utilisez l'-d
option pour le mode de débogage.la source
Un fichier jar est juste un fichier zip avec l'extension jar. Vous devriez pouvoir décompresser (winzip) un bocal comme un fichier zip.
la source
Vous l'extrayez puis utilisez jad contre le dir.
la source
Remarque: Cette solution ne fonctionne que pour les utilisateurs Mac et * nix.
J'ai aussi essayé de trouver Jad sans chance. Ma solution rapide a été de télécharger MacJad qui contient du jad. Une fois que vous l'avez téléchargé, vous pouvez trouver jad dans [où-vous-avez-téléchargé-macjad] / MacJAD / Contents / Resources / jad.
la source