删除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