当前位置 博文首页 > python实现计算资源图标crc值的方法

    python实现计算资源图标crc值的方法

    作者:admin 时间:2021-07-14 18:40

    本文实例讲述了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程序设计有所帮助。

    jsjbwy