对于一些缓冲区溢出测试,我使用以下命令在Ubuntu 14.04中禁用了ASLR:
echo "0" >/proc/sys/kernel/randomize_va_space但是,在我再次启用它之后,我编写的程序每次都运行在相同的地址空间布局中。
我再次使用了以下值来启用它,但是ASLR不再工作了(在我的系统中,它的默认值是2):
echo "2" >/proc/sys/kernel/randomize_va_space
echo "1" >/proc/sys/kernel/randomize_va_space发布于 2015-04-27 15:39:18
根据引入在Linux系统上有多有效?的原因,必须将程序编译为位置独立可执行程序(派),以获得ASLR的好处。
对于GCC编译器,应该使用-fPIE开关来编译使用ASLR的程序:
gcc -fPIE -o ./test.o test.c^https://askubuntu.com/questions/614854
复制相似问题