2010年10月25日 星期一

Vista、Win7的UIPI(使用者介面權限隔離)。

這是Windows新一代的安全性機制。

主要功能是:

高權限的應用程式可向低權限的應用程式發送訊息(Windows),而低權限的應用程則無法向高權限的應用程式發送。當然,也不是全部的訊息都會被擋住。針對特定的訊息還是可以發送的,但是通常是哪種無關緊要的訊息。像是"按下"、"關閉視窗"這類的訊息是無法發送的。



這是為了防堵在xp時代,低權限的軟體(病毒)向高權限的軟體(防毒軟體)發送訊息所作的設計。當然他的功能不止這些還有以下:
  1. 執行較高權限處理程序的視窗控制碼驗證。
  2. 使用執行緒勾點附加到較高權限處理程序。
  3. 使用日誌勾點監控較高權限處理程序。
  4. 執行動態連結程式庫 (DLL) 引入較高權限處理程序。
當然小弟遇到的問題就是我一開始提到的發送訊息的問題。

Windows7為了提高相容性當然也提供了解決方案。
在高權限的應用程式中,若要收到低權限的應用程所發送的訊息。
必須使用:

win API ChangeWindowMessageFilter


這一個API可以告訴作業系統,高權限的應用程式充許接收哪些訊息,而不必在意對方之的權限。



沒有留言:

張貼留言