10.1.1 代码混淆

10.1.1 代码混淆

代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码转换成一种功能上等价,但是难于阅读和理解的形式的行为。代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。执行代码混淆的程序被称作代码混淆器。目前已经存在许多种功能各异的代码混淆器。

将代码中的各种元素,如变量、函数、类的名字改写成无意义的名字。如改写成单个字母,或是简短的无意义字母组合,甚至改写成“-”这样的符号,使得阅读的人无法根据名字猜测其用途。重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。如将for循环改写成while循环,将循环改写成递归,精简中间变量等。打乱代码的格式。如删除空格,将多行代码挤到一行中,或者将一行代码断成多行等。