OD載入,我們在text段加上內(nèi)存訪問斷點(diǎn):
然后按F9,執(zhí)行到以下位置:
因此斷定004012A0這個(gè)位置為eip。
下面我們來看看這個(gè)新節(jié)做了什么事情。
OD重新載入,單步到以下位置,發(fā)現(xiàn)一個(gè)函數(shù):
F7進(jìn)入,繼續(xù)單步,發(fā)現(xiàn)函數(shù):
F7進(jìn)入,單步:
F7進(jìn)入,單步:
F7進(jìn)入,單步:
好,到這里我們發(fā)現(xiàn)了關(guān)鍵代碼,新節(jié)里調(diào)用了Loadlibrary和GetProcAddress,先后獲得了WinExeC和URLDownloadToCacheFileA函數(shù),我們查看棧里面有什么內(nèi)容:
好,這里就真相大白了,新節(jié)的目的就是從網(wǎng)上下載一個(gè)exe文件,然后調(diào)用winexe執(zhí)行。
下面我們來手動修復(fù):
使用LoadPE載入這個(gè)被感染的文件,選中這個(gè)新節(jié),刪除掉:
然后修復(fù)原來的EIP:
點(diǎn)擊保存、確定。
到這里還沒有完成,這樣的exe是不能運(yùn)行的,我們必須對EXE重建:
好了,這樣簡單的手工修復(fù)就完成了,點(diǎn)擊運(yùn)行,ok沒問題,而且因?yàn)闆]了新節(jié)的代碼,執(zhí)行速度也快了很多: