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

js81xvg6  于 2023-09-29  发布在  Java
关注(0)|答案(4)|浏览(164)

我有一个jar,我想取出一个类文件,并向其中添加几行代码。我得到了类编辑器,但你实际上不能改变任何代码,你可以改变常量,仅此而已。我有一个程序,你可以从一个.class读取源代码,但你不能改变它的任何东西。是否有一个程序或eclipse插件,您可以从.class文件中读取和编辑源代码?

c9x0cxw0

c9x0cxw01#

看看反编译器。它们将把java字节码转换回源代码。这样的编译器的一个例子是JD:http://jd.benow.ca/
编辑完源代码后,您必须再次编译代码并将其打包到相应的.jar文件中。

s4chpxco

s4chpxco2#

如果你的文件是一个足够旧的版本,你可以使用jasper将它反汇编成字节码,编辑字节码,然后使用jasmin重新组装它。不幸的是,这些工具已经有一段时间没有更新了。
它们不产生Java代码;你必须学习Java字节码。但它比所谓的“反编译器”方法更可靠。

lf5gs5x2

lf5gs5x23#

由于Java.class文件是字节码格式的,因此不能像编辑.java源文件那样修改它们。字节码是一种更接近机器语言的低级语言,而不是Java本身。
如果你需要修改源代码,一个选择是使用反编译器,例如。JAD (Java Decompiler),获取源文件,然后更改它并使用javac重新编译为.class。请确定原始jar文件使用的是哪个版本的Java语言(1.4、5、6、7、8)。

wko9yo5t

wko9yo5t4#

你需要的是一个java反编译器。这将从类文件中取出字节码并将其转换回其源代码。从那里,您将需要重新编译反编译器生成的.java文件。
以下是我见过的一些java反编译器:http://dcompiler.sourceforge.net/
http://jd.benow.ca

相关问题