杂项部分

  1. 提取gif每一帧图片的脚本
from PIL import Image
import os
gifFileName = '456.gif'
#使用Image模块的open()方法打开gif动态图像时,默认是第一帧
im = Image.open(gifFileName)
pngDir = gifFileName[:-4]
#创建存放每帧图片的文件夹
os.mkdir(pngDir)
try:
  while True:
    #保存当前帧图片
    current = im.tell()
    im.save(pngDir+'/'+str(current)+'.png')
    #获取下一帧图片
    im.seek(current+1)
except EOFError:
    pass
  1. 提取base64编码图片的信息转为二进制写入文件
import base64
f = open('123.txt',encoding='utf-8')
string = str(f.read())
x = base64.b64decode(string)
f.close()
f = open('result1.png','wb')
f.write(x)
  1. 碰撞CRC校验(长度部分)
import struct
import binascii
import oS
f = open("ba.png","rb")
m = f.read()
for i in range (1024) :
   c = m[12:16] + struct. pack('>i', i) + m[20:29]
   crc = binascii.crc32(c) & 0xffffffff
   if crc == 0x7e7f049d:
   print (i)
   f. close ()