python实现计算资源图标crc值的方法

作者:shichen2014 时间:2022-07-02 17:57:56 

本文实例讲述了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,资源,图标
0
投稿

猜你喜欢

  • Python多线程结合队列下载百度音乐的方法

    2022-12-01 11:43:18
  • java解析php函数json_encode unicode 编码问题

    2023-07-03 17:10:23
  • 几个javascript显示加载进度条代码

    2008-01-19 10:52:00
  • ASP的错误代码都有哪些?

    2009-10-28 18:15:00
  • 总结Python变量的相关知识

    2021-01-22 19:18:47
  • Python去除字符串前后空格的几种方法

    2021-12-22 02:10:02
  • 浅谈Python中的bs4基础

    2022-11-05 16:57:47
  • django 扩展user用户字段inlines方式

    2022-02-28 00:50:14
  • python爬虫框架scrapy代理中间件掌握学习教程

    2021-03-22 15:34:54
  • Python实现发送邮件到自己邮箱

    2023-10-18 17:08:11
  • Python logging设置和logger解析

    2021-07-15 22:12:52
  • SQL Server 2005中插入XML数据方法

    2008-05-26 11:56:00
  • PHPMailer发送邮件功能实现流程

    2023-06-03 13:11:18
  • 用SQL语句解决mysql导入大数据文件的问题

    2024-01-13 05:52:23
  • PHP组合模式Composite Pattern优点与实现过程

    2023-05-29 02:10:44
  • Python Selenium参数配置方法解析

    2023-12-28 09:20:02
  • ASP压缩ACCESS数据库实例

    2009-01-19 11:47:00
  • Python中 Lambda表达式全面解析

    2021-07-05 04:58:01
  • python文件特定行插入和替换实例详解

    2022-05-01 11:16:27
  • Oracle查看逻辑读、物理读资源占用排行的SQL语句

    2023-06-25 23:53:53
  • asp之家 网络编程 m.aspxhome.com