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

5 linux memory not-root-user

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

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

小智 5

我认为你可以这样做:

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

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

  • 或者只是使用`setarch` (5认同)