進程替換的一點想法

RING3級:

現在網上很多的進程替換都是說A 建立C進程(殭屍進程),然後把C所有的Section都Free掉,把B文件手動LOAD重定位,並在C進程空間申請合適的位置,完成後恢復C的運行,運行的結果是用了C的殼做了B的事。(這樣卡巴是過不了的,對WriteProcessMemory監控,使用Mapping會有CopyOnWrite)

但我在想,如果可以A用B替換,那不是更好嗎?由於做了類似實驗。讀入目標PE的文件頭,得到建議的對齊地址和大小,在目標進程不會使用的空間位置申請內存,將Load代碼移上此空間(或者寫個DLL),跳到此代碼中。代碼完成Unmap所有申請的內存,重要申請並讀入目標EXE,完成對齊,完成導入導出表,跳到入口。

不過莫明其巧地出錯。。。鬱悶中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章