我可以使用什么程序来反编译类文件?我真的会得到Java代码,还是仅仅是JVM汇编代码?
关于这个网站上的Java性能问题,我经常看到一些人的回答,他们“反编译”了Java类文件,以了解编译器如何优化某些东西。
我可以使用什么程序来反编译类文件?我真的会得到Java代码,还是仅仅是JVM汇编代码?
关于这个网站上的Java性能问题,我经常看到一些人的回答,他们“反编译”了Java类文件,以了解编译器如何优化某些东西。
当前回答
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/
以下是截至2015年2月的反编译器列表:
Procyon,开源,https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler
CFR,免费,没有源代码,http://www.benf.org/other/cfr/
JD,仅供非商业用途免费,http://jd.benow.ca/
Fernflower,开源,https://github.com/fesh0r/fernflower,
JAD -此处仅为历史原因。免费,没有源代码,http://varaneckas.com/jad/ 过时,不受支持,不能正确反编译Java 5及更高版本。
您可以在线测试上述反编译器,不需要安装,并做出自己的选择。
云中的Java反编译器:http://www.javadecompilers.com/
Soot是较新的Java代码的一个选项。至少它的优点是最近还在维护……
此外,Java反编译器是一个具有独立GUI和Eclipse集成的反编译器。
最后,还没有提到Jdec,尽管它没有其他选项那么完善。
你可以使用一些程序。您将得到实际的Java代码,但有时代码会被混淆,因此方法由一个字母或数字或字母和数字的随机组合命名。
DJ解码器 摩卡