Duplicate possible:
Existe-t-il un éditeur Java classfile/bytecode pour éditer les instructions?
Le code source Java est compilé en bytecode, qui est en réalité dans le fichier de classe. Est-il possible d'afficher le bytecode d'une classe compilée?
Si c'est possible, peut-il être édité?
Existe-t-il un plugin Eclipse pour cela?
Le JDK est livré avec javap , un outil permettant de désassembler le code octet dans un fichier de classe. La modification au niveau du code d'octet est possible. Jetez un œil à BCEL , a Java conçue pour lire, manipuler et écrire des fichiers de classe.
Une liste d'outils et de bibliothèques pour éditer le code octet est disponible sur Java-net . Par exemple, JBE , a Java Editeur de code octet livré avec une interface graphique.
Pour afficher les bytecodes
Oubliez javap! Le meilleur plugin que j'ai jamais utilisé est le "ASM - Bytecode Outline plugin for Eclipse"
http://asm.ow2.org/Eclipse/index.html
Il provient d'ASM (un framework de manipulation de bytecode).
Il montre les codes octets (que vous avez demandés), les éléments de la pile (style jvm) et comment générer le même résultat (pour produire les mêmes codes octets) à l'aide des méthodes d'infrastructure asm.
Mieux encore, il le fait tant que vous avez sélectionné le code source. Vous n'avez pas besoin de trouver le fichier .class dans le répertoire bin pour inspecter son bytecode.
Pour les éditer
Utiliser le code:
À la main: JBE
D'après mon expérience, jclasslib est l'un des meilleurs visualiseurs de bytecode.
En ce qui concerne les éditeurs, il en existe deux types: les bibliothèques de manipulation de code octet et les éditeurs avec des interfaces graphiques. Cette question a été posée à quelques reprises sur SO, vous pouvez vérifier les réponses et les liens fournis.
Veillez simplement à ce que l’édition du bytecode ne soit pas aussi simple que vous le pensez. Le JVMS impose de nombreuses restrictions quant à la manière dont les fichiers de classe doivent être, et il y a de grandes chances pour que l'un de vos edit en viole un.
Vérifiez ces autres questions:
Éditer un fichier .class directement, jouer avec les opcodes
Est-il possible d'afficher le bytecode du fichier de classe?
Essayez d'utiliser - dirtyJOE - Java) Global Editor est un éditeur et un visualiseur complexes pour les binaires compilés Java (fichiers .class).