Maison > Java > JavaBase > Comment décompiler des fichiers de classe en fichiers Java

Comment décompiler des fichiers de classe en fichiers Java

青灯夜游
Libérer: 2023-01-13 00:39:55
original
28776 Les gens l'ont consulté

Méthode : 1. Téléchargez le plug-in "jad.exe" et placez-le dans le même répertoire que le fichier ".class" ; 2. Ouvrez la fenêtre de commande cmd et utilisez la commande cd pour saisir le répertoire où se trouve "Jad.exe" ;3. Exécutez la commande "Jad -d java file storage path-sjava class file path".

Comment décompiler des fichiers de classe en fichiers Java

L'environnement d'exploitation de ce tutoriel : système windows7, version java8, ordinateur DELL G3.

1. Outils/Matériaux

Plug-in de décompilation jad.exe

Pour l'adresse de téléchargement, veuillez vous référer à :

https://varanekas.com/jad/

ttp://pan.baidu.com/s/1qWmNlww

2. /Étapes

Explication

  • Parmi les nombreux outils de décompilation JAVA, il existe plusieurs outils très connus qui utilisent le même core Engine - JAD, qui comprend principalement : Front End
    Plus, mDeJava, Decafe Pro, Cavaj Java Decompiler, DJ Java
    Decompiler, NMI's Java Class
    Viewer et experts nationaux en décompilation de code source JAVA, etc. JAD lui-même est un outil de ligne de commande sans interface graphique. La plupart des outils ci-dessus ajoutent simplement une interface graphique basée sur le noyau JAD. La sélection commune de tant de produits suffit à prouver la position distinguée de JAD dans le domaine de la décompilation JAVA.

Opération

Placer les fichiers jad.exe et .class dans le même répertoire (pas nécessaire, facultatif, sera abordé plus tard Explication)

Comment décompiler des fichiers de classe en fichiers Java

Démarrer-Exécuter (ou Win+R)-cmd pour ouvrir la fenêtre de commande système et entrer dans le répertoire où se trouve Jad.exe

Par exemple :

f: 
cd F:\Jad
Copier après la connexion

Comment décompiler des fichiers de classe en fichiers Java

Entrez la commande Jad -d F:Jadtest -sjava test*.class et appuyez sur Entrée pour générer le fichier Java

Comment décompiler des fichiers de classe en fichiers Java

Exemple :

Jad -d F:\Jad\test -sjava test\*.class
Copier après la connexion

Comment décompiler des fichiers de classe en fichiers Java
Remarques : * dans *.class est un caractère générique Par défaut, tous les fichiers .class de ce répertoire sont sélectionnés. Si vous avez seulement besoin de décompiler un certain fichier .class, vous pouvez écrire directement le nom du fichier + .class

tel que : Jad -d F:Jadtest -sjava testCaseInfoSaveAction.class

Commande Jad - astuce :

-a - utiliser le format d'octets JVM pour annoter la sortie
-af - identique à -a, mais utiliser le nom complet lors de l'annotation
-clear - effacer tous les préfixes
-b - afficher des crochets redondants (par exemple, if(a) { b (); }, par défaut : no)
-d - Spécifiez le répertoire du fichier de sortie
-dead - Tentative de décompilation la partie morte du code (par défaut : non)
-disass - Pas besoin d'utiliser du bytecode pour décompiler (aucune source JAVA générée)
-f - Afficher le nom complet, qu'il s'agisse d'une classe ou d'une méthode
-ff - Afficher les membres de la classe avant la méthode (par défaut : après les méthodes)
-i - Afficher les valeurs initiales par défaut de toutes les variables
-l -lnc - Afficher le fichier Annoter avec le numéro de ligne (par défaut : non)
-nl - diviser les chaînes en utilisant le caractère de nouvelle ligne (par défaut : non)
-nodos - ne vérifie pas si le fichier classe est écrit en mode dos (CR avant NL, par défaut : check)
-nocast - ne génère pas de fichiers auxiliaires
-nocode - ne génère pas de code source pour les méthodes
- noconv - ne convertit pas les définisseurs Java (par défaut : do)
-noctor - non Autoriser les constructeurs vides
-noinner - désactive la prise en charge des classes internes (par défaut : active)
-nolvt - ignore les informations de table pour variables locales
-nonlb - ne pas afficher de nouvelle ligne lors de l'ouverture avant une parenthèse (par défaut : do)
-o - écraser la sortie sans confirmation (par défaut : non)
-p - envoyer le code décompilé au standard sortie STDOUT (par exemple, pour la tuyauterie)
-pa - Préfixe pour tous les packages dans les fichiers sources générés
-pc - Préfixe pour les classes avec des noms numériques (par défaut : _cls)
-pe - Préfixe pour les noms d'exceptions inutilisés (par défaut : _ex)
-pf - préfixe avec champs de nom numérique (par défaut : _fld)
-pi - utiliser.
-pl - Préfixe pour les variables locales avec des noms numériques (par défaut : _lcl)
-pm - Préfixe pour les méthodes avec des noms numériques (par défaut : _mth)
-pp - Préfixe avec des noms numériques Préfixe des paramètres de méthode (par défaut : _prm)
-pv - Regrouper les champs du même type sur une seule ligne (packfields)
-r - Restaurer la structure du répertoire du package
-s - Extension du fichier de sortie (par défaut : .jad)
- space - espace de sortie entre les mots-clés (if, while, etc.) et les expressions
-stat - affiche le nombre total de classes/méthodes/champs traités
-t - utilise les espaces Indent (par défaut : 4)
-t - Utiliser des tabulations au lieu d'espaces pour l'indentation
-v - Afficher les noms des méthodes lors de la décompilation

Tutoriels vidéo associés recommandés : Tutoriel vidéo 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal