2016年12月13日火曜日

Binary ninjaで遊んでみる

Binary ninja買いました 今のレートだと1万2000円位じゃないでしょうか(ざっくり)

端的にいうと、Binary ninjaはいいぞ。



SECCON 2016のrev 100 Anti-Debuggingで遊んでみる
まずは、main関数を探すところから。
このバイナリはシンボル情報がないので、_startから始まる。


というわけで色々あって、ここがmainを読んでる所

main関数だーとか思ってたら、なんか途中で切れてるしWhats the fuck!?と言う感じ。

何でmain関数が途中で切れるの?って技術サポートに聞いてみたら
「io命令とか入ってるとディスアセンブル止まっちゃうから、そこnopに書き換えてな」
って答えてくれたので書き換えてみる。

↑の in eax,dx をnopに変えるだけ。
右クリックして、Patch -> Convert to NOP

↓変えた、なんか生えた。
↓main関数の該当箇所に戻ってみると、こっちも生えてる

↓なんかデバッガ検知がたくさんあったけど、多分大事なのここなのでここを実行したい
 でもデバッガ検知をちまちま外すのダルい。そうだバイナリを書き換えよう
 (デバッガで最初のjmpをここにやればいいだけなんだけど。)

↓飛ばしたいところのアドレスをコピーする

↓最初の方に戻って、jmp コピーしたアドレス に書き換える

↓なんか来た

↓パッチを当てたファイルをエクスポートする

↓パッチを当てたバイナリを実行してみる

静的解析ツールのみでフラグが出る、感動した。

みたいな感じでこういうツールが1万円と少しで買える。
飲み会を4回位ボイコットすれば買える。
皆さんも是非飲み会をボイコットして買いませんか?

0 件のコメント:

コメントを投稿