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

yipeiwu_com7年前Python基础

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

相关文章

Python 实现递归法解决迷宫问题的示例代码

Python 实现递归法解决迷宫问题的示例代码

迷宫问题 问题描述: 迷宫可用方阵 [m, n] 表示,0 表示可通过,1 表示不能通过。若要求左上角 (0, 0) 进入,设计算法寻求一条能从右下角 (m-1, n-1) 出去的路径。...

Python实现简单查找最长子串功能示例

本文实例讲述了Python实现简单查找最长子串功能。分享给大家供大家参考,具体如下: 题目选自edX公开课 MITx: 6.00.1x Introduction to Computer...

初学Python实用技巧两则

本文记录了初学Python常用的两则实用技巧,分享给大家供大家参考之用。具体如下: 1.可变参数 示例代码如下: >>> def powersum(power, *...

浅谈Python实现2种文件复制的方法

本文实例主要实现Python中的文件复制操作,有两种方法,具体实现代码如下所示: #coding:utf-8 # 方法1:使用read()和write()模拟实现文件拷贝...

pandas DataFrame数据转为list的方法

首先使用np.array()函数把DataFrame转化为np.ndarray(),再利用tolist()函数把np.ndarray()转为list,示例代码如下: # -*- co...