[b77d0424] open("etc/shadow",0_RDONLY) = -1 EACCESS (許可が拒否されました)
[b77d0424] を実行するたびに別のアドレスに変更されました
gdb b *0xb77d0424 を使用してから c を使用して lib64/libc.so.6 を見つけることができません
Linuxプログラミングの本で言及されているのと同じではないようです
仮想ボックスでubuntu 13.04を実行した後
[b77d0424] を実行するたびに別のアドレスに変更されました
これは、コマンドで無効にできるアドレス空間レイアウトのランダム化setarch -R
が原因で発生しています。
GDBもデフォルトでアドレスのランダム化を無効にしますが、GDB とその下で同じアドレスを取得する可能性strace
は非常に低く、2 つのツールでの実行環境はまったく異なるためです。実際にの下でアドレスを見つける必要はありませんstrace
。GDB で見つけることができます。
catch syscall open
run
open
プログラムが実行するシステムコールの 1 つを見ています。continue
興味のあるもので停止するまで使用します。次に、 を使用info registers
して最初のパラメーターのアドレスを見つけ、そのアドレスにウォッチポイントを設定します。