Java Decompiler: un decompilatore per Java

In questo post vedremo un Decompilatore di codice Java, cioè uno strumento che dato in input un codice java compilato (o meglio il bytecode con estensione .class) produce in output il codice sorgente Java(file .java).

Uno dei più decompilatori più completi è senza dubbio Java Decompiler, del quale ne esiste sia una versione grafica stand-alone, sia un plugin per Eclipse. Supporta la quasi totalità delle piattaforme:

  • Windows 32/64-bit
  • Linux 32/64-bit
  • Mac OSX 32/64-bit on x86 hardware

Una screenshot di JD Java Decompiler

Il funzionamento è abbastanza semplice: basta andare in File -> Open File… e cercare il file da decompilare. Una volta aperto ne verrà mostrato il codice sorgente nel pannello destro, mentre a sinistra verrà visualizzato un albero formato dalla directory dei package dove si trova e cliccando sulla classe stessa, verrà visualizzata la sua strutturazione in termini di metodi e attributi (la grafica utilizza le icone di Eclipse).

E’ possibile inoltre aprire più file contemporaneamente o addirittura aprire un file jar che verrà decompilato in toto.

Per quanto riguarda il plugin per eclipse bisogna semplicemente creare un nuovo Update Site, andando in Help -> Update Site and Add-ons e cliccando su Add Site…, una volta che sarà visibile il box inseriamo questo indirizzo:

http://java.decompiler.free.fr/jd-eclipse/update

Aggiungiamo un nuovo Site URL da dove scaricare il plugin

Selezioniamo il plugin spuntando la checkbox corrispondente e poi clicchiamo su Install…:

Selezioniamo il plugin e clicchiamo su Install...

Una volta installato e riavviato Eclipse, proviamo ad aprire un file .class ed il plugin dovrebbe funzionare correttamente.

Da alcune mie prove posso dire che lo strumento, in entrambe le versioni, si comporta in maniera più che soddisfacente, riuscendo a decompilare correttamente anche file piuttosto complessi 😀 .

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (2 voti, media: 5,00 di 5)
Loading...
You can leave a response, or trackback from your own site.

Leave a Reply

*