有沒有辦法設置進程安全權限或其他方式來禁止Windows加載全局窗口鉤子DLL? 我不想禁用SetWindowsHookEx,我只想在我的進程中禁用加載的DLL。防止掛鉤dll加載
1
A
回答
0
您可以通過安裝自己的掛鉤來禁用所有掛鉤,然後不會從掛鉤中調用CallNextHookEx()
。爲了正確地做到這一點,你需要確保你的鉤子將成爲第一個將被調用的鉤子。
掛鉤被調用的順序似乎沒有記錄,但很容易通過試驗和錯誤進行檢查。只需安裝來自不同進程的多個鉤子並查看哪一個首先被調用。最有可能的情況是
- 安裝的第一個鉤子是第一個被調用的鉤子。這是簡單的選擇。只要確保儘快安裝您的掛鉤。
- 被調用的第一個鉤子是唯一安裝的最後一個。這一個更棘手。您必須始終確保您的是已安裝的最後一個掛鉤。做這件事的方法就是創建一個線程,每隔一秒鐘或更長時間刪除鉤子並重新添加。
這個解決方案遠非完美,並且考慮到訂單沒有記錄,它可能會在將來的某個時間點發生變化。鉤子調用順序也可能是完全隨機的,在這種情況下,這種解決方案對你不會有太大的好處。
+0
好主意,但我真的想防止鉤DLL甚至是裝 –
相關問題
- 1. 防止從GAC加載dll
- 2. 掛鉤與DLL遊戲鉤
- 3. WordPress的掛鉤:後加載
- 4. 如何防止IIS嘗試加載dll?
- 5. Firefox pr_write掛鉤。 DLL注入,windows鉤子
- 6. 掛鉤GetSysColor user32.dll中
- 7. SVN鉤預先掛鉤,以防止添加相同的文件名
- 8. Windows掛機和dll加載
- 9. TYPO3 8.X - 自動加載掛鉤
- 10. 掛鉤kernel32.dll函數阻止我的程序工作
- 11. 防止加載MicrosoftAjaxWebForms.debug.js
- 12. 問題掛鉤NT DLL文件功能!
- 13. 掛鉤在德爾福的DLL函數
- 14. 掛鉤WinAPI函數調用DLL
- 15. C++掛鉤kernel32.dll中OpenProcess與彎路
- 16. 掛鉤到C++ DLL事件形式C#
- 17. 掛鉤或不掛鉤 - git
- 18. API無掛鉤掛鉤
- 19. 執行Postsharp EventInterceptionAspect防止事件處理程序掛鉤兩次
- 20. 防止Git的掛鉤',commit`後執行的子模塊
- 21. 鍵盤掛鉤,防止鍵盤輸入到應用程序
- 22. 如何防止不需要的掛鉤請求?
- 23. 如何防止在.NET中智能加載DLL?
- 24. 防止爲某些應用程序加載C#dll
- 25. 將掛鉤添加到TortoiseHg
- 26. Prestashop - 添加模塊掛鉤
- 27. D3D9掛鉤 - 與Direct3D9疊加
- 28. 如何防止掛起諾言掛?
- 29. 防止關機後掛機掛機
- 30. 防止在掛ssh的時候掛軌?
看到這個問題:http://stackoverflow.com/questions/869320/how-would-i-go-about-prevent-dll-injection – shoosh