Radare2を使ってみる

NO IMAGE

CTFの大会に出るとかではないが、バイナリ解析やリバースエンジニアリングに興味があるのでRadare2を触ってみる。

Radare2以外にもgdbなどもあるがRadare2がナウい感じなのでgit cloneしてMacに入れてみた。

gitの何処かで見つけたCTFの練習などで使われるcrackmeをクラックしてみる。

r2で起動しaaaでバイナリを解析する。aflで関数の一覧を出力し、sで関数名を指定することにより関数の頭の番地へ飛ぶことができる。

0x100000e90でrsiにstr.password1の先頭番地が格納され0x100000e9fで別の関数が呼び出されているのでここで入力文字の比較をしていることがわかる。(おそらくstrcmpな希ガス)

(ここをみる前に0x100000e90のコメントで”password1″がすでに出ていることにはあえて触れない())

一番最初の問題なので全くやった感じがしないが一応これでパスワードを見つけることはできたが….

ついでなんでバイナリファイル本体を書き換えて何を入れてもcorrectを出力するように命令を書き換えてみる。

oo+でファイルを読み書きモードで開きwaで目的の番地を書き換える。

0x100000ea6番地でje、等しい場合にジャンプするのでjmpで強制的に0x100000ed3へ飛ばす。

面白い。。。

Otherカテゴリの最新記事