
将所有帧分离出来,
from PIL import Imageimport osgifFileName = 'running_pixel.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
发现每隔10张图片都有异常,stegsolve看下
可以看到小人头上有个奇怪的点,并且在第20张图片也看到了类似的点,不过位置不同
图片放大后,发现那个点的颜色与其背景色不同,背景色为(247,247,247),点的颜色是(233,233,233)
每隔10张将其坐标提取出来并绘制到新的图片上,但是提取过程中发现getpixel得到的不是元组,而是一个数字,经过搜索,发现提取出来的图片是P模式,需要改成RGB模式。
但是得到的却是很不连贯的散点。看了wp才发现原来其他图片也有类似的点,全部弄出来之后得到一张图片,里面有很多个字母
写个脚本,把字母出现的顺序弄出来,就是flag
from PIL import Imagecount=1old_x=0old_y=0im = Image.new('RGB', (400, 400))for i in range(382):_im=Image.open(f'./running_pixel/{i}.png')_im = _im.convert('RGB')for x in range(400):for y in range(400):if _im.getpixel((x, y)) == (233, 233, 233):if abs(old_x-x) > 5 and abs(old_y-y) > 5:im.save(f'./save/{count}.png')else:im.putpixel((x, y), (255, 255, 255))count+=1old_x = xold_y = y
