Para estouros de buffer, qual é o endereço da pilha ao usar pthreads?

Estou participando de uma aula sobre segurança de computadores e há uma atribuição de crédito extra para inserir código executável em um estouro de buffer. Eu tenho o código-fonte c para o programa de destino que estou tentando manipular e cheguei ao ponto em que posso substituir com êxito o eip do quadro atual da pilha de funções. No entanto, sempre recebo uma falha de segmentação, porque o endereço fornecido sempre está errado. O problema é que a função atual está dentro de um pthread e, portanto, o endereço da pilha parece sempre mudar entre diferentes execuções do programa. Existe algum método para localizar o endereço da pilha em um pthread (ou para estimar o endereço da pilha em um pthread)? (observação: o segundo argumento de pthread_create é nulo, portanto, não estamos atribuindo manualmente um endereço de pilha)

questionAnswers(3)

yourAnswerToTheQuestion