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在指定目录下查找gif文件的方法
May 04 Python
python开发之基于thread线程搜索本地文件的方法
Nov 11 Python
Python信息抽取之乱码解决办法
Jun 29 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
python 基本数据类型占用内存空间大小的实例
Jun 12 Python
在pycharm中python切换解释器失败的解决方法
Oct 29 Python
PySide和PyQt加载ui文件的两种方法
Feb 27 Python
Python中字符串与编码示例代码
May 20 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
Aug 07 Python
PyQt5+python3+pycharm开发环境配置教程
Mar 24 Python
python继承threading.Thread实现有返回值的子类实例
May 02 Python
Django中FilePathField字段的用法
May 21 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中函数rand和mt_rand的区别比较
2012/12/26 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
使用javascipt---实现二分查找法
2013/04/10 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
Python Tkinter实现简易计算器功能
2018/01/30 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
2019/07/01 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
节约用电标语
2014/06/17 职场文书
委托书的写法
2014/08/30 职场文书
五好家庭申报材料
2014/12/20 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android
什么是SOLID
2022/03/24 Javascript
Python matplotlib绘制雷达图
2022/04/13 Python