私は初心者で、RE で問題が発生しました。ELF 'bomb' と不明なファイル 'model.abc' があります。爆弾を実行する正しい方法は次のとおりです。
bomb model.abc
ここで、gdb を使用して、実行時にいくつかのアドレスの値を確認したいと考えています。誰でも私を助けることができますか?
私は初心者で、RE で問題が発生しました。ELF 'bomb' と不明なファイル 'model.abc' があります。爆弾を実行する正しい方法は次のとおりです。
bomb model.abc
ここで、gdb を使用して、実行時にいくつかのアドレスの値を確認したいと考えています。誰でも私を助けることができますか?
最初gdb
にシェル プロンプトから開始します。
$ gdb bomb
(gdb)
次に、必要なコマンド ラインを使用してプロンプトからプログラムを実行します。
(gdb) run model.abc
コマンドラインでプログラムのgdb
コマンドライン引数を指定できないため、この方法でプログラムを起動する必要がありますgdb
。
引数を持つプログラムをデバッグする別のより便利な方法:
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) であることに注意してください。プログラマが記述した実際のコードに到達するには、しばらく時間がかかる場合があります。