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中用于计算指数的exp()方法
May 14 Python
举例区分Python中的浅复制与深复制
Jul 02 Python
Python配置mysql的教程(推荐)
Oct 13 Python
Python探索之修改Python搜索路径
Oct 25 Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 Python
浅析python继承与多重继承
Sep 13 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
pygame实现打字游戏
Feb 19 Python
python字符串替换re.sub()实例解析
Feb 09 Python
浅谈在django中使用redirect重定向数据传输的问题
Mar 13 Python
python+requests实现接口测试的完整步骤
Oct 27 Python
Python中的datetime包与time包包和模块详情
Feb 28 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的FTP学习(二)[转自奥索]
2006/10/09 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
2016/06/29 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
Bootstrap table使用方法记录
2017/08/23 Javascript
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
python logging模块的使用总结
2019/07/09 Python
Python中关于浮点数的冷知识
2019/09/22 Python
Python字节单位转换(将字节转换为K M G T)
2021/03/02 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
计算机应用与科学个人的自我评价
2013/11/15 职场文书
农业局学习党的群众路线教育实践活动心得体会
2014/03/07 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
爱祖国演讲稿
2014/05/04 职场文书
消防安全宣传标语
2014/06/07 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
教师辞职信范文
2015/02/28 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
MySQL分区表实现按月份归类
2021/11/01 MySQL
Sql Server之数据类型详解
2022/02/28 SQL Server
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫
Java中的继承、多态以及封装
2022/04/11 Java/Android