0
我嘗試建立在C. 用gdb一個緩衝的功能,我可以翻譯ASM的shellcode在C緩衝區 - 序幕
push rbp
mov rbp,rsp
(...)
leave
ret
到
0x55
0x48 0x89 0xe5
(...)
0xc9
0xc3
所以我寫了一個C代碼:
int main()
{
char buffer[]={0x55,0x48,0x89,0xe5,0xc9,0xc3};
void (*j)(void)=buffer;
j();
}
但我的計劃似乎在按照壓(在緩衝區0x55的)「推RBP」 你千牛崩潰爲什麼?
碰撞怎麼樣?..... –
你需要提供**很多**更多信息。什麼是架構和操作系統?數據空間是否可執行?你需要做什麼特別的事情來保證緩存一致性嗎? –