如何编辑java .class文件的实际代码?

时间:2014-05-27 23:44:01

标签: java

我有一个jar,我想要取出一个类文件并添加几行代码。我有类编辑器,但你实际上无法更改任何代码,你可以改变常量,这就是全部。我有一个程序,你可以从.class读取源代码,但你不能改变任何东西。是否有可以从.class文件中读取和编辑源代码的程序或eclipse插件?

4 个答案:

答案 0 :(得分:0)

看看反编译器。他们将java-bytecode转换回源代码。这种编译器的一个例子是JD:http://jd.benow.ca/

编辑源代码后,您必须再次编译代码并将其打包到相应的.jar文件中。

答案 1 :(得分:0)

如果您的文件版本足够旧,可以使用jasper将其反汇编为字节码,编辑字节码并使用jasmin重新组合。不幸的是,这些工具在一段时间内没有更新。

他们不生成Java代码;你必须学习Java字节码。但它比所谓的反编译器#34;更可靠。方法

答案 2 :(得分:0)

由于Java .class文件采用字节码格式,因此您无法像编辑.java源文件那样修改它们。字节码是一种接近机器语言而不是Java本身的低级语言。

如果您需要修改源,一个选项是使用反编译器,例如JAD (Java Decompiler),获取源文件然后更改它并使用javac重新编译为.class。确保您确定哪个版本的Java语言(1.4,5,6,7,8)已用于原始jar文件。

答案 3 :(得分:-1)

您需要的是java解编译器。这将从您的类文件中取出字节码并将其转换回其源代码。从那里,您将需要重新编译反编译器生成的.java文件。

以下是我看过的一些java反编译器: http://dcompiler.sourceforge.net/

http://jd.benow.ca