2023 08 23 18 22 [linux] 讓程式的address不會randomize.

寫下來記錄 setarch -R 實際上是call personality(ADDR_NO_RANDOMIZE).
如果不想安裝setarch.
可以直接用以下程式取代.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/personality.h>

int main(int argc, char *argv[])
{
    pid_t pid = fork();
    int status = 0;

    personality(ADDR_NO_RANDOMIZE);

    if (pid == 0) {
        execvp(argv[1], argv+1);
    } else {
        waitpid(pid,&status,0);
    }
    return 0;    
}