06.VS環(huán)境下的Shellcode開(kāi)發(fā)技術(shù) 杜絕絕對(duì)地址的依賴(lài)


一.  實(shí)驗(yàn)環(huán)境:


操作系統(tǒng):Windows 7 SP1

開(kāi)發(fā)環(huán)境:Visual Studio 2015


二.  為什么要杜絕絕對(duì)地址


杜絕使用雙引號(hào)字符串,在VS中雙引號(hào)字符串會(huì)被編譯到只讀數(shù)據(jù)段,以絕對(duì)地址方式進(jìn)行引用,在shellcode中應(yīng)杜絕對(duì)絕對(duì)地址的依賴(lài)。


三.  字符串要使用什么定義方式



四.  實(shí)驗(yàn)


實(shí)驗(yàn)原理:call指令會(huì)把下一條地址push進(jìn)棧里,然后jmp到call后面的函數(shù)地址。我們通過(guò)call將字符串地址壓棧,然后pop到char*類(lèi)型的變量中。用MessageBox彈出。

?