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的设计模式编程
Mar 01 Python
Python实现的求解最大公约数算法示例
May 03 Python
python SMTP实现发送带附件电子邮件
May 22 Python
python操作redis方法总结
Jun 06 Python
Python3中lambda表达式与函数式编程讲解
Jan 14 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
python async with和async for的使用
Jun 20 Python
python利用百度云接口实现车牌识别的示例
Feb 21 Python
python进行参数传递的方法
May 12 Python
Python实现aes加密解密多种方法解析
May 15 Python
MAC平台基于Python Appium环境搭建过程图解
Aug 13 Python
python画条形图的具体代码
Apr 20 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实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
新手入门常用代码集锦
2007/01/11 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
JS跨域代码片段
2012/08/30 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
js闭包的用途详解
2014/11/09 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
jquery中用函数来设置css样式
2016/12/22 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
VsCode新建VueJs项目的详细步骤
2017/09/23 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
两道JAVA笔试题
2016/09/14 面试题
机电一体化职业规划书
2014/01/07 职场文书
2014年创卫实施方案
2014/02/18 职场文书
学习张林森心得体会
2014/09/10 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
六一儿童节标语
2014/10/08 职场文书
开展警示教育活动总结
2015/05/09 职场文书
市级三好生竞选稿
2015/11/21 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python