Desativar geração de endereço de memória aleatória em meus programas

6


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:~$ 
    
por BlackBear 26.04.2011 / 16:58

1 resposta

6

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.

    
por 26.04.2011 / 17:33