當從另一個進程調用WriteProcessMemory時,在當前進程中調用哪個函數?如何保護writeprocessmemory進程?
回答
在當前過程中沒有處理WriteProcessMemory
。它發生在OS內部 - 它將外部進程映射到當前進程的地址空間,寫入內存並再次取消映射。
如果您需要防止這種情況發生,您將不得不阻止所有使用WriteProcessMemory的進程(或者至少攔截它並檢查您的進程是否有目標)。如果您不小心,這可能會阻止調試器在該系統上工作。這可能會讓人感到不安,而知道自己在做什麼的人可能會繞過它。
而VirtualProtectEx,CreateRemoteThread在當前進程中也不是什麼不能造成的? –
正確,它們都發生在操作系統內部 - CreateRemoteThread顯然會導致另一個線程在原始進程中運行,如果代碼知道它應該有多少線程(通過枚舉進程中的所有線程 - 但它確實假設你知道圖形驅動程序,音頻驅動程序,物理引擎等不會在[某些硬件上]創建任意線程。VirtualProtect及其兄弟完全是操作系統的一部分,所以你不能從「目標」進程中看到這一點: –
在這裏添加一點點:在典型情況下,當發生WriteProcessMemory時,目標進程將被掛起,因此通常根本無法做出反應。 –
- 1. 如何保護我的進程被殺?
- 2. 如何保護進程不被殺害?
- 3. VBA Excel-如何通過vba進行解除保護和保護
- 4. WriteProcessMemory
- 5. 如何守護進程?
- 6. 如何保護我從vb.net程序開始的進程?
- 7. 如何同時保護用戶進程和內核進程的共享資源?
- 8. C++和進程內存保護
- 9. C++保護進程免於被暫停
- 10. 如何在Delphi中進行屏幕保護程序預覽?
- 11. 如何確保只有一個守護進程正在運行?
- 12. 我如何確保獅身人面像守護進程運行?
- 13. 如何保護Linux中進程之間共享的內存
- 14. WriteProcessMemory C++
- 15. 如何鎖定WriteProcessMemory,使值保持不變
- 16. 保護進程不被其他進程訪問
- 17. 如何保護API
- 18. 如何保護JsonResult?
- 19. 如何保護熵?
- 20. 如何保護connectionString
- 21. 如何保護Membase?
- 22. 如何保護Cookie?
- 23. 如何保護json
- 24. 如何保護localStorage?
- 25. 如何保護Elasticsearch
- 26. 如何保護WebFonts
- 27. 如何保護database.yml?
- 28. 如何保護我的Python程序
- 29. 如何密碼保護應用程序
- 30. 如何保護HTML應用程序(HTA)?
此問題的定義與其聲明不符。 – 2013-06-02 16:15:23