python实现计算资源图标crc值的方法
本文实例讲述了python实现计算资源图标crc值的方法,分享给大家供大家参考。具体方法如下:
实现该功能的关键在于解析资源信息,找到icon的数据,然后计算这些数据的crc
具体实现代码如下:
def_get_iconcrc(self,file_path): """ Generatesthecrc32hashoftheiconofthefile. @return:str,thestrvalueofthefile'sicon """ iconData="" mype=pefile.PE(file_path) ifhasattr(mype,"DIRECTORY_ENTRY_RESOURCE"): resIcons=filter(lambdax:x.id==pefile.RESOURCE_TYPE['RT_ICON'],mype.DIRECTORY_ENTRY_RESOURCE.entries) iflen(resIcons)>0: resIcons=resIcons[0] ifhasattr(resIcons,"directory"): forresIdinresIcons.directory.entries: ifhasattr(resId,'directory'): forresLanginresId.directory.entries: iconData+=mype.get_data(resLang.data.struct.OffsetToData,resLang.data.struct.Size) ifnoticonData: print"noticonData" returnNone else: returnself._crc32(iconData)
希望本文所述对大家的Python程序设计有所帮助。