打开下载后的文件,前面有几个数字后面是无法被解析的字符,用winhex重新打开查看
1.png
发现其他的基本都是FF,滑动查找是否有其他值
2.png
确实发现了其他的值,这里猜想前面的数值代表的是一个图片的长宽,然后后面的内容指的是像素坐标信息。
但是实际去查看发现里面实际的字节数远远大于400*400,所以结合前面的P6猜想应该是有多个图片要拼接到一起,用Python看一下实际字节数有多少
3.png
这里是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

得到输出图片
4.png
flag值:
FLAG{1F_Y0u_W4NT_1T_THEN_Y0U_H4VE_T0_T4KE_1T}