PHDays IV CTF Quals - Escape from Minecraft writeup

CTFでMinecraftの問題が出題されるとは…


f:id:akiym:20140127190847p:plain
マップを読み込むと、9つのボタンがあり、1から9までの数字が振られている。ある順番の通りに押すことで奥の開かないドアが開くみたいだ。
f:id:akiym:20140127190941p:plain
全景:
f:id:akiym:20140127191029p:plain
Minecraftではおなじみのレッドストーン回路が見える。手前が入力側で、奥が出力側。これをすべて読むのは折れるなぁと思っていたが…

入力

f:id:akiym:20140127191312p:plain
押したボタンの数字が入力される。画像は何も入力されていない状態。8であれば、

1
0
0
0

となる。

出力

f:id:akiym:20140127193537p:plain
大きく分けて回路が4つあり、それぞれの出力をAND回路(丸で囲んでいる場所)に入力している。すべての出力が1であればドアが開くことがわかる。
レッドストーン回路については テクニック/レッドストーン回路 - Minecraft Japan Wiki - アットウィキ に書いてある。
f:id:akiym:20140127194503p:plain
奥から入力された数字が入ってくる。あとはごちゃごちゃしてるけど、1か0かなのでどうなっているかの判断はつく。
出力部分をまとめた回路はこんなイメージ。[1]から[4]にかけて、ボタンを押して入力した数字がスライドしていく。実は一つずつ見てみると単純で、何も細工はなかった :)
f:id:akiym:20140127192811p:plain
つまり、3→5→4→9をボタンを押すことでドアが開く。
f:id:akiym:20140127194902p:plain
コードは3549。サーバにコードを送信するとflagが表示された。

7h1s_cr4ft_is_M1n3