ホームページ  >  記事  >  バックエンド開発  >  Python はリソースアイコンの crc 値を計算するメソッドを実装します

Python はリソースアイコンの crc 値を計算するメソッドを実装します

WBOY
WBOYオリジナル
2016-06-16 08:41:201103ブラウズ

この記事の例では、Python でリソースアイコンの crc 値を計算する方法を説明し、参考のために皆さんに共有します。具体的な方法は以下の通りです。

この関数を実装する鍵は、リソース情報を解析し、アイコン データを見つけて、これらのデータの 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 プログラミング設計に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。