【发布时间】:2014-01-24 12:19:32
【问题描述】:
我错误地删除了一个完整的文件夹,不得不使用数据恢复软件。但是我只能找到我的 java 程序的 .class 文件。网上的 DE 编译器出错。 即使我尝试使用 java.. 从命令行运行类文件,它也会给出不兼容的魔法值:4292411361
1)我怎样才能纠正这个错误并从我刚刚恢复的类文件中运行我的程序? 2)如何反编译这个类文件?
谢谢
【问题讨论】:
我错误地删除了一个完整的文件夹,不得不使用数据恢复软件。但是我只能找到我的 java 程序的 .class 文件。网上的 DE 编译器出错。 即使我尝试使用 java.. 从命令行运行类文件,它也会给出不兼容的魔法值:4292411361
1)我怎样才能纠正这个错误并从我刚刚恢复的类文件中运行我的程序? 2)如何反编译这个类文件?
谢谢
【问题讨论】:
如果对.class文件进行反编译,我会推荐你用户JD GUI
它是免费的,在.class 反编译方面相当不错。 然后你就可以重建Class文件了。
【讨论】:
你可以在https://stackoverflow.com/a/2390763/3131537找到不兼容的魔法值错误的错误解释
java编译器是很好的反编译类工具http://jd.benow.ca/
【讨论】:
1)可能是您的类文件没有正确恢复。如果恢复正确,请尝试以下解决方案
2)我们可以使用jad编译器从.classfile中获取源文件。下载jad编译器。我们得到一个zip文件,解压它。你会在文件夹中找到一个.exe文件。
将 .class 文件放在同一文件夹中。
使用命令 jad -sjava Filename.class in cmd.
【讨论】: