/------------\ 内存低地址 | | | ... ... | | | |------------| <- esp ----------------- | buffer[0] | NOP | | NOP | | ... | ... ... | NOP | | Shellcode | | | buffer[255]| function()堆栈帧 |------------| <- ebp ----------------- | SFP | ADDR |------------| <- ebp + 4 | RET | ADDR |------------| ------------------ | ... ... | main()堆栈帧 | | ------------------ \------------/ 内存高地址 ADDR指向前面的NOP某处或者恰好在Shellcode上。
ADDR指向前面的NOP某处或者恰好在Shellcode上。