1. 問題
問題へのリンクはこちら
2枚の画像が入ったZIPファイルが与えられる。画像は2枚とも、砂嵐のようにランダムな点が打たれている白黒画像である。
2. 思考内容
2.1 画像の意味
与えられた画像を見てすぐ、「重ねたら何か出てくるのでは」と思った。イメージとしては、以下に示す参考動画のような感じである。
2.2 重ねてみる
GIMPを用いて、2枚の画像を重ねたところ、次に示す図1のようになった。予想どおり文字列が表示されている。
背景のモザイクのせいで何と書かれているか読めなかったが、(Ctrl+マウスホイールで)表示サイズを縮小したらどうにか読めるようになった(図2)。The last share is hidden in the ZIP
と読むことができる。
2.3 英文の意味
正直どういう意味かわからなかったが、share
というのは与えられた画像share1.png
、 share2.png
のことだろうか。するとこの英文の意味は、「ZIPファイルを詳しく調べれば3枚目の画像が手に入るよ」ということだと思う。
2.4 ZIPファイルを調べる
まず、与えられたZIPファイルをバイナリエディタで表示すれば何か出てくるのではと考え、hexdump -C secret.zip | grep share
などと調べてみたが、特に何も得られなかった。
(ちなみにこの時点では気づいていないが、バイナリ表示したファイルの先頭に.PNG
(89 50 4e 47
)と書かれていた。なぜ気づかなかったのか)
次にファイル形式を調べようとfile secret.zip
を実行したところ、以下の出力が得られた。
secret.zip: PNG image data, 640 x 480, 8-bit/color RGBA, non-interlaced
つまりsecret.zip
は、実はPNGファイルであるという。これに従いsecret.zip
をsecret.png
に名前変更したところ、3枚目の白黒砂嵐画像を得ることができた。
その後2.2項と同様に、3枚の画像を重ねたところ、フラグ文字列が得られた。