我看到一些 Java 應(yīng)用程序的代碼如下:public class Test { public Test(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: return public static void main(java.lang.String[]); Code: 0: invokestatic #2 // Method printOne:()V 3: invokestatic #2 // Method printOne:()V 6: invokestatic #3 // Method printTwo:()V 9: return public static void printOne(); Code: 0: getstatic #4 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #5 // String Hello World 5: invokevirtual #6 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return public static void printTwo(); Code: 0: invokestatic #2 // Method printOne:()V 3: invokestatic #2 // Method printOne:()V 6: return }我想知道這是一種什么樣的混淆,有什么工具可以混淆這樣的 JAR 文件。
2 回答

30秒到達(dá)戰(zhàn)場
TA貢獻(xiàn)1828條經(jīng)驗 獲得超6個贊
這就是javac生成的 - java代碼的編譯器。將其轉(zhuǎn)換為代碼實(shí)際上非常容易:
public class Test {
// an implicit constructor:
public Test(){
}
public static void testOne(){
System.out.println("Hello World");
}
public static String testTwo(){
testOne();
testOne();
}
}
添加回答
舉報
0/150
提交
取消