ELFバイナリが与えられる.
そのまま実行すると時間切れで終了してしまう.
radare2でバイナリを開いてみた.
参考:radare2 使い方 メモ
以下のコマンドを順次実行して解析を始める.
- aaa
- s main
- V
- p
:s sym.main
でmain関数へ移動すると,4つの命令を順に呼んでいる事がわかる.
- header
- get_key
- set_timer
- print_flag
set_timer
でセットされたタイマにより中断されると推測.
これを呼ぶ部分をnop
で埋めた.
// call sym.set_timer の行まで移動して
:w \x90\x90\x90\x90\x90
:q
改めて実行すると,フラグが表示される.