打开下载后的文件,前面有几个数字后面是无法被解析的字符,用winhex重新打开查看
发现其他的基本都是FF,滑动查找是否有其他值
确实发现了其他的值,这里猜想前面的数值代表的是一个图片的长宽,然后后面的内容指的是像素坐标信息。
但是实际去查看发现里面实际的字节数远远大于400*400,所以结合前面的P6猜想应该是有多个图片要拼接到一起,用Python看一下实际字节数有多少
这里是Yamato.txt是去掉了前面的数字的,480000可以正好被400整除,猜想应该是正确的,编写脚本来生成图片
# -*- coding: utf-8 -*-
'''
@Author : Hatanezumi
@Contact : Hatanezumi@chunshengserver.cn
'''
from PIL import Image, ImageDraw
with open('Yamato.txt', 'rb') as file:
data = file.read()
w = int(len(data) / 400)
img = Image.new('RGB', (w, 400), (255, 255, 255))
draw = ImageDraw.Draw(img)
i = 0
for y in range(400):
for x in range(w):
i += 1
if data[i:i+1].hex() != 'ff':
draw.point((x, y), (0, 0, 0))
img.save('res.png', 'png')
content_copy
得到输出图片
flag值:
FLAG{1F_Y0u_W4NT_1T_THEN_Y0U_H4VE_T0_T4KE_1T}