我已经导入了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'))))