ASLR是否会影响地图文件?

时间:2018-07-24 20:19:25

标签: x86 elf aslr position-independent-code

ASLR是否会影响地图文件? AFAIK对于64位二进制文​​件,文本段的默认虚拟地址为0x400000,但是在解析 / proc / pid / maps 文件时,我发现操作系统显然在使用随机地址作为文本和数据细分,即:

564992f16000-564992f17000 r-xp 00000000 00:2c 306966 /tmp/foo 564993116000-564993117000 r--p 00000000 00:2c 306966 /tmp/foo 564993117000-564993118000 rw-p 00001000 00:2c 306966 /tmp/foo

有人可以解释这里发生了什么吗?

1 个答案:

答案 0 :(得分:3)

如果主程序是PIE(与位置无关的可执行文件),其加载地址也将被随机分配。即使禁用ASLR(例如通过在具有默认值的GDB下运行)也不会将其返回到0x400000,它通常是地址0x555555554000(但这可能取决于内核)。