本文實例講述了python實現計算資源圖標crc值的方法,分享給大家供大家參考。具體方法如下:
實現該功能的關鍵在于解析資源信息,找到icon的數據,然后計算這些數據的crc
具體實現代碼如下:
def _get_iconcrc(self, file_path):
"""
Generates the crc32 hash of the icon of the file.
@return: str, the str value of the file's icon
"""
iconData = ""
mype = pefile.PE(file_path)
if hasattr(mype, "DIRECTORY_ENTRY_RESOURCE"):
resIcons = filter(lambda x: x.id==pefile.RESOURCE_TYPE['RT_ICON'], mype.DIRECTORY_ENTRY_RESOURCE.entries)
if len(resIcons)>0:
resIcons = resIcons[0]
if hasattr(resIcons, "directory"):
for resId in resIcons.directory.entries:
if hasattr(resId, 'directory'):
for resLang in resId.directory.entries:
iconData += mype.get_data(resLang.data.struct.OffsetToData, resLang.data.struct.Size)
if not iconData:
print "not iconData"
return None
else:
return self._crc32(iconData)
希望本文所述對大家的Python程序設計有所幫助。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

