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中使用pprint函数进行格式化输出的教程
Apr 07 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
Oct 14 Python
python生成带有表格的图片实例
Feb 03 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 Python
Python Pandas 如何shuffle(打乱)数据
Jul 30 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
Sep 26 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
Dec 03 Python
python实现双色球随机选号
Jan 01 Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
Feb 05 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数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
php利用单例模式实现日志处理类库
2014/02/10 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
lib.utf.js
2007/08/21 Javascript
Javascript this关键字使用分析
2008/10/21 Javascript
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
jQuery在iframe中无法弹出对话框的解决方法
2014/01/12 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
详解重置Django migration的常见方式
2019/02/15 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
举例详解CSS3中的Transition
2015/07/15 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
个人优缺点自我评价
2014/01/27 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
红色电影观后感
2015/06/18 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书