原理:
修改入口點(diǎn)代碼為病毒體代碼,病毒體代碼在運(yùn)行后修復(fù)原入口點(diǎn)代碼并執(zhí)行.
感染過(guò)程:
1.備份原PE文件入口點(diǎn)代碼(病毒體大小)到文件尾部
2.用病毒體代碼覆蓋入口代碼
執(zhí)行過(guò)程:
1.執(zhí)行用戶自定義代碼
2.復(fù)制修復(fù)代碼到動(dòng)態(tài)申請(qǐng)的內(nèi)存中
3.執(zhí)行修復(fù)代碼修復(fù)原入口
4.跳轉(zhuǎn)到原入口運(yùn)行
問(wèn)題:
1.感染有重定位表的PE文件時(shí),病毒代碼可能被系統(tǒng)PE加載器修改
2.入口點(diǎn)到入口點(diǎn)所在節(jié)尾部大小小于病毒體大小時(shí),文件會(huì)損壞
3.感染upx殼壓縮過(guò)的文件會(huì)出錯(cuò)
代碼請(qǐng)使用VC6 Release方式編譯..
注:本文中的代碼有一定的破壞性,請(qǐng)勿用于非法用途,否則一切后果自負(fù)
/Files/sToa/TestPEInject.rar