【问题标题】:Does ASLR affect the maps file?ASLR 会影响地图文件吗?
【发布时间】:2018-07-24 20:19:24
【问题描述】:

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

有人能解释一下这里发生了什么吗?

【问题讨论】:

标签: x86 elf aslr position-independent-code


【解决方案1】:

如果主程序是 PIE(Position-Independent Executable),它的加载地址也将是随机的。即使禁用 ASLR(比如在 GDB 下运行默认值)也不会将其返回到 0x400000,它通常是地址 0x555555554000(但这可能取决于内核)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多