SECCON CTF 奈良大会に参加してきた

ども, nullです
昨日は横浜大会に参加してきました.
今更ながら奈良大会のwriteupを書きます.

解いた問題たち:
A Cinderella protection for beginers.
このシューティングゲーム、クリアできる?
Hello x86 World.


A Cinderella protection for beginers.
問題文: 忘れた. "所定の時間に実行するとflagが出ます"みたいな感じだったと思う.

(wineで実行してるので句点がズレてますねw)
ollydbgで処理を追っていくと, GetLocalTimeで取得した値をある値と比較していることが分かります.

比較する時に比較値と取得した値が合致するように変更してあげればflagが出てきました.

flag: 2012/05/21 07:35:27 (書式が指定されてた気がしなくもない)


このシューティングゲーム、クリアできる?
問題文: 忘れた. "登場人物がゲームで賭けてて, SCOREが2700になったら勝ち. ENERGYに表示されたものがflag"といった趣旨のものだった.

shooting.exeが問題のファイルです. これを実行するとシューティングゲームが起動します.
600点くらいまで行くと敵機がめっちゃすごい動きになってきてどうしても勝てなくなります. ずるい.

とりあえずスコアの数字が2700以上になればいいらしいので, IDAを使ってSCOREとENERGYの処理が行われている部分を特定しました.

次にollydbgで開いたら適当な点数を取ってから, そのアドレスにブレークポイントを落とします.
動作を止めて, SCOREの格納されたところをdumpします. (図のSCOREは87(=57h)です)

そこの値を2700(=8ACh)に変えてあげると, ENERGYにflagが出てきます.

flag: 19830515


Hello x86 World. // あとで書く
問題文: 忘れた.
hello-x86-world.exeを実行すると,


usage: hello-x86-world


と出てくるので, どうやらkeyに何かを入れると答えが出るみたいです.

/* ながいのであとで書く */

flag: はちゅねミク


感想
合計で2000点ちょっとを取れました.
今回はなかなか出来たのですが, 早朝5時に新大阪に着いて寝不足だったので1日目は1問も解けませんでした……
やはりCTF前はしっかり寝ないといけませんねー


全体の感想としては, ユースホステルという便利なものに感動しました.
あとチャゲ男とかぽてちがむふふでした.
キャンパーのみんなにもまた会えてよかったです.


次の大会が全国大会への最後のチャンスなのでがんばります!!


では, また.