а я хотел спросить может кто знает, как это использовать переполнение стека, чтобы подсунуть туда такой код? я так предположил, что при переполнении указатель залезает в область кода и там ему код можно подсунуть?
или так, вызывается какая-то функция которая алокирует буффер например для ввода текста в 16 байт на стэке, перед этим функция пушит адрес eip 4 байта в стек, чтобы потом вернуться по ret из функции и сохраняет esp в ebp, ожидает ввода, мы этот буффер в стэке забиваем + забиваем 4 байта новым адресом, по которому находится наш код, функция забирает буффер из стека, копирует назад ebp в esp и следующим шагом срабатывает ret который перебрасывает eip на подмененный в стэке адрес? Так это работает?