Estou trabalhando em um projeto de segurança para a escola e preciso estourar um buffer. Portanto, preciso substituir o EIP, mas, por algum motivo, não posso. Os A's em que sobrescrevo o buffer estão espalhados por todo o espaço de endereço.
Estou assumindo que o recurso de obscurecimento de ponteiro no Ubuntu está habilitado. Existe uma maneira de desativar isto?
Eu uso o seguinte comando para compilar meu programa.
gcc -ggdb -fno-stack-protector -z execstack -o overflow overflow.c
Eu também tenho o aslr desativado. Meu código é um simples strcpy(buffer[10], argv[1])
e uma declaração de impressão. Deve idealmente falhar quando recebe a entrada de 24 As.
Qualquer ajuda será muito apreciada.