ここで何か変わったことはありますか? randomize_va_space
を設定したかどうかに関係なく、スタックのオフセットは常に0になります。Afaikは乱数である必要がありますよね?
....
f7fd8000-f7fd9000 r-xp 00000000 00:00 0 [vdso]
f7fd9000-f7ffb000 r-xp 00000000 08:05 922294 /lib/i386-linux-gnu/ld-2.23.so
f7ffb000-f7ffc000 rw-p 00000000 00:00 0
f7ffc000-f7ffd000 r--p 00022000 08:05 922294 /lib/i386-linux-gnu/ld-2.23.so
f7ffd000-f7ffe000 rw-p 00023000 08:05 922294 /lib/i386-linux-gnu/ld-2.23.so
fffdd000-ffffe000 rw-p 00000000 00:00 0 [stack]
その他の場合、スタックは次のように低い位置にあります。
...
7ffc2c7f6000-7ffc2c7f8000 r--p 00000000 00:00 0 [vvar]
7ffc2c7f8000-7ffc2c7fa000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
しかし、この場合でもオフセットは0です!何が足りないのですか?
開始アドレスと終了アドレスfffdd000-ffffe000
は、ASLRを有効にして実行するたびに変更する必要があるものです。プログラムを実行するたびに、ここに異なるアドレスが表示されます。 00000000
は、この領域がマップされたファイル内のオフセットです(ASLRの影響を受けません)-ファイルからマップされていない場合は、常に 0です。