Se não estou enganado, deve ser possível desativar a randomização do espaço de endereço por meio do sistema de arquivos proc:
echo 0 > / proc / sys / kernel / randomize_va_space
Obviamente, você precisa ser root para isso.
Estou lendo "A arte da exploração" e gostaria de experimentar alguns experimentos, incluindo ler e escrever em vários endereços de memória. Eu criei alguns programas simples e tentei sobrescrever suas variáveis através de vários hacks, o problema é que os endereços dessas variáveis continuam mudando toda vez que eu executo o programa, fazendo tudo isso extremamente complicado.
Eu sei que isso é por razões de segurança, mas eu estou querendo saber se é possível desabilitá-lo para fins de aprendizagem. Aqui estão as informações do meu sistema e do gcc:
blackbear@blackbear-laptop:~$ uname -a
Linux blackbear-laptop 2.6.32-30-generic #59-Ubuntu SMP Tue Mar 1 21:30:21 UTC 2011 i686 GNU/Linux
blackbear@blackbear-laptop:~$ gcc --version
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
blackbear@blackbear-laptop:~$