首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新启用ASLR?

如何重新启用ASLR?
EN

Ask Ubuntu用户
提问于 2015-04-27 15:21:38
回答 1查看 2K关注 0票数 0

对于一些缓冲区溢出测试,我使用以下命令在Ubuntu 14.04中禁用了ASLR:

代码语言:javascript
复制
echo "0" >/proc/sys/kernel/randomize_va_space

但是,在我再次启用它之后,我编写的程序每次都运行在相同的地址空间布局中。

我再次使用了以下值来启用它,但是ASLR不再工作了(在我的系统中,它的默认值是2):

代码语言:javascript
复制
echo "2" >/proc/sys/kernel/randomize_va_space
echo "1" >/proc/sys/kernel/randomize_va_space
EN

回答 1

Ask Ubuntu用户

发布于 2015-04-27 15:39:18

根据引入在Linux系统上有多有效?的原因,必须将程序编译为位置独立可执行程序(),以获得ASLR的好处。

对于GCC编译器,应该使用-fPIE开关来编译使用ASLR的程序:

代码语言:javascript
复制
gcc -fPIE -o ./test.o  test.c^
票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/614854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档