misc-gif
:
题目描述:附件下载下来后发现是一张.gif
的动图
解题方法:仔细观察发现这张动图里面有黑色的字母在闪烁,猜测它的flag信息可能就隐藏在里面:
编写python脚本来将它逐帧分离:
from PIL import Image
im = Image.open(r'D:\桌面/flag.gif') #读入一个GIF文件
try:
im.save(r'D:\桌面\逐帧图片\{}.png'.format(im.tell()))
while True:
im.seek(im.tell()+1)
im.save(r'D:\桌面\逐帧图片\{}.png'.format(im.tell()))
except:
print('处理结束')
分离后可以看到有201张图片:
查看了每一张图片的属性,发现他们的宽度都为2像素,这里就可以想到要将这些图片进行排序组合成一张宽度为201x2
像素的一张大图,编写python脚本:
from PIL import Image
# 设置大图的宽度和高度
big_image_width = 2 * 201 # 每张照片宽度为2像素,共201张照片
big_image_height = 600
# 创建一张空白的大图
big_image = Image.new('RGB', (big_image_width, big_image_height))
# 将所有照片按顺序拼接到大图上
for i in range(201):
# 读取每张照片
filename = f"D:\桌面\逐帧图片/{i}.png" # 更改为你的照片文件路径和命名规则
img = Image.open(filename)
# 将照片缩放到与大图一样的高度并粘贴到大图上,依次排列
img_resized = img.resize((2, 600))
big_image.paste(img_resized, (i * 2, 0)) # 每张照片的宽度为2像素,依次排列
# 保存拼接完成的大图
big_image.save("D:\桌面\逐帧图片/big_image_sorted.png") # 更改为你想保存的大图路径和文件名
最后就组合成一张大图:
这里我们就可以得到它的flag了
标签:big,image,misc,gif,im,TWCTF,大图,逐帧 From: https://www.cnblogs.com/xyweiwen/p/17926316.html