Hoe kan ik Java .class-bestanden op een voor mensen leesbare manier openen?

Ik probeer erachter te komen wat het klassenbestand van een Java-applet onder de motorkap doet. Als je het opent met Kladblok of Tekstblok, zie je gewoon een hoop gobbledy-gook.

Is er een manier om het terug te krijgen in een enigszins leesbaar formaat, zodat ik kan proberen te achterhalen wat het doet?

  • Omgeving == Windows met VS 2008 geïnstalleerd.

Antwoord 1, autoriteit 100%

jd-guiis momenteel de beste decompiler. het kan overweg met nieuwere functies in Java, in vergelijking met de steeds stoffig wordende JAD.


Antwoord 2, autoriteit 38%

Als je het niet erg vindt om bytecode te lezen, zou javap prima moeten werken. Het maakt deel uit van de standaard JDK-installatie.

Gebruik: javap <options> <lessen>...
waar de opties zijn:
  -c Demonteer de code
  -classpath <pathlist> Specificeer waar u gebruikersklassebestanden kunt vinden
  -extdirs <dirs> Locatie van geïnstalleerde extensies overschrijven
  -help Dit gebruiksbericht afdrukken
  -J<vlag> Pass <vlag> rechtstreeks naar het runtime-systeem
  -l Regelnummer en lokale variabeletabellen afdrukken
  -public Toon alleen openbare lessen en leden
  -protected Toon beschermde/openbare klassen en leden
  -pakket Toon pakket/beschermde/openbare klassen
               en leden (standaard)
  -privé Toon alle lessen en leden
  -s Interne typehandtekeningen afdrukken
  -bootclasspath <pathlist> Locatie van geladen klasbestanden overschrijven
               door de bootstrap class loader

Other episodes