にゃーんとか言ったことなし

コンテンツは特にないです。

akictf #10 easy_crackme

問題

https://ctf.katsudon.org/problem/10

 

考えたこと

bin問題なので、まあバイナリ解析だろうという予想は簡単につくが一応fileコマンドで確認すると、予想通りそれだった。実行権限xがなかったので、それを追加してあげて適当に動かしたら、Usage: ./q10 flag って言われたので、コマンドライン引数がいるらしい。まあ適当にflagとか与えたらさすがに動かなかったので、objdumpしてあげた。すると、 call 8048358 <strcmp@plt>という記述がったので、何と何を比較しているか調べてあげれば良い。そこで、ltraceで適当な引数を与えてあげて様子をみた。すると、何と比較しているかはわかったので、それをそのままいれたらうまくいかなくて???ってなった。ちょっと考えたけどマルチバイト文字じゃねと気付いたので、エンコードしてあげたら、correctとでたがそれ以外何も出なくてえ?ってなった。またちょっと悩んだけど、loopでもx-flagそのままぶちこんだら通ったしそのままぶち込んだらいいのかなと思ってぶち込んだら通った。

 

おまけというかつい

バイナリ解析を実は全然やったことがなかったので、頑張ってアセンブラを調べながらやっていたけど、バイナリ解析の入門資料みたいなのは少ないなあと思った。今回はハリネズミ本に少しお世話になった。