Waarom CLASS naar TXT converteren?
Een .class-bestand is gecompileerde binaire bytecode en kan niet zonder verwerking als tekst worden gelezen. Ontwikkelaars deassembleren of decompileren naar .txt om te inspecteren wat een klasse doet wanneer de originele .java-broncode niet beschikbaar is, om twee gecompileerde versies te vergelijken (diff), of om de publieke API van een bibliotheek te documenteren.
Hoe CLASS naar TXT te converteren
javap (JDK) FREE
Voer javap -c -p MyClass uit in een terminal om bytecode-instructies af te drukken, en stuur dit vervolgens door naar een bestand met > MyClass.txt. Voeg -verbose toe voor details over de constant pool en klasseversie.
JD-GUI OPEN-SOURCE
Sleep het .class-bestand naar JD-GUI en de gereconstrueerde Java-broncode verschijnt in de editor. Gebruik Bestand > Alle bronnen opslaan om te exporteren als een .java-bestand (platte tekst) en hernoem dit indien nodig naar .txt.
CFR OPEN-SOURCE
Voer java -jar cfr.jar MyClass.class > MyClass.txt uit om gereconstrueerde Java-broncode direct naar een tekstbestand te sturen.
Over deze formaten
Een CLASS-bestand is gecompileerde Java-bytecode - de uitvoer die javac produceert van een .java-bronbestand. Om het uit te voeren heb je Java (een JDK) geïnstalleerd nodig, gebruik daarna…
Open .CLASS details →Een TXT-bestand is platte, niet-opgemaakte tekst - het eenvoudigste documentformaat op elke computer. Dubbelklik erop: Windows opent het in Notepad, macOS in TextEdit, Linux in gedit. Niets…
Open .TXT details →Kwaliteit & waar op te letten
- Een
.class-bestand begint met de magic bytes0xCAFEBABE- het openen in een teksteditor toont binaire rommel, geen leesbare inhoud. - De uitvoer van
javapbestaat uit bytecode-mnemonics (invokevirtual,aload, enz.), geen Java-broncode; gebruik JD-GUI of CFR als u broncode-achtige uitvoer nodig heeft. - Voeg
-verbosetoe aanjavapom de hoofdversie van het klassebestand, de constant pool en attribuuttabellen in de uitvoer op te nemen.
Veelgestelde vragen
Wat is het verschil tussen javap-uitvoer en decompiler-uitvoer?
javap toont bytecode-instructies (mnemonics); JD-GUI en CFR reconstrueren de Java-broncodesyntaxis - beide produceren platte tekst, maar verschillen aanzienlijk in leesbaarheid.Moet ik iets extra's installeren om javap te gebruiken?
javap wordt meegeleverd bij elke JDK-installatie; als u Java-ontwikkeltools hebt geïnstalleerd, is het al beschikbaar.Kan ik een .class-bestand naar .txt converteren zonder Java te installeren?
javap, JD-GUI en CFR hebben allemaal Java nodig om te draaien, dus een JDK- of JRE-installatie is noodzakelijk.