SLP KBIT Advent Calendar 2014 13日目 - パソコンで宝探し

はじめに

この記事は、SLP KBIT Advent Calendar 2014 13日目の記事でもあります。

 

俺は何でこの日を選んでしまったのか。

学会発表とモロ被りじゃないか! なぜ気付かなかったんだ!

発表本番まであと何時間だ、と、わずかな苛立ちを覚えつつも、

この日を選んでしまったのはもうしょうがない、ということで記事を書いています。

 

昨年のアドベントカレンダーでは、技術系の話を1mmもしない記事でしたが、

今年は、少しだけ技術系に関わる話。でも、遊びも忘れたくない。

というわけで、CTFの軽い紹介と、実際に参加して解いた問題を紹介したいと思います。

CTFって?

暇を持て余したハッカーたちの遊び

Capture The Flag という言葉の略です。サーバやファイルに隠されたキーワード(フラッグ)を探し出す競技です。運営から問題が出され、それに解答して得点を競う形式が多いですが、実際にサーバ同士の攻防戦を行う形式もあります。詳しくは↓を見た方が早いかも。

CTF(Capture the Flag)って何? (Slideshare)

フラッグは宝であり、CTFは宝探しゲームみたいなものかもしれません。

日本でもCTF大会が開催されており、つい先週(2014.12.06-07)に行われたSECCON 2014 CTF オンライン予選は、世界各国から1000チームを超えるエントリーがあり、大いに盛り上がりました(多分)。

自分もSLPのメンバと一緒に参加し、問題にチャレンジしました。この記事では、そこで出た問題を2つ紹介したいと思います。

問題の紹介

crypto 100 - Easy Cipher

問題文:

87 101 108 1100011 0157 6d 0145 040 116 0157 100000 0164 104 1100101 32 0123 69 67 0103 1001111 1001110 040 062 060 49 064 100000 0157 110 6c 0151 1101110 101 040 0103 1010100 70 101110 0124 1101000 101 100000 1010011 1000101 67 0103 4f 4e 100000 105 1110011 040 116 1101000 0145 040 1100010 0151 103 103 0145 1110011 0164 100000 1101000 0141 99 6b 1100101 0162 32 0143 111 1101110 1110100 101 0163 0164 040 0151 0156 040 74 0141 1110000 1100001 0156 056 4f 0157 0160 115 44 040 0171 1101111 117 100000 1110111 0141 0156 1110100 32 0164 6f 32 6b 1101110 1101111 1110111 100000 0164 1101000 0145 040 0146 6c 97 1100111 2c 100000 0144 111 110 100111 116 100000 1111001 6f 117 63 0110 1100101 0162 0145 100000 1111001 111 117 100000 97 114 0145 46 1010011 0105 0103 67 79 1001110 123 87 110011 110001 67 110000 1001101 32 55 060 100000 110111 0110 110011 32 53 51 0103 0103 060 0116 040 5a 0117 73 0101 7d 1001000 0141 1110110 1100101 100000 102 0165 0156 33 

 パッと見、数字ばっかりの問題文。これ以外にヒントはありません。が、1つ1つの文字列をよく見ると、いくつかは特徴が。

  • アルファベット(a-f)が混じってる
  • 0と1しかない
  • 0から始まってる

普段使っている数(10進数)とは違うものが。アルファベット混じりは16進数、0と1しか使われていないものは2進数と推測できます。0から始まるものは、8と9が見当たらないし、8進数かな(適当)、と推測。

では、すべて10進数に変換してみましょう。

87, 101, 108, 99, 111, 109, 101, 32, 116, 111, 32, 116, 104, 101, 32, 83, 69, 67, 67, 79, 78, 32, 50, 48, 49, 52, 32, 111, 110, 108, 105, 110, 101, 32, 67, 84, 70, 46, 84, 104, 101, 32, 83, 69, 67, 67, 79, 78, 32, 105, 115, 32, 116, 104, 101, 32, 98, 105, 103, 103, 101, 115, 116, 32, 104, 97, 99, 107, 101, 114, 32, 99, 111, 110, 116, 101, 115, 116, 32, 105, 110, 32, 74, 97, 112, 97, 110, 46, 79, 111, 112, 115, 44, 32, 121, 111, 117, 32, 119, 97, 110, 116, 32, 116, 111, 32, 107, 110, 111, 119, 32, 116, 104, 101, 32, 102, 108, 97, 103, 44, 32, 100, 111, 110, 39, 116, 32, 121, 111, 117, 63, 72, 101, 114, 101, 32, 121, 111, 117, 32, 97, 114, 101, 46, 83, 69, 67, 67, 79, 78, 123, 87, 51, 49, 67, 48, 77, 32, 55, 48, 32, 55, 72, 51, 32, 53, 51, 67, 67, 48, 78, 32, 90, 79, 73, 65, 125, 72, 97, 118, 101, 32, 102, 117, 110, 33 

 なんだこれは。でも32が多いなぁ。それより小さい数は無くて、最大でも125くらい。ってことは、ASCII文字コード表 に当てはめればいいんじゃ…! ってことで、やってみると、

Welcome to the SECCON 2014 online CTF.The SECCON is the biggest hacker contest in Japan.Oops, you want to know the flag, don't you?Here you are.SECCON{W31C0M 70 7H3 53CC0N ZOIA}Have fun!

やった、文章が現れた!

フラッグは、アルファベットを数字に置き換えたり、その逆をしていたり、1文字抜けてたりしますが、Welcome to the SECCON 2014 という意味でしょう。

このように、推測とごり押しでなんとかなる問題も出されます。

QR 300 - SECCON Wars : The Flag Awakens

問題には動画へのリンクのみ。

http://youtu.be/1pC56S17-_A

 

某映画のパクリみたいな感じだが、まぁそれはおいておく。

文字列に続いて、SECCONのロゴの後ろに何か流れていかなかっただろうか?

実は、QRコードが流れていた。下の端の数ドットしか見えないが、順番につなぎ合わせていけば、QRコードを復元できる。

根気のある人はやってみてください()

強引に終わる

たまには、パソコンを使って、宝探しをしてみるのも面白いんじゃないかな!

新たな息抜きの提案

いろいろあってSLPに入らされることになった僕に急遽生まれた課題。

26時間でアドベントカレンダーの記事を書けと。さぁどうしよう。

てか5日の記事の担当が3日夜に決まってないってどうなのさ。

なんか真面目なこと書かなきゃいけないの? でもトップバッターが艦これだしいいか?

とかいろいろ考えたり寝たりしているうちに、残り10時間。マジでどうしよう。

 

…独り言はこのへんにして。

 

迷っていてもきりがないので、ゲームの話します。というか情報系で書ける話題ないわ。

真面目に情報系の話をしてくださる皆さん、ごめんなさい。

 

僕の趣味は音楽ゲーム、略して音ゲー(おとげー)です。

音楽ゲームと聞いても、この記事を読んでくださっている大体の方は太鼓の達人くらいしか知らないのでは…と(勝手に)思います。

SLPには音楽ゲームに詳しい方が数名いらっしゃるはずなので、もし興味があれば僕または知っている誰かを捕まえて話を聞いてください。

 

音楽ゲームとは、その名の通り、音楽に合わせて何かアクションをして楽しむゲームです。ここでいうアクションとは、太鼓を叩くなどといった非常にシンプルなものです。というか、何かを叩く(触る)以外のアクションを要求する音楽ゲームは、僕の知る限りではそう多くありません。

といっても、その「音楽に合わせて」ってのが、なかなか難しいところなんですけど。

音楽に合わせるということは、リズム感が必要になってきます。しかし、リズム感の有無は個人差が非常に激しく、一番簡単なレベル(1~2小節にアクション1回程度)ですら、音符を捉えきれない人も普通にいます。逆に、初めてのプレーでかなり高い難易度を軽々とクリアしてしまう猛者もいます。

 

…って、この調子で書いてたら内容がどんどんネガティブな方向へ向かってしまうじゃないか! 音ゲーの宣伝したいのに!!

…あっ、本音が出てしまった…

…気を取り直して。

 

太鼓しか知らねえよ!とか、そもそも太鼓も知らなかった!という方に、今ゲームセンターにある音楽ゲームをいくつか紹介します。

同じく音楽ゲームがほぼ初めての友達を誘ってプレーしてみてください!また、知り合いに経験者がいる場合はやり方を教えてもらいましょう。

紹介しているゲームについてもっと知りたい場合は、ゲームの名前でググるか僕に聞いてください。ただし一部の経験者の方の質問は受け付けませんのであしからず。

では、宣伝始めます!

 

jubeat

ゆびーとって読みます。4×4に並んだ正方形の透明なパネル16枚を、浮かび上がるマーカーに合わせてタッチするゲームです。

イメージとしては、もぐら叩きにリズムの要素を付け加えたものと思ってもらえればよいでしょう。

譜面自体の難易度が低く、また各ノーツ(音符)のタイミング判定も甘いので、楽にクリアすることができます。

収録曲も幅広く、サビのメロディーだけは聴いたことある!というようなものもいくつかあります。

筆者はjubeatの公式全国大会の本戦に出たことがあります

 

REFLEC BEAT

りふれくびーとって読みます。タッチパネル上を動くノーツをタッチして遊ぶゲームです。

イメージとしては、エアホッケーにリズムの要素を付け加え、パックを複数枚にしたものと思ってもらえればよいでしょう。

パックが複数枚と聞くと難しいイメージが付きそうですが、それぞれの速度が遅いので十分目で追えると思います。

先述のjubeatと同様、収録曲が幅広く、またノーツ(パック)反射音が心地よいです。

 

【GITADORA (GuitarFreaks / DrumMania)】

ぎたどらって読みます。軽音で使われるギターとドラムを模したゲームです。上記2つのゲームより難易度は高いですが、本格的な演奏が味わえます。

もともとはGuitarFreaksDrumManiaという2つのゲームでしたが、バージョンアップは常に同じタイミングで行われており、ギタドラの略称で親しまれてきました。昨年、ついにゲーム名が統一され、もともとのタイトルはサブタイトルになりました。

GuitarFreaksでは、5つのネックボタンとピッキングレバーを用いて操作します。さすがにあの細い弦は再現されていません。そこまでやると難しすぎて話になりません。

DrumManiaでは、シンバル、スネア、タムにあたる合計7つのパッドと、2つのフットペダルからなる本格的な演奏が可能です。配置も本物のドラムにかなり近いものになっています。

バンドの気分を味わいたい人はぜひどうぞ。

 

このほかにも、アーケードだけで10種類以上の音楽ゲームが稼働しています。

新たな息抜きを求めている方は、ぜひ音楽ゲームを!

僕を見つけて声をかけてくださればやり方を教えますので、お気軽にどうぞ!

 

…書き上げたのが締切30分前。しんど。