JJams_King: 扰乱器就是把 bytecode 中的类名,方法名,变量名等变成无意义的符号。 例如,以下源程序: package temp; public class HelloWorld { String helloWorld = "Hello World"; String byeWorld = "Bye World"; public static void main(String[] args) { new HelloWorld(true); new HelloWorld(false); } HelloWorld(boolean isHappy) { if (isHappy) { System.out.PRintln(helloWorld); } else { System.out.println(byeWorld); } } } 加扰后,再反编译出来是: package a; import java.io.PrintStream; public class a { String a; String b; a(boolean flag) { a = "Hello World"; b = "Bye World"; if (flag) System.out.println(a); else System.out.println(b); } public static void main(String astring[]) { new a(true); new a(false); } }
而更高级的扰乱器,还能加密字符常量和扰乱程序流。加扰后,再反编译后变成这样: package a; import java.io.PrintStream; public class a { String a; String b; public static boolean c; a(boolean flag) { a = a("q