0
int main(int argc, char **argv)
{
personality(ADDR_NO_RANDOMIZE);
if (fork())
{
return 0;
}
printf("Hook me")
我在练习中遇到了这段代码。根据我的估算,这应该禁用子进程的ASLR。但是,我使用LD_PRELOAD在printf上休眠二进制文件,并在那时使用gdb连接。我在这一点上我注意到,根据堆栈地址的不同,ASLR似乎已启用。 Aslr在父进程中肯定启用。以下代码是否禁用ASLR?
应该在子进程中禁用ASLR吗?代码阻止ASLR在分叉子中被禁用有什么问题?