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 19 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
Jun 26 Python
Windows下python3.6.4安装教程
Jul 31 Python
Python的argparse库使用详解
Oct 09 Python
Python笔试面试题小结
Sep 07 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
Python3常见函数range()用法详解
Dec 30 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
python实现udp传输图片功能
Mar 20 Python
Python如何读写CSV文件
Aug 13 Python
python爬虫之利用selenium模块自动登录CSDN
Apr 22 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操作xml
2013/10/27 PHP
php调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
详解Vue打包优化之code spliting
2018/04/09 Javascript
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
Python格式化日期时间操作示例
2018/06/28 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
python搜索包的路径的实现方法
2019/07/19 Python
python实现淘宝购物系统
2019/10/25 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
老师给学生的表扬信
2014/01/17 职场文书
挂职自我鉴定
2014/02/26 职场文书
苏州园林导游词
2015/02/03 职场文书
世界名著读书笔记
2015/06/25 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS