對其他進程寫入數據的套路和應對方法(Ring3層)

1.注入dll或者用shellcode,在其他進程內用匯編代碼。對其寫數據

應對方法:對被寫數據下硬件寫入斷點或者內存寫入斷點(優先硬件斷點,內存寫入斷點以0x1000的頁爲單位下斷點,不精準)

2.用WriteProcessMemory寫數據

應對方法:提前對可疑進程下斷此API,或用監控工具分析

3.用共享內存(CreateFileMapping、MapViewOfFile)。對自身進程的共享內存寫數據

應對方法:
1.用2的應對方法判斷是不是用了共享內存
2.下斷2個進程的MapViewOfFile,其返回值爲共享內存首地址。
對2個進程的共享內存下內存寫入斷點(不推薦硬件斷點),哪個進程斷下了,說明哪個進程在對其寫數據。需要注意的一點是,另一個進程的共享內存雖然會同步更改數據,但其下斷的內存斷點(包括硬件斷點)不會觸發

共享內存的原理可看此文:https://bbs.pediy.com/thread-255122.htm

先寫到這裏,等以後學習了新的再添加

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