Maison  >  Article  >  Java  >  Comment décompiler Java

Comment décompiler Java

(*-*)浩
(*-*)浩original
2019-12-04 10:20:145778parcourir

Comment décompiler Java

Qu'est-ce que la décompilation ?

Le processus de décompilation est tout le contraire de la compilation, qui consiste à restaurer le langage de programmation compilé sous sa forme non compilée. L’état est de trouver le code source du langage de programmation. Il s’agit de convertir le langage que la machine peut comprendre en un langage que le programmeur peut comprendre.

La décompilation en langage Java fait généralement référence à la conversion de fichiers de classe en fichiers Java. (Apprentissage recommandé : cours java)

Avec les outils de décompilation, on peut faire beaucoup de choses. La fonction la plus importante est qu'avec les outils de décompilation, on peut lire et. comprendre le bytecode généré par le compilateur Java. Par exemple, nous pouvons mieux comprendre les principes qui sous-tendent le sucre syntaxique Java.

Outils de décompilation Java couramment utilisés

Présente principalement quatre outils de décompilation Java : javap, jad et cfr ainsi que l'outil de décompilation visuelle JD-GUI

JAVAP

javap est un outil fourni avec jdk. Il peut décompiler le code et afficher le bytecode généré par le compilateur Java. La plus grande différence entre Javap et les deux autres outils de décompilation est que les fichiers qu'il génère ne sont pas des fichiers Java et qu'ils ne sont pas aussi faciles à comprendre que les codes générés par les deux autres outils.

javap ne décompile pas le bytecode dans un fichier java, mais génère un bytecode que nous pouvons comprendre. En fait, les fichiers générés par javap sont toujours des bytecodes, mais les programmeurs peuvent les comprendre un peu plus. Si vous avez quelques connaissances en bytecode, vous pouvez toujours comprendre le code ci-dessus. En fait, il s'agit de convertir String en hashcode puis de comparer.

JAD

JAD est un outil de décompilation relativement bon Tant que vous téléchargez un outil d'exécution, vous pouvez décompiler les fichiers de classe. Toujours le code source ci-dessus, le contenu après décompilation à l'aide de jad est le suivant :

Commande : jad.exe Decompilation.class générera un fichier Decompilation.jad

CFR

JAD est très utile, mais malheureusement il n'a pas été mis à jour depuis longtemps, nous ne pouvons donc utiliser qu'un nouvel outil pour le remplacer. CFR est un bon choix. Par rapport à JAD, sa syntaxe peut être légèrement. différent. Un peu plus compliqué, mais heureusement il peut être utilisé

CFR décompilera les fonctionnalités Java modernes – Java 8 lambdas (Java beta 103 en Java et versions antérieures), Java 7 String a été décompilé, mais CFR. est entièrement écrit en Java 6.

JD-GUI

JD-GUI est un outil de décompilation Java développé en C++, développé par Pavel Kouznetsov, et prend en charge Windows, Linux et Apple Mac Os trois plates-formes. Et fournit le plug-in JD-Eclipse sous la plateforme Eclipse.

JD-GUI est basé sur la licence open source GPLv3 et est entièrement gratuit pour un usage personnel. L'essentiel de JD-GUI est de fournir des opérations visuelles. Vous pouvez glisser et déposer des fichiers directement dans la fenêtre. Le rendu est le suivant

Comment décompiler Java

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn