9.8 删除签名

删除PE文件的签名不会影响文件的运行,而且正常文件也存在没有签名的现象。我们通过遍历PE文件的整数表,删除其中的第一个签名,代码如下:


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