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同时兼容python2和python3的8个技巧分享
Jul 11 Python
python和shell实现的校验IP地址合法性脚本分享
Oct 23 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
Python装饰器原理与简单用法实例分析
Apr 29 Python
Python读取YUV文件,并显示的方法
Dec 04 Python
django模板结构优化的方法
Feb 28 Python
python库matplotlib绘制坐标图
Oct 18 Python
使用python快速在局域网内搭建http传输文件服务的方法
Nov 14 Python
基于python使用tibco ems代码实例
Dec 20 Python
python实现Oracle查询分组的方法示例
Apr 30 Python
python的help函数如何使用
Jun 11 Python
Python venv虚拟环境配置过程解析
Jul 08 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
phpMyAdmin 安装及问题总结
2009/05/28 PHP
php记录代码执行时间(实现代码)
2013/07/05 PHP
php分页代码学习示例分享
2014/02/20 PHP
php判断访问IP的方法
2015/06/19 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
js选择器全面解析
2016/06/27 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
2017/10/12 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
Moment.js实现多个同时倒计时
2019/08/26 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
Python中的自定义函数学习笔记
2014/09/23 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Python如何将函数值赋给变量
2020/04/28 Python
Python实现像awk一样分割字符串
2020/09/15 Python
大学三年计划书范文
2014/04/30 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
旷课检讨书范文
2015/01/27 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
CentOS7 minimal 最小化安装网络设置过程
2022/12/24 Servers