9.9 删除debug信息

debug信息和签名情况类似,杀毒软件无法根据签名和debug信息断定程序是否为恶意程序,但是却可以通过删除debug信息改变文件的哈希值和二进制特征,代码如下:


binary = lief.PE.parse(self.bytez)
if binary.has_debug:
    for i, e in enumerate(binary.data_directories):
        if e.type == lief.PE.DATA_DIRECTORY.DEBUG:
            break
    if e.type == lief.PE.DATA_DIRECTORY.DEBUG:
        e.rva = 0
        e.size = 0