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之有点简约的元组
Sep 24 Python
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
Python读写文件方法总结
Jun 09 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
PyQT实现多窗口切换
Apr 20 Python
python中scikit-learn机器代码实例
Aug 05 Python
python通过http下载文件的方法详解
Jul 26 Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 Python
Anaconda详细安装步骤图文教程
Nov 12 Python
python爬虫 requests-html的使用
Nov 30 Python
浅谈Python数学建模之整数规划
Jun 23 Python
Python实现Matplotlib,Seaborn动态数据图
May 06 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连mysql和oracle数据库性能比较
2006/10/09 PHP
php获取错误信息的方法
2015/07/17 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
vue如何集成raphael.js中国地图的方法示例
2017/08/15 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
python实现异步回调机制代码分享
2014/01/10 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
介绍一下linux的文件权限
2012/02/15 面试题
租房协议书范本
2014/04/09 职场文书
关于保护环境的建议书
2014/05/13 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
法人身份证明书
2015/06/18 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
netty 实现tomcat的示例代码
2022/06/05 Servers