pátek 5. prosince 2014

Java Dekompilátory

Dekompilátorů Java kódu je poměrně velké množství. Mnohé již ale nejsou dále vyvíjeny a další postrádají kvalitu. V následujícím přehledu charakterizuju většinu známějších dekompilátorů.


Procyon
Nový, poměrně kvalitní dekompilátor, který je stále vyvíjen.

Licence: Apache licence 2.0
Internetové stránky: https://bitbucket.org/mstrobel/procyon


CRF (Class File Reader)
Vytvořen v Java 6. Podporuje Java 6, Java 7 i Java 8. Stále vyvíjen. Občas ještě vypisuje kontrolní výpisy.

Licence: MIT licence
Internetové stránky: http://www.benf.org/other/cfr/


Krakatau
Stále vyvíjen. Vytvořen v jazyce Python (Python 2.7). Částečná podpora Java 8.

Licence: GNU GPL
Internetové stránky: https://github.com/Storyyeller/Krakatau/


Candle
Dekompilátor programovaný v Javě. Vývoj pravděpodobně skončil v roce 2013. Přestože je vývoj opřen o firmu Red Hat, není dekompilátor úplně dokončený.

Internetové stránky: https://github.com/bradsdavis/candle-decompiler


JBVD (Java Bytecode Viewer & Decompiler)
Vývoj skončil v roce 2011. Přestože označovaný jako OpenSource, nepodařilo se mi na internetu najít zdrojový kód.

Licence: Academic Free License (AFL)
Internetové stránky: http://jbdec.sourceforge.net/


EDJC (Emilio's Java Decompiler)
Dekompilátor vytvářen v jazyce Java. Vývoj skončil alfa verzí v roce 2011.

Licence: GNU GPL
Internetové stránky: http://sourceforge.net/projects/ejdc/


JD
Součásti JD-Code a JD-Gui programovány v jazyve C++. Podpora jdk1.1.8, jdk1.3.1, jdk1.4.2, jdk1.5.0, jdk1.6.0 a jdk1.7.0. Tento dekompilátor poskytuje plugin k vývojovému prostředí Eclipse.

Licence: MIT licence, uzavřený kód
Internetové stránky: http://jd.benow.ca/


FernFlower
Vytvořeno v jazyce Java. K projektu není žádná dokumentace ani bližší informace.

Licence: Freeware License 1.0
Internetové stránky: pravděpodobně nemá, ale zdrojový kód je ke stažení zde http://forum.xda-developers.com/showthread.php?t=2029842


JaD (JAva Decompiler)
Dekompiler podporující dekompilaci Java 7. K dispozici je také plugin pro vývojové prostředí Eclipse s názvem JadClipse.

Licence: Komerční program (pro nekomerční použití zdarma)
Internetové stránky: http://varaneckas.com/jad/


DJ
Určený pro operační system Windows. Součástí je i editor.

Licence: Komerční (poslední verze s použitím zdarma byla 3.7.7.81)
Internetové stránky: http://www.neshkov.com/dj.html (stránka http://dj.navexpress.com/ je již nefunkční)


Mocha
V roce 1996 vydána betaverze, poté vývoj skončil.

Internetové stránky: http://www.brouhaha.com/~eric/software/mocha/


Závěr
Je zřejmé, že máme k dispozici velké množství dekompilátorů pro Java bytekód. Avšak kvalitní open source dekompilátor vyvíjený v Javě je pouze Procyon.



Zdroje:
https://developer.jboss.org/people/ozizka/blog/2014/05/06/java-decompilers-a-sad-situation-of
https://bitbucket.org/mstrobel/procyon
http://www.benf.org/other/cfr/
https://github.com/Storyyeller/Krakatau/
https://github.com/bradsdavis/candle-decompiler
http://jbdec.sourceforge.net/
http://sourceforge.net/projects/ejdc/
http://jd.benow.ca/
http://forum.xda-developers.com/showthread.php?t=2029842
http://www.neshkov.com/dj.html 
http://www.brouhaha.com/~eric/software/mocha/

Žádné komentáře:

Okomentovat