linux中开启/关闭ASLR机制可以通过修改**/proc/sys/kernel/randomize_va_space**文件来实现,文件为不同数值表示不同的ASLR状态:
0:关闭ASLR
1:部分开启ASLR,只对 mmap()分配的内存地址、共享库、栈以及VSDO进行地址随机化
2:完全开启ASLR,除了1状态下随机化的地址外,增加对brk()分配的内存地址的随机化
注意:
ASLR不会对程序的代码段和数据段(data、bss段)进行随机化,Linux下代码段和数据段的随机化是通过PIE机制实现的
Linux下开启pie编译选项,需要开启ASLR后pie才会生效