除了只能由O/S提供的應用程序啓動快捷方式以外,Windows鍵盤掛鉤等事情的合法用途是什麼?在我看來,由於操作系統提供鉤子來執行任何在任何情況下都不應該被任何人允許的事情,所以我們在關鍵記錄器方面只有問題,除了O/S內核本身。全局鍵盤掛鉤的合法用途是什麼?
編輯:好的,所以給它們一些合法的地方,它們可能是必需的,不應該提供高水平的全局關閉它們的能力,並且只允許在逐個程序的基礎上有例外嗎?
除了只能由O/S提供的應用程序啓動快捷方式以外,Windows鍵盤掛鉤等事情的合法用途是什麼?在我看來,由於操作系統提供鉤子來執行任何在任何情況下都不應該被任何人允許的事情,所以我們在關鍵記錄器方面只有問題,除了O/S內核本身。全局鍵盤掛鉤的合法用途是什麼?
編輯:好的,所以給它們一些合法的地方,它們可能是必需的,不應該提供高水平的全局關閉它們的能力,並且只允許在逐個程序的基礎上有例外嗎?
並非如此,有些環境中計算機的所有者可能想要停止諸如Ctrl + Alt + Delete ...例如,Kiosk之類的東西,或...... Best Buy?
由於鍵盤掛鉤是安全注意序列的一部分,因此無法停止Ctrl + Alt + Delete。如果你想改變登錄過程,你需要編寫一個自定義的dll來替換msgina.dll – 2008-11-22 04:16:44
人們通常稱之爲鍵盤鉤子。 (至少我們過去是這麼做的:) :) – 2008-11-22 11:39:07
可能沒有很多合法用途。不過,我認爲你不應該故意限制系統的功能,只是爲了使它更安全。
此外,如果您知道密鑰記錄器在那裏,並且您自己安裝它,密鑰記錄器並不是一件壞事。
我寫了一個應用程序,可以讓我在顯示器上放置虛擬便籤。我用一個操作系統鍵盤掛鉤來綁定一個熱鍵。
我在設置中有一個選項來禁用掛鉤。
我目前正在爲企業客戶端開發移動應用程序平臺/硬件抽象層,並且一個要求是屏幕保護程序會在一段時間不活動後纔會啓動。由於移動設備沒有移動鼠標,「活動」由按鍵或屏幕水龍頭組成。我們的其中一款設備沒有觸摸屏,而且爲了長話短說,移動硬件供應商沒有正確實施Win32 API調用,這可以讓我獲得自上次用戶輸入以來的時間。
由於硬件供應商不願意正確實施Win32 API,我知道的另一個最好的方法是確保我的控制檯應用程序可以捕獲系統上任何應用程序中的按鍵,這是安裝全局鍵盤鉤子。
也就是說,我同意平均消費者情況與我的情況有很大的不同,操作系統應該允許用戶將白名單這樣的活動列入白名單。
您通常可以...例如,OS X有一個安全的輸入斷言,它會阻止爲鍵盤事件註冊的所有程序,直到斷言被清除。這在默認情況下被激活,例如來自IB的密碼框和在安全模式下的終端輸入。 – 2008-11-22 03:04:34