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


Posted in Python onOctober 05, 2014

本文实例讲述了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 相关文章推荐
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
python条件变量之生产者与消费者操作实例分析
Mar 22 Python
python实时分析日志的一个小脚本分享
May 07 Python
Python图片裁剪实例代码(如头像裁剪)
Jun 21 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
Python实现的堆排序算法示例
Apr 29 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
python读取有密码的zip压缩文件实例
Feb 08 Python
Python两个字典键同值相加的几种方法
Mar 05 Python
Python简单实现区域生长方式
Jan 16 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
Aug 20 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 Python
python求crc32值的方法
Oct 05 #Python
Python获取文件ssdeep值的方法
Oct 05 #Python
python获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 #Python
python获取文件版本信息、公司名和产品名的方法
Oct 05 #Python
python实现调用其他python脚本的方法
Oct 05 #Python
跟老齐学Python之让人欢喜让人忧的迭代
Oct 02 #Python
跟老齐学Python之关于循环的小伎俩
Oct 02 #Python
You might like
简单的PHP图片上传程序
2008/03/27 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
捕获关闭窗口的脚本
2009/01/10 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
原生js添加一个或多个类名的方法分析
2019/07/30 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python中列表元素连接方法join用法实例
2015/04/07 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
python:接口间数据传递与调用方法
2018/12/17 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
盛大二次面试题
2016/11/18 面试题
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
解除劳动关系协议书2篇
2014/11/28 职场文书
公司财务管理制度
2015/08/04 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
python实现手机推送 代码也就10行左右
2022/04/12 Python