Указатель кадра + обратный адрес - PullRequest
0 голосов
/ 04 октября 2010

Кто-нибудь знает, где относительно указателя кадра находится адрес возврата функции? Есть ли разница между windows и unix?

спасибо:)

Ответы [ 2 ]

2 голосов
/ 04 октября 2010

Это сильно зависит от архитектуры, компилятора и т. Д.

Попробуйте разобрать некоторые игрушечные программы и выясните (см. objdump в linux)

1 голос
/ 25 ноября 2011

Адрес возврата находится в EBP + 4 в вашем стековом фрейме, но вы не сможете использовать его таким образом при переполнении буфера, поскольку вы еще не управляете потоком выполнения.

То, что вы должны искать, это расстояние адреса возврата от буфера. Это уникально для каждой уязвимости, и все, что попало между ними, необходимо прогнозировать, иначе вы скорее всего просто вызовете сброс процесса.

...