为我的进程禁用地址空间布局随机化 (ASLR)

为我的进程禁用地址空间布局随机化 (ASLR)

我想在 Linux 中运行一些程序,并在其中禁用地址空间布局随机化 (ASLR)。我知道在系统级别禁用它,即设置/proc/sys/kernel/randomize_va_space为 0。

但是,我无权更改 的值,/proc/sys/kernel/randomize_va_space因为我没有管理员权限,并且管理员也不会接受我的请求。所以我只想为我自己的进程禁用它。是否可以?

答案1

我认为你可以这样做:

  • 编写一个分叉的程序
  • 叉子之后你应该做类似的事情

    int old, rc;
    old = personality(0xffffffff); /* Fetch old personality. */
    rc = personality(old | ADDR_NO_RANDOMIZE);
    if (-1 == rc) {
        perror("personality");
    }
    
  • 然后exec你的程序

相关内容