问题描述
我刚刚阅读了ASLR,发现gcc的here中有与ASLR相关的标志。标志是-Wl,--dynamicbase
,因此我可以使用此命令gcc test.c -Wl,--dynamicbase -o test.exe
进行尝试。我尝试运行它,并且一切运行良好,但是当我使用ProcessExplorer检查ASLR时,似乎我的程序的ASLR已关闭。我继续阅读并找到该标志-pie -fPIE
,然后使用此命令gcc test.c -Wl,--dynamicbase -o test.exe -pie -fPIE
再试一次,但是运行后,程序将收到SIGSEGV。我不确定是什么问题。 那么您能给我正确的标志还是我想念的东西吗?我的计算机支持ASLR,我知道这是因为ProcessExplorer在ASLR打开时显示了一些进程。感谢您的关注。
test.c
#include <stdio.h>
int main(){
puts("lol");
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)