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的MongoDB模块PyMongo操作方法集锦
Jan 05 Python
python实现数据图表
Jul 29 Python
python2.7实现FTP文件下载功能
Apr 15 Python
Python实现定时执行任务的三种方式简单示例
Mar 30 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
Apr 05 Python
python字符串和常用数据结构知识总结
May 21 Python
python挖矿算力测试程序详解
Jul 03 Python
python超时重新请求解决方案
Oct 21 Python
Python列表推导式实现代码实例
Sep 09 Python
python 实现简单的计算器(gui界面)
Nov 11 Python
Python 读写 Matlab Mat 格式数据的操作
May 19 Python
python 详解turtle画爱心代码
Feb 15 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实现的功能是显示8条基色色带
2006/10/09 PHP
网络资源
2006/10/09 PHP
php curl的深入解析
2013/06/02 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
php使用mysqli向数据库添加数据的方法
2015/03/20 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
利用aardio给python编写图形界面
2017/08/21 Python
Python向MySQL批量插数据的实例讲解
2018/03/31 Python
python输入错误后删除的方法
2019/10/12 Python
Django密码存储策略分析
2020/01/09 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
Django实现celery定时任务过程解析
2020/04/21 Python
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
Java程序员面试题
2013/07/15 面试题
函授药学自我鉴定
2014/02/07 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
太行山上观后感
2015/06/05 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
Golang日志包的使用
2022/04/20 Golang
Redis实现短信验证码登录的示例代码
2022/06/14 Redis