バイナリの勉強

こんにちは、最近バイナリの勉強を始めました。
今回「Teaser CONFidence CTF 2015」に参加したのでそのwrite upを書こうと思っていました。
しかし、reverse問題の”So-easy-100”があったのですが、それを解くことができませんでした。
この問題は実行ファイルで実行すると入力を促されます。このファイルをobjdumpしたところ、入力内容が一致すれば、”Excellent Work”、そうでなければ、"Nope!”と出力をするもののようです。
f:id:eyesjapan:20150502154451p:plain
なので、正解の文字列はプログラム中にあるので、それを見つけば良いのですが、dRGNs{tHISwASsOsIMPLE}という近そうな雰囲気の文字列はあるがこれではなく、見つかっていません。
大会が終了した後もやってみたのですが、答えにたどり着くことができてません。そこで、ネットに公開されている他の人のwrite upを読んでいるのですが、それでも、なぜその答えにたどり着くことができたのかを理解することができません。正直自分の中で、write upを見れば、簡単に理解できるし、次に繋ぐこともできると思っていましたが、今回の件で、自分のレベルの低さを知りました。
また、数日前にCTFをやっている人にあってどのように力をつけているのかを聞いたところ、常時開催のCTFではなく、数時間、数日でやるCTFの大会に出て、自分の解けなかったところをすぐにwrite upをみて、次回同じような問題を解けるように理解することが大切と言っていました。
ということで、今回解けなかったことを引きずらずに、どんどんwrite upをみて勉強していきたいと思います。とりあえず自分は根本的知識を増やすために、以下の2冊の本を読むことにします。
f:id:eyesjapan:20150502154704j:plainf:id:eyesjapan:20150502154716j:plain