Skip to content

解答

flag{ZER0_W1DTH_SPACE}

解説

与えられたファイルを開くと、Zしか表示されていません。
morse_oneの問題では、既に3種の文字が表示されていましたが、今回はZしか表示されていません。
拉致が開かないので、とりあえず、本ページ最下部のリンクのサイトに投げてみました。
Z以外に見えない文字があるようです。UTF8であることが、fileコマンドを使うとわかるので、3バイト/文字であることがわかる。
3バイトずつ、同じ文字の羅列を置換していく。
e2 80 8c -> A
e2 80 8b -> B
Aに置換したものは、ZERO WIDTH NON-JOINER
Bに置換したものは、ZERO WIDTH SPACE
です。だから視認できなかったのですね。

残った5aをCとする。 5a -> C
UTF8ではASCIIと互換性をもたせるためにASCIIとの共通している部分は1バイトで表現されるようです。
5aはASCIIのZでUTF8でもZとなります。
https://qiita.com/heeroo_ymsw/items/c6e15d5f9246b4e842eb
置換すると以下のようになります。あとは、morse_oneとおなじです。

AABBCBCBABCAAAAACBBAABACBAACBAAAACABBCACBBBBCBBAABACBBBCBAABCBACABABCB

今回の問題の解法です。
https://cyberchef.mimimimineko.com/CyberChef_v10.5.2/#recipe=To_Hex('Space',0)Find_/Replace(%7B'option':'Regex','string':'e2%2080%208c'%7D,'A',true,false,true,false)Find/Replace(%7B'option':'Regex','string':'e2%2080%208b'%7D,'B',true,false,true,false)Find/Replace(%7B'option':'Regex','string':'5a'%7D,'C',true,false,true,false)Find/Replace(%7B'option':'Regex','string':'%20'%7D,'',true,false,true,false)Find/Replace(%7B'option':'Regex','string':'C'%7D,'%20',true,false,true,false)Find/Replace(%7B'option':'Regex','string':'A'%7D,'-',true,false,true,false)Find/_Replace(%7B'option':'Regex','string':'B'%7D,'.',true,false,true,false)From_Morse_Code('Space','Line%20feed')&input=4oCM4oCM4oCL4oCLWuKAi1rigIvigIzigIta4oCM4oCM4oCM4oCM4oCMWuKAi%2BKAi%2BKAjOKAjOKAi%2BKAjFrigIvigIzigIxa4oCL4oCM4oCM4oCM4oCMWuKAjOKAi%2BKAi1rigIxa4oCL4oCL4oCL4oCLWuKAi%2BKAi%2BKAjOKAjOKAi%2BKAjFrigIvigIvigIta4oCL4oCM4oCM4oCLWuKAi%2BKAjFrigIzigIvigIzigIta4oCL