Shes A Killed Queen

ファイル queen.png が与えられた。

TSXBINqueen.png を開くと、IHDRチャンクのWidthHeightが0になっていることがわかった。
これは、PBjar CTF の Art Mystery と同様である。

そこで、同様に extract.pl を用いてIDATチャンクのデータを抜き出し、CyberChef の Zlib Inflate をかけると、3,240,675バイトのデータが得られた。
このサイズを素因数分解すると、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 TSXBIN, I found that 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 CyberChef like I did in "Art Mystery", obtaining 3,240,675-byte data.
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:

the symbols

さらに、得られた画像を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.

kqctf{SHES_A_KILLED_QUEEN_BY_THE_GUILLOTINE_RANDOMCHRSIADHFKILIHASDKFHQIFPXKRL}

Killer Queen CTF