Для некоторых тестов переполнения буфера я отключил ASLR в Ubuntu 14.04 с помощью этой команды:
echo "0" >/proc/sys/kernel/randomize_va_space
Однако после того, как я пытался включить его снова, программа, я записал выполнения в том же расположении адресного пространства каждый раз.
Я использовал ниже значений для включения его снова, но ASLR не работает больше (его значение по умолчанию было 2 в моей системе):
echo "2" >/proc/sys/kernel/randomize_va_space
echo "1" >/proc/sys/kernel/randomize_va_space
Согласно какому ввело , Насколько Эффективный ASLR в Системах Linux? программы должны быть скомпилированы как Положение независимые исполняемые файлы (PIE) для получения выгоды ASLR.
Для gcc компилятора-fPIE переключатель должен использоваться для компиляции программ, которые используют ASLR:
gcc -fPIE -o ./test.o test.c^