拿到題目,發現文件夾中包含了104張黑白圖片,我們可以聯想到二進制。因此,直接從二進制下手,嘗試將其轉換爲二進制,然後轉換爲字符串的形式。
然而,104張圖片只靠手寫二進制肯定是行不通的,我們可以通過python來實現。
既然只有黑白兩種圖片,我們可以以前兩張圖片爲例,用來辨認黑白。
white = open("./gif/0.jpg","rb").read()
black = open("./gif/1.jpg","rb").read()
"""文件路徑要根據實際情況填寫,不確定的話可以寫絕對路徑。
rb是用二進制只讀形式打開文件,從而讓系統辨認黑白"""
接下來,需要讓程序分別辨認104張圖片,白色輸出0,黑色輸出1。
flag_dic = ""
for i in range(104):
with open("./gif/%d.jpg"%i,"rb") as f:
if f.read() == white:
flag_dic += "0"
else:
flag_dic += "1"
最後,輸出flag_dic,從而得到104張圖片對應的二進制編碼
至於二進制轉字符串,可以利用工具轉換,也可以用如下代碼
flag = ""
for i in range(len(flag_dic)/8):
flag += chr(int(flag_dic[i*8:(i+1)*8],2))
print(flag)