Quería hacer algunas pruebas básicas en Linux ASLR, así que escribí el siguiente código:
#include <stdio.h>
void funct(){
int a= 0;
}
void main(){
int b=0;
printf("funct : %p\n", &funct);
printf("var stack : %p\n", &b);
}
Cuando ejecuto este código, el segundo puntero (que apunta a un valor en la pila) parece aleatorio ya que cambia de una ejecución a otra, pero no el primer puntero.
Intenté compilar con la opción -fPIC gcc, pero tampoco funciona.
También, ya verifiqué que / proc / sys / kernel / randomize_va_space es igual a 2.
¿Podría alguien explicar lo que estoy haciendo mal?