我看到一些 Java 应用程序具有如下代码:
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 文件的工具是什么。
最佳答案
在已编译的java类上运行javap -c
,您将获得java字节代码。这不是混淆,而是反编译。 IBM 提供的一个非常好的资源是 Java bytecode:Understanding bytecode makes you a better programmer
关于java - 这是什么迷惑行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52518192/