发布时间:2026-09-28 17:35:35 浏览次数:1
javap -c -p classfile,其中classfile为需要反编译的.class文件名。-c表示反编译代码时显示代码中的所有指令。-p表示反编译代码时显示代码中的所有类和成员变量名以及修饰符。示例:
$ javap -c -p MyClass.classCompiled from "MyClass.java"public class MyClass { public static void main(java.lang.String[]); Code: 0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3 // String Hello World! 5: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return}C:\jad下)。C:\jad)。jad -sjava classfile,其中classfile为需要反编译的.class文件名。-sjava表示将反编译结果输出到一个.java文件中。示例:
$ jad -sjava MyClass.classParsing MyClass.class...Generating MyClass.java反编译后的文件MyClass.java内容:
public class MyClass{ public static void main(String args[]) { System.out.println("Hello World!"); }}Javap和Jad都是Java反编译的利器,使用简单方便,并且效果好。其中,Jad还支持反编译多个class文件,并可以将整个目录下的.class文件全部反编译。