2

[b77d0424] open("etc/shadow",0_RDONLY) = -1 EACCESS (許可が拒否されました)

[b77d0424] を実行するたびに別のアドレスに変更されました

gdb b *0xb77d0424 を使用してから c を使用して lib64/libc.so.6 を見つけることができません

Linuxプログラミングの本で言及されているのと同じではないようです

仮想ボックスでubuntu 13.04を実行した後

4

1 に答える 1

4

[b77d0424] を実行するたびに別のアドレスに変更されました

これは、コマンドで無効にできるアドレス空間レイアウトのランダム化setarch -Rが原因で発生しています。

GDBデフォルトでアドレスのランダム化を無効にしますが、GDB とその下で同じアドレスを取得する可能性straceは非常に低く、2 つのツールでの実行環境はまったく異なるためです。実際にの下でアドレスを見つける必要はありませんstrace。GDB で見つけることができます。

  • catch syscall open
  • run

openプログラムが実行するシステムコールの 1 つを見ています。continue興味のあるもので停止するまで使用します。次に、 を使用info registersして最初のパラメーターのアドレスを見つけ、そのアドレスにウォッチポイントを設定します。

于 2013-06-11T14:59:11.347 に答える