此文章是我學(xué)習(xí)VMProtect2.04加殼程序的心得。在調(diào)試的過(guò)程中,尤其是初期,參考和查閱了N多的網(wǎng)絡(luò)資料,在此一并表示感謝。在計(jì)算機(jī)書(shū)中,最著名的兩類書(shū)名當(dāng)屬:XXXX從入門到精通和21天學(xué)會(huì)XXXX,我在仔細(xì)思考,最終覺(jué)得還是前者比較有吸引力。OD的UDD文件的使用,在D:盤(pán)下新建文件夾Unpack,把加殼記事本放入文件夾內(nèi),把UDD文件放入OD的UDD文件夾內(nèi)。OD打開(kāi)加殼記事本后,UDD文件會(huì)自動(dòng)生效。
聲明:本文在非盈利性用途可自由傳播。
軟件:正版VMProtect2.04加密的Win98記事本
加密選項(xiàng):除了 編譯--調(diào)試模式與水印 以外,全部打鉤;虛擬計(jì)算機(jī)--數(shù)量為默認(rèn)值1;編譯類型:超級(jí)(變異+虛擬)
調(diào)試器:官網(wǎng)下載的OllyDbg2.0
加殼程序下載:NOTEPAD.rar下載此附件需要消耗2Kx,下載中會(huì)自動(dòng)扣除。
UDD文件:NOTEPAD-udd.rar下載此附件需要消耗2Kx,下載中會(huì)自動(dòng)扣除。(這是是整理了偽指令的UDD文件,后續(xù)還會(huì)更新)
本文的結(jié)構(gòu):
序言
文章簡(jiǎn)介
1.基礎(chǔ)知識(shí)
1.1.VMProtect虛擬機(jī)簡(jiǎn)介
1.2.VM堆棧
1.3.偽指令匯總
2.綜合運(yùn)用
2.1.常見(jiàn)偽指令組合
2.2.NAND(與非門)
2.3.EFLAGS標(biāo)志位檢測(cè)+跳轉(zhuǎn)
3.NOTEPAD全程跟蹤
3.1.TLS
3.2.VMP外殼函數(shù)獲取
3.3.虛擬執(zhí)行環(huán)境與調(diào)試器檢測(cè)
3.4.HASH值分塊檢測(cè)與API獲取
3.5.重點(diǎn)解密循環(huán)
4.實(shí)驗(yàn)室(暫定)
尾聲