python實(shí)現(xiàn)計算資源圖標(biāo)crc值的方法
更新時間:2014年10月05日 12:13:29 投稿:shichen2014
這篇文章主要介紹了python實(shí)現(xiàn)計算資源圖標(biāo)crc值的方法,通過解析資源文件找到icon的數(shù)據(jù),從而實(shí)現(xiàn)該功能,需要的朋友可以參考下
本文實(shí)例講述了python實(shí)現(xiàn)計算資源圖標(biāo)crc值的方法,分享給大家供大家參考。具體方法如下:
實(shí)現(xiàn)該功能的關(guān)鍵在于解析資源信息,找到icon的數(shù)據(jù),然后計算這些數(shù)據(jù)的crc
具體實(shí)現(xiàn)代碼如下:
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程序設(shè)計有所幫助。
相關(guān)文章
讓Django支持Sql Server作后端數(shù)據(jù)庫的方法
今天小編就為大家分享一篇讓Django支持Sql Server作后端數(shù)據(jù)庫的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
python之如何使用openpyxl設(shè)置單元格樣式
這篇文章主要介紹了python之如何使用openpyxl設(shè)置單元格樣式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
從np.random.normal()到正態(tài)分布的擬合操作
這篇文章主要介紹了從np.random.normal()到正態(tài)分布的擬合操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06

