我可以使用什么程序来反编译类文件?我真的会得到Java代码,还是仅仅是JVM汇编代码?
关于这个网站上的Java性能问题,我经常看到一些人的回答,他们“反编译”了Java类文件,以了解编译器如何优化某些东西。
我可以使用什么程序来反编译类文件?我真的会得到Java代码,还是仅仅是JVM汇编代码?
关于这个网站上的Java性能问题,我经常看到一些人的回答,他们“反编译”了Java类文件,以了解编译器如何优化某些东西。
当前回答
我使用JAD反编译器。
它有一个Eclipse插件jadeclipse。它很漂亮。
其他回答
JAD不为我工作(Ubuntu 11.10问题),所以我已经前进和浸泡在JODO。至少它有Open Java源代码,并且能够正确地反编译我的.class。
我建议先查看“分支/通用”分支。树干不稳。
Procyon包含一个反编译器。它是自由/开源软件。
对于OSX,我建议使用jarzilla或JD-GUI
它们都允许你查看罐子、战争等。文件内容并反编译其中的任何类文件。
Jarzilla: https://code.google.com/p/jarzilla/ JD-GUI: http://jd.benow.ca/
这里有一些反编译器…快速搜索会得到:
Procyon:开源(Apache 2),积极开发 Krakatau:开源(GPLv3),并积极开发 CFR:开源(MIT)并积极开发 联合应用开发 DJ Java反编译器 摩卡
还有更多。
它们生成Java代码。Java自带一些功能,可以让您看到JVM字节代码(javap)。
大多数Java反编译器都是基于JAD的。这是一个很棒的工具,但不幸的是,它已经有一段时间没有更新了,并且不能很好地处理Java 1.5+类。我还没有看到任何能够正确处理1.5+类的工具。