ファイル queen.png
が与えられた。
queen.png
を開くと、IHDR
チャンクのWidth
とHeight
が0になっていることがわかった。
これは、PBjar CTF の Art Mystery と同様である。
そこで、同様に extract.pl
を用いてIDAT
チャンクのデータを抜き出し、
このサイズを素因数分解すると、3240675 = 3 * 3 * 3 * 5 * 5 * 4801
となった。
また、IHDR
チャンクに記録されたDepth
は 8、ColorType
は 6 (Truecolour with alpha) である。
これが正しいと仮定すれば、1ピクセルを4バイトで表し、さらに行の最初にエンコード形式を表す1バイトが付くので、1行は4n+1
バイト (n
は整数) になるはずである。
4801 = 4 * 1200 + 1
なので、画像の幅を1200ピクセルと仮定すると、条件を満たす。
この時、画像の高さは 3 * 3 * 3 * 5 * 5 = 675
バイトとなる。
そこで、TSXBINでWidth
に1200、Height
に675を書き込んでみると、画像を開くことができた。
得られた画像を調べた結果、CyberChefの View Bit Plane で Colour を Red、Bit を 0とすると、左上に以下の意味ありげな記号群が出ることがわかった。
A file queen.png
was given.
Opening queen.png
with Width
and Height
in the IHDR
chunk are set to 0.
This looks like the same as Art Mystery in PBjar CTF.
Seeing this, I extracted the data of IDAT
chunks using extract.pl
and applied "Zlib Inflate" on
Factoring this size results in 3240675 = 3 * 3 * 3 * 5 * 5 * 4801
.
Also, in the IHDR
chunk, Depth
is set to 8 and ColorType
is set to 6 (Truecolour with alpha).
Assuming that these values are correct, one row is represented by 4n+1
bytes (n
is an integer) because one pixel is represented using 4 bytes and one byte that represents the encoding method is added.
Assuming that the width of the image is 1200 pixels satisfies the condition because 4801 = 4 * 1200 + 1
.
With this assumption, the height of the image is 3 * 3 * 3 * 5 * 5 = 675
.
Based on this, I tried writing 1200 as Width
and 675 as Height
using TSXBIN. After that, I succeeded to open the image.
Investigating the image obtained, I found that applying "View Bit Plane" with setting Colour to Red and Bit to 0 on CyberChef reveals these symbols that looks meaningful in the top left of the result:
さらに、得られた画像をGoogleの「画像で検索」にかけたところ、以下のページなどが見つかった。
Also, I put the obtained image to Google "search for an image" and found this page, for example:
Mary, Queen of Scots - Wikipedia
「Mary, Queen of Scots font」でググると、「画像検索結果」から以下のページにたどり着いた。
I googled "Mary, Queen of Scots font" and found this page from the result of image search:
Mary Queen of Scots Cipher/Code - Online Decoder, Translator
このページに View Bit Plane で出てきた記号を入力し、デコードを行った結果を整形することで、flagが得られた。
I obtained the flag by entering the symbols obtained from "View Bit Plane" to this page, decoding and formatting the result.