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 相关文章推荐
Python中__call__用法实例
Aug 29 Python
Python用GET方法上传文件
Mar 10 Python
python实现根据窗口标题调用窗口的方法
Mar 13 Python
栈和队列数据结构的基本概念及其相关的Python实现
Aug 24 Python
整理Python 常用string函数(收藏)
May 30 Python
浅谈Python Opencv中gamma变换的使用详解
Apr 02 Python
python实现猜数字小游戏
Mar 24 Python
wxpython+pymysql实现用户登陆功能
Nov 19 Python
Python内置数据类型list各方法的性能测试过程解析
Jan 07 Python
Python计算信息熵实例
Jun 18 Python
OpenCV全景图像拼接的实现示例
Jun 05 Python
Python快速实现一键抠图功能的全过程
Jun 29 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
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
使用php实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
常用简易JavaScript函数
2009/04/09 Javascript
JavaScript 加号(+)运算符号
2009/12/06 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
2019/09/03 Javascript
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
python中threading超线程用法实例分析
2015/05/16 Python
Python常用小技巧总结
2015/06/01 Python
理论讲解python多进程并发编程
2018/02/09 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
python中spy++的使用超详细教程
2021/01/29 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
拉丁舞学习者的自我评价
2013/10/27 职场文书
实习教师个人的自我评价
2013/11/08 职场文书
教学质量评估实施方案
2014/03/17 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
经营场所使用证明
2015/06/19 职场文书
《月光曲》教学反思
2016/02/16 职场文书
高二数学教学反思
2016/02/18 职场文书
python turtle绘图
2022/05/04 Python