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

本文实例讲述了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
, 图标
, 计算
, 资源
crc值
python实现crc16算法、python实现crc16、python crc8的实现、python crc32、python crc16,以便于您获取更多的相关知识。

时间: 2024-07-28 13:25:25

python实现计算资源图标crc值的方法_python的相关文章

python求crc32值的方法_python

本文实例讲述了python求crc32值的方法.分享给大家供大家参考.具体实现方法如下: 要想求CRC值,前面要import binascii binascii.crc32(v)  求出了v的crc32值,这是一个long型,形如-1456387L,把这个值&0xffffffff得到的值形如48a213L的形式. 然后把这个值用16进制表示出来. 具体代码如下: def _crc32(self, v): """ Generates the crc32 hash of

Python获取文件ssdeep值的方法_python

本文实例讲述了Python获取文件ssdeep值的方法,分享给大家供大家参考.具体方法如下: 首先,得到ssdeep值,需要先import ssdeep 在ubuntu上安装pyssdeep时 一直出错  后来发现apt-cache search "ssdeep"时把几个全apt-get install 上,但问题依旧. 后来下载到pyssdeep的源文件 ,tar zxvf pyssdeep.tar.zip 然后 apt-get install python-dev 然后 pytho

python计算N天之后日期的方法_python

本文实例讲述了python计算N天之后日期的方法.分享给大家供大家参考.具体如下: python计算N天之后的日期,可以自己写成一个函数,想得到几天后的日期都行 #! /usr/bin/env python #coding=utf-8 import time import datetime d1 = datetime.datetime.now() d3 = d1 + datetime.timedelta(days =10) print str(d3) print d3.ctime() 输出结果如

python 打印对象的所有属性值的方法_python

如下所示: def prn_obj(obj): print '\n'.join(['%s:%s' % item for item in obj.__dict__.items()]) 以上这篇python 打印对象的所有属性值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索python 打印对象属性 python打印对象属性.python 打印

Python模仿POST提交HTTP数据及使用Cookie值的方法_python

本文实例讲述了在Python中模仿POST HTTP数据及带Cookie提交数据的实现方法,分享给大家供大家参考.具体实现方法如下: 方法一 如果不使用Cookie, 发送HTTP POST非常简单: 复制代码 代码如下: import urllib2, urllib data = {'name' : 'www', 'password' : '123456'} f = urllib2.urlopen(         url     = 'http://www.jb51.net/',      

go语言计算两个时间的时间差方法_python

本文实例讲述了go语言计算两个时间的时间差方法.分享给大家供大家参考.具体分析如下: go语言计算两个时间的时间差,代码很简单,返回1天前.1周前还是1月前的时间 package main import ( "fmt" "time" ) func main() { //Add方法和Sub方法是相反的,获取t0和t1的时间距离d是使用Sub //将t0加d获取t1就是使用Add方法 k := time.Now() //一天之前 d, _ := time.ParseDu

python通过BF算法实现关键词匹配的方法_python

本文实例讲述了python通过BF算法实现关键词匹配的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: #!/usr/bin/python # -*- coding: UTF-8 # filename BF import time """ t="this is a big apple,this is a big apple,this is a big apple,this is a big apple." p="apple&q

利用Python自动监控网站并发送邮件告警的方法_python

前言 因为有一些网站需要每日检查是否有问题,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以做到对网站自动监控了. 这里用的是python3.5 需要安装的插件:       1.smtplib:发邮件需要用到       2.pycurl:访问网站时会需要用到       3.linecache:在读取txt网站清单时需要用到 具体思路: python程序从txt里面批量读取到网站的信息,通过Curl.py模拟浏览器去访问网站,并且把访问的结果写入到以自己的网站名称

采用python实现简单QQ单用户机器人的方法_python

采用python实现简单QQ单用户机器人的方法如下: 一.首先我们查看一下关于3GQQ的相关协议:     对此,打开一个支持WAP的浏览器,可以使用Firefox的wmlbrowser插件,打开FF后,访问地址 https://addons.mozilla.org/zh-CN/firefox/search/?q=wmlbrowser&cat=all&x=17&y=11    二.进入3GQQ的进行协议分析     3GQQ的地址是:http://pt.3g.qq.com/s?ai