📅  最后修改于: 2023-12-03 15:06:27.224000             🧑  作者: Mango
混淆(Obfuscation)是指在代码中添加一些无意义的语句、变量名等,以达到混淆代码结构、降低代码可读性的目的。在软件开发中,混淆可用于保护代码的知识产权,防止反编译、破解等行为。
将代码中的常量字符串转为用变量表示的形式。例如:
String password = "123456";
混淆后变为:
String a = "123";
String b = "456";
String password = a + b;
通过改变代码流程,增加代码的阅读难度。例如:
if(a == 1) {
// do something
} else if(a == 2) {
// do something else
} else {
// do other thing
}
混淆后变为:
switch((int) (((a & 0x0000FF) << 24) | ((a & 0x00FF00) << 8) | ((a & 0xFF0000) >>> 16)) % 3) {
case 0:
// do something
break;
case 1:
// do something else
break;
case 2:
// do other thing
break;
}
通过修改变量名使得源代码难以理解,例如:
int a = 10;
int b = 20;
int sum = a + b;
混淆后变为:
int d = 10;
int e = 20;
int f = d + e;