天天看點

Netforce How good are your eyes?

最近一段時間做了不少netforce上steg(隐寫)方向的題目,感覺在這方面的功力有一點長進.然而碰到題目還是磕磕絆絆,隻能說學無止境.等我真的能在這個問題上才思靈活的時候,再作文聊以總結吧.這次隻說這一道題.

題目給了一張幾乎空白的圖.用力辨識的話能勉強看到上面有一些像素點不是白的.根據一貫的風格,毫無疑問題目就是從這裡下手的了.

用PIL寫了個程式讀出了所有不是白色的像素點和它們的坐标.看了看卻沒什麼頭緒.不像是能拼湊出字元串的樣子.再仔細觀察發現,像素點的RGB值總是一個(250,70,*)的風格,幾乎可以确定相同的前兩位是無用的.于是關注第三個通道.發現可以把它們重組成一個10~50的等差數列.

雖然重組之後仍然看不出什麼,但是無疑已經走在了正确的方向上.像素點的rgb值估計不太可能還隐藏了什麼資訊,于是開始考慮坐标中是否隐藏了什麼資訊.

接下來就是不斷的嘗試了.終于發現像素的x和y值相減得到的是可讀字元的ascii值,根據剛才的順序排列,恰好可以得到一個形如GoodEyes的字元串.

到這裡已經幾乎可以知道答案了,然而最後某一個字元是不可見字元,其ascii值是3.頓時讓我陷入了困惑,不知道該怎麼辦.根據flag一貫的風格,常常用長得像的字元進行替換以混淆視聽,然而幾次改換送出仍是無果.終于想起來,3和e雖然方向不同,但勉強也可以說長得像,果然這就是最終的flag了.

繼續閱讀