9.2 文件末尾追加随机内容

对于依赖文件哈希值的杀毒软件,只需要在PE文件后面追加随机内容即可以绕过检测。一种比较简单的实现是生成一段随机数据,随机数据的长度是随机的,内容也是随机的。定义数据的长度为:

random_length=2n

其中,n是5~8之间的随机整数,实现方法如下:


self.min_append_log2 = 5
self.max_append_log2 = 8
def __random_length(self):
    return 2**random.randint(self.min_append_log2, self.max_append_log2)

数据的内容也是随机生成的,完整的随机数据产生方式如下,生成的内容追加到PE文件尾部,代码如下:


upper = random.randrange(256)
L = self.__random_length()
self.bytez + bytes([random.randint(0, upper) for _ in range(L)])