簡體   English   中英

防止鈎子DLL加載

[英]prevent hook dll loading

有沒有一種方法來設置進程安全權限,或者通過其他方式來禁用Windows加載全局窗口掛鈎dll? 我不想禁用SetWindowsHookEx,我只想禁用鈎子dll不能從我的進程中加載​​。

您可能可以通過安裝自己的掛鈎,然后不從掛鈎調用CallNextHookEx()來禁用所有掛鈎。 要正確執行此操作,您將需要確保您的鈎子是將要被調用的第一個鈎子。

掛鈎的調用順序似乎沒有記錄,但通過反復試驗即可輕松檢查。 只需安裝來自不同進程的多個掛鈎,然后看看哪個首先被調用。 最可能的情況是

  • 安裝的第一個鈎子是第一個被調用的鈎子。 這是簡單的選擇。 只要確保盡快安裝掛鈎即可。
  • 唯一調用的鈎子是最后安裝的鈎子。 這個比較棘手。 您必須始終確保您的鈎子是最后安裝的鈎子。 一種駭人聽聞的方法是創建一個線程,該線程每隔一秒鍾左右就會刪除該鈎子,然后再次添加它。

該解決方案遠非完美,考慮到未記錄訂單,可以想象在將來的某個時候可能會更改。 鈎子調用順序也可能是完全隨機的,在這種情況下,這種解決方案對您沒有多大幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM