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学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
python开发之thread线程基础实例入门
Nov 11 Python
spyder常用快捷键(分享)
Jul 19 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
bluepy 一款python封装的BLE利器简单介绍
Jun 25 Python
Python笔试面试题小结
Sep 07 Python
如何基于Python获取图片的物理尺寸
Nov 25 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
Python爬取数据并实现可视化代码解析
Aug 12 Python
Pandas直接读取sql脚本的方法
Jan 21 Python
Python 把两层列表展开平铺成一层(5种实现方式)
Apr 07 Python
python实现剪贴板的操作
Jul 01 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开启gzip页面压缩实例代码
2010/03/11 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
一个javascript图片阅览组件
2010/11/09 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
Node.js文件操作详解
2014/08/16 Javascript
再谈javascript原型继承
2014/11/10 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
Python显示进度条的方法
2014/09/20 Python
python实现得到一个给定类的虚函数
2014/09/28 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
对python产生随机的二维数组实例详解
2018/12/13 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
Python 下载及安装详细步骤
2019/11/04 Python
Python requests获取网页常用方法解析
2020/02/20 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
德国综合购物网站:OTTO
2018/11/13 全球购物
会议开场欢迎词
2014/01/15 职场文书
医院保洁服务方案
2014/06/11 职场文书
2014会计年终工作总结
2014/12/20 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers