我正在使用32位x86 Ubuntu桌面版。我查看了/proc/[pid]/mmaps,并发现堆栈基地址总是变化的(例如,在下面的情况中为0xbfe76000)。因此,我猜测内核(或ELF加载程序)必须在每次进程启动时随机化堆栈位置。
我想知道堆栈基地址随机化的确切代码(在内核或ELF加载程序中的哪个位置)。因为我想分配一些页面(例如通过mmap)到0xC0000000以下,我不确定堆栈是否可能位于0xbffff000之类的位置。谢谢!
我想知道堆栈基地址随机化的确切代码(在内核或ELF加载程序中的哪个位置)。因为我想分配一些页面(例如通过mmap)到0xC0000000以下,我不确定堆栈是否可能位于0xbffff000之类的位置。谢谢!
... ...
b7762000-b7763000 rw-p 00020000 fc:00 1188263 /lib/i386-linux-gnu/ld-2.19.so
bfe55000-bfe76000 rw-p 00000000 00:00 0 [stack]