为什么.data段不是ASLR随机的?

问题描述

运行sysctl -a --pattern "randomize" = 2,因此数据段也应该是随机的,但是cat maps似乎总是随机vdso stack和其他提供的内核仅映射。这是流程图.text.data的前2个条目

cat maps
00400000-00402000 r-xp 00000000 08:07 14569655 
00402000-00403000 rwxp 00002000 08:07 14569655

我暂停了应用程序,因此可以通过使用set disable-randomization off在gdb中运行来读取地图文件。我使用的源代码是:

section .data
    name: db "k"
section .text
global _start
_start:
end:    mov rax,60
        mov rdi,0
        syscall

构建并链接为:

ld sand.o -o sand
nasm -g -F DWARF -f elf64 -o sand.o sand.asm

一个问题,我猜不能.text随机化,因为在读取时是不需要的,对还是错?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)