2

私は初心者で、RE で問題が発生しました。ELF 'bomb' と不明なファイル 'model.abc' があります。爆弾を実行する正しい方法は次のとおりです。

bomb model.abc

ここで、gdb を使用して、実行時にいくつかのアドレスの値を確認したいと考えています。誰でも私を助けることができますか?

4

2 に答える 2

1

最初gdbにシェル プロンプトから開始します。

$ gdb bomb

(gdb)次に、必要なコマンド ラインを使用してプロンプトからプログラムを実行します。

(gdb) run model.abc

コマンドラインでプログラムのgdbコマンドライン引数を指定できないため、この方法でプログラムを起動する必要がありますgdb

于 2012-11-29T03:42:01.337 に答える
1

引数を持つプログラムをデバッグする別のより便利な方法:

gdb --args program <arguments>

シンボルがない場合は、エントリ ポイントから開始する必要があります。それがどこにあるかを把握するには、次を使用します。

(gdb) info file
Symbols from "/.../tesprog".
Local exec file:
    `/.../tesprog', file type elf32-i386.
    Entry point: 0x804abc0

次に、実行する前にブレークポイントを設定できます。

break *0x804abc0

ほとんどの場合、エントリはライブラリの起動コード (ctr0.s) であることに注意してください。プログラマが記述した実際のコードに到達するには、しばらく時間がかかる場合があります。

于 2012-11-29T11:51:11.957 に答える