BUUCTF:[*CTF2019]babyflash

https://buuoj.cn/challenges#[*CTF2019]babyflash

在这里插入图片描述
附件是一个flash.swf文件,需要用一个叫JPEXS Free Flash Decompiler反编译

JPEXS Free Flash Decompiler:https://github.com/jindrapetrik/jpexs-decompiler/releases

得到441张图片
在这里插入图片描述
以及一个MP3音频文件
在这里插入图片描述
MP3文件用Audacity查看频谱图
在这里插入图片描述
得到一部分flag,接着看441张图片,应该是二维码,一张黑色图代表一个1,白色代表一个0,得到二进制数据然后按照21x211填黑色,遇0填白色得到一张二维码

from os import listdir
from PIL import Image

dirlist = listdir('C:/Users/Administrator/Downloads/flash/images/')
dirlist.sort(key=lambda x:int(x.split('.')[0]))
qrdata = ''
for imgname in dirlist:
    img = Image.open('./images/'+imgname)
    img = img.load()
    if img[0,0] == (0, 0, 0):
        qrdata += '1'#黑色对应1
    elif img[0,0] == (255, 255, 255):
        qrdata += '0'#白色对应0

width=height=21
new_img = Image.new("RGB",(width,height))
i = 0
for w in range(width):
    for h in range(height):
        if qrdata[i] == '1':
            new_img.putpixel([w,h],(0, 0, 0))
        elif qrdata[i] == '0':
            new_img.putpixel([w,h],(255,255,255))
        i += 1

new_img.save('flag.png')

在这里插入图片描述
得到另一部分flag,结合上面一部分flag得到完整flag

*ctf{half_flag_&&_the_rest}

BUUCTF上面的flag提交有坑,提交正确的flag是

flag{halfflag&&_the_rest}
相关推荐
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:马嘣嘣 返回首页