Ishihara test++

ファイル flag.svg が与えられた。

flag.svgFirefoxで開くと、大量の丸が表示された。
テキストエディタで開くと、1行に1個のcircleタグが書かれており、c1c6のクラスに分かれているようだった。

そこで、以下のようにgrepを用い、クラスごとにcircleタグを抜き出した。

A file flag.svg was given.

Opening flag.svg on Firefox, a lot of circles were displayed.
Opening the file with a text editor, I found there were one circle tag per line, and they were separated to classes c1 to c6.

Seeing this, I used grep to extract circle tags of each classes in this way:

grep c1 flag.svg > flag-c1.svg grep c2 flag.svg > flag-c2.svg grep c3 flag.svg > flag-c3.svg grep c4 flag.svg > flag-c4.svg grep c5 flag.svg > flag-c5.svg grep c6 flag.svg > flag-c6.svg

grep による抽出を行った後、flag.svg の最初の2行

After extracting via grep, I added the first 2 lines of flag.svg:

<?xml version="1.0" encoding="UTF-8" ?> <svg width="1920" height="1080" viewBox="0 0 1920 1080" xmlns="http://www.w3.org/2000/svg" version="1.1">

と最後の1行

and the last line:

</svg>

をそれぞれの出力ファイルに書き足した。 その結果、以下のような画像が得られた。

to each output files. These operations resulted in images like these:

flag-c1.svgflag-c2.svgflag-c3.svg
flag-c1.svg flag-c2.svg flag-c3.svg
flag-c4.svgflag-c5.svgflag-c6.svg
flag-c4.svg flag-c5.svg flag-c6.svg

クラスc1c3c6の抽出結果に文字のようなものが見えたので、 以下のようにこれらをまとめて抽出した。

I found somethings like characters in the results for class c1, c3, and c6. So, I extracted all of them at once in this way:

grep -E "c[136]" flag.svg > flag-c136.svg

同様に最初と最後を書き足すと、以下のような画像が得られた。

Adding the first and last lines in the same way resulted in an image like this:

flag-c136.svg

この画像からflagを読み取ることができた。

I read the flag from this image.

sdctf{c0untle55_col0rfu1_c0lors_cov3ring_3veryth1ng}

San Diego CTF 2022