Misc_攻防世界_gif

拿到題目,發現文件夾中包含了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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章