decode me (暗号 100)

問題文は特になく、ポツンと以下のファイルへのリンクが置かれているだけでした。

encoded.txt

そのまま開いてみると、とりあえず化け化けになると思います(実際に表示される内容は開いた環境によってさまざまなはずです)。

結論から言うと、たまたま私はnkfのrオプションの存在を知っていたので、

$ nkf -r < encoded.txt

で、以下の出力を得ました。

SECCON 2014 $K;22C$N$_$J$5$^$3$s$K$A$O!#
rot13/47 $K5$IU$/$H$ON.@P$G$9!#
#n#k#f%3%^%s%I$G4JC1$K%G%3!<%I$G$-$k$3$H$K$b5$IU$-$^$7$?$+!)
$H$$$&$o$1$G!"$*$a$G$H$&$4$6$$$^$9!*
%U%i%0$OH>3Q1Q?tJ8;z$KJQ49$7$F$+$iF~NO$7$F$/$@$5$$!#
#F#L#A#G!P#H#a#v#e!!#f#u#n!!#S#E#C#C#O#N#2#0#1#4!Q

なんか最後にflagらしきものが見ていますが、それほど甘くはないだろうと思っていたのですが、これをUTF-8で開けばそのまま見える!という突っ込みをチームメイトからもらってやってみたところ、確かにその通りでした。

$ nkf -r < encoded.txt | nkf -w8
SECCON 2014 に参加のみなさまこんにちは。
rot13/47 に気付くとは流石です。
nkfコマンドで簡単にデコードできることにも気付きましたか?
というわけで、おめでとうございます!
フラグは半角英数文字に変換してから入力してください。
FLAG{Have fun SECCON2014}

突っ込みをくれたチームメイト曰く、ターミナルのキャラクタセットがUTF-8だったら”nkf -r < encoded.txt”だけでもちゃんと日本語が表示されるとのことでしたが、なぜか私の環境では出ませんでした。envで見るとLANG=ja_JP.UTF-8でしたし、TeraTermの文字セットも送受信共にUTF-8だったのに…

というわけで、ほとんど解いていたにもかかわらずflagは取れませんでした…

コメントする