1.下载后解压得到104张图片
2.分析图片类型,不是百分百确定是jpg
3.分析文件头 FF D8 FF 确实是jpg
4.由于每张图片大小也相同,没有一个一个分析的必要,只是颜色和命名不同,命名是有顺序的,并且颜色只有黑白两个,可能是密码学,不同颜色表示不同代码,根据顺序排列,只有两种编码,难道是01的二进制???
转化为二进制
python3脚本:
5.得到结果 flag{FuN_giF}
附:脚本
1 flag_dic = "" 2 3 white = open(r"D:\攻防世界\Misc\gif\gif\0.jpg","rb").read() 4 black = open(r"D:\攻防世界\Misc\gif\gif\1.jpg","rb").read() 5 #上面两句用于为下面的图片识别做个实例,定义什么图片是白色,什么是黑色 6 7 for i in range(104): 8 with open(r"D:\攻防世界\Misc\gif\gif\%d.jpg"%i,"rb") as f: 9 if f.read() == white: 10 flag_dic += "0" 11 else: 12 flag_dic += "1" 13 #上面循环语句用于识别D:\攻防世界\Misc\gif\gif\%d.jpg路径下的104张图片的颜色,并给白色附值为0,黑色赋值为1 14 15 #print (flag_dic) 16 #用于测试打印识别后的二进制 17 18 flag = "" 19 20 for i in range(len(flag_dic)//8): 21 flag += chr(int(flag_dic[i*8:(i+1)*8],2)) 22 23 print(flag) 24 #将二进制转化为字符串