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自定义简单图轴简单实例
Jan 08 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
Jan 09 Python
Python查找最长不包含重复字符的子字符串算法示例
Feb 13 Python
Python3.5文件读与写操作经典实例详解
May 01 Python
Linux下通过python获取本机ip方法示例
Sep 06 Python
python爬虫 Pyppeteer使用方法解析
Sep 28 Python
如何基于Python批量下载音乐
Nov 11 Python
python shell命令行中import多层目录下的模块操作
Mar 09 Python
pyqt5中动画的使用详解
Apr 01 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
May 25 Python
Python环境配置实现pip加速过程解析
Nov 27 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 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 多维数组排序(usort,uasort)
2010/06/30 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
Javascript Math对象
2009/08/13 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Python 时间处理datetime实例
2008/09/06 Python
Python判断操作系统类型代码分享
2014/11/22 Python
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
python3批量删除豆瓣分组下的好友的实现代码
2016/06/07 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
Python脚本调试工具安装过程
2021/01/11 Python
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
幼教求职信
2014/03/12 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
考研英语复习计划
2015/01/19 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
办公用品质量保证书
2015/05/11 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers