/------------\ 内存低地址 
|            |
| ... ...    |
|            |
|------------| <- esp -----------------
| buffer[0]  |                      NOP
|            |			        NOP
|            |			        ...
| ... ...    |			        NOP
|            |				Shellcode
|            |
| buffer[255]|          function()堆栈帧 
|------------| <- ebp ----------------- 
| SFP        |                          ADDR
|------------| <- ebp + 4				
| RET        |                          ADDR 
|------------|        ------------------
| ... ...    |              main()堆栈帧
|            |        ------------------
\------------/ 内存高地址 

ADDR指向前面的NOP某处或者恰好在Shellcode上。

ADDR指向前面的NOP某处或者恰好在Shellcode上。