wireshark打开,很容易就找到了要解密的字符串:
    image.png
    由于传送时时base64编码,所以要先base64解码:
    image.png
    解码出来一堆俄语字母。而且正好33个image.png

    从大佬那里抄来一个脚本:

    1. import base64
    2. from collections import Counter
    3. import string
    4. from Crypto.Util.number import *
    5. with open('flag2.txt') as f:
    6. s = f.read()
    7. s = ''.join(s.splitlines())
    8. s = base64.b64decode(s).decode()
    9. ru = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'
    10. ru = ''.join(ru.splitlines())
    11. base = string.digits + string.ascii_uppercase[:23]
    12. print(ru)
    13. s = s.translate(str.maketrans(ru, base))
    14. s = long_to_bytes(int(s, 33))
    15. with open('gao.png', 'wb') as f:
    16. f.write(s)

    0~W分别对应俄语的33个字母。
    运行脚本得到一张图片
    image.png
    暂时看不出来是什么东西。
    010 editor打开后末尾写了5px
    image.png
    脚本:

    1. from PIL import Image
    2. img = Image.open("gao.png")
    3. width,height = img.size[0],img.size[1]
    4. img2 = Image.new('RGB',(1000,1000))
    5. w1 = 0
    6. for w in range(1,width,10):
    7. b = (w,0,w+5,height)
    8. re = img.crop(b)
    9. img2.paste(re,(w1,0))
    10. img2.save('tmp.png')
    11. w1 = w1 +5
    12. img2.save("flag.png")