假設我有一個帶有按鈕的Windows GUI應用程序。我可以使用帶BM_CLICK
的sendMessage winapi調用作爲調用的參數來模擬該按鈕上的點擊。防止跨進程SendMessage調用
現在,從安全角度來看,我不希望發生這種情況。即我的目標進程應該忽略來自另一個進程的sendMessage調用。有沒有規定可以做到這一點?一種驗證sendMessage調用的方法?
編輯:換句話說,我應該如何阻止Enabler,TurnitOn http://www.raymond.cc/blog/how-to-enable-and-access-disabled-grayed-out-buttons-windows-and-checkboxes/等應用程序訪問用戶不想訪問的功能?
這就是爲什麼有UIPI來阻止較低特權的應用程序向較高特權的應用程序發送消息。 (http://msdn.microsoft.com/en-us/library/bb625963.aspx)但是,不,你通常無法知道消息來自何處。畢竟,一些消息來自系統。 – jamesdlin 2012-08-06 19:34:32
謝謝! UIPI是我不熟悉的東西。但根據該文件,UIPI不會針對處於相同特權級別的應用程序採取行動。這不會減少UIPI的使用嗎? – asudhak 2012-08-06 19:54:29
作爲系統管理員說話,你不應該這樣做。如果我向你的應用程序發送窗口消息,我希望它能夠正確處理它們,而不是認爲我沒有被「認證」。 Windows安全性是基於用戶的,而不是基於應用程序的,所以即使嘗試這樣做也沒有意義。畢竟,用戶可以修改您的流程中的代碼,因此根據定義,他們可以繞過您可能採取的任何措施。 – 2012-08-06 20:14:54