1.注入dll或者用shellcode,在其他進程內用匯編代碼。對其寫數據
應對方法:對被寫數據下硬件寫入斷點或者內存寫入斷點(優先硬件斷點,內存寫入斷點以0x1000的頁爲單位下斷點,不精準)
2.用WriteProcessMemory寫數據
應對方法:提前對可疑進程下斷此API,或用監控工具分析
3.用共享內存(CreateFileMapping、MapViewOfFile)。對自身進程的共享內存寫數據
應對方法:
1.用2的應對方法判斷是不是用了共享內存
2.下斷2個進程的MapViewOfFile,其返回值爲共享內存首地址。
對2個進程的共享內存下內存寫入斷點(不推薦硬件斷點),哪個進程斷下了,說明哪個進程在對其寫數據。需要注意的一點是,另一個進程的共享內存雖然會同步更改數據,但其下斷的內存斷點(包括硬件斷點)不會觸發
共享內存的原理可看此文:https://bbs.pediy.com/thread-255122.htm
先寫到這裏,等以後學習了新的再添加