使用pefile返回unicodeDecodeError

时间:2018-06-20 00:08:57

标签: python python-2.7

我已经导入了pefile,并使用它从StringTable属性中获取条目。

我收到以下错误:

  

'ascii'编解码器无法解码位置9的字节0xc2:序数不在范围(128)中
      追溯(最近一次调用):getPeInfo ans.append(“ Product Name:{}”。format(convert_to_printable(st_entry.entries.get('ProductName','none'))中的文件“ peinfo.py”,第74行)))
      UnicodeDecodeError:“ ascii”编解码器无法解码位置9的字节0xc2:序数不在范围(128)中

我的要点是:

def getPeInfo(filename):
    ans = []
    try:
        pe = pefile.PE(filename, fast_load=True)
    except:
        return "PE header not found."

    pe.parse_data_directories( directories=[ 
        pefile.DIRECTORY_ENTRY['IMAGE_DIRECTORY_ENTRY_IMPORT'],
        pefile.DIRECTORY_ENTRY['IMAGE_DIRECTORY_ENTRY_RESOURCE'],
         ])
    ans.append("\n [[ File Info]]")
    if hasattr(pe, 'FileInfo'):
        if type(pe.FileInfo) == type([]):
            entry = pe.FileInfo[0]
            if hasattr(entry, 'StringTable'):
                st_entry = entry.StringTable[0]
                ans.append("Product Name : {}".format(convert_to_printable(st_entry.entries.get('ProductName', 'none'))))

0 个答案:

没有答案