AppInit DLL 和安全開機
從 Windows 8 開始,啟用安全開機時會停用AppInit_DLLs基礎結構。
關於AppInit_DLLs
AppInit_DLLs基礎結構可讓您將自定義 DLL 載入每個互動式應用程式的位址空間,以輕鬆攔截系統 API。 應用程式和惡意軟體都使用相同的基本原因使用AppInit DLL,也就是攔截 API:載入自定義 DLL 之後,它可以連結已知的系統 API 並實作替代功能。 只有一小組新式合法應用程式會使用此機制來載入 DLL,而一組大型惡意代碼則使用此機制來入侵系統。 即使是合法的AppInit_DLLs也會不小心造成系統死結和效能問題,因此不建議使用AppInit_DLLs。
AppInit_DLLs安全開機
Windows 8 採用 UEFI 和安全開機,以改善整體系統完整性,並提供強大的防護,防範複雜的威脅。 啟用安全開機時,會停用AppInit_DLLs機制,作為防止客戶抵禦惡意代碼和威脅的一部分。
請注意,安全開機是 UEFI 通訊協定,而不是 Windows 8 功能。 如需 UEFI 和安全開機通訊協定規格的詳細資訊,請參閱 https://www.uefi.org。
Windows 8 傳統型應用程式的AppInit_DLLs認證需求
Windows 8 傳統型應用程式的其中一個認證需求是,應用程式不得載入任意 DLL,以使用 AppInit_DLLs 機制攔截 Win32 API 呼叫。 如需認證需求的詳細資訊,請參閱 Windows 8 傳統型應用程式 認證需求的 1.1 節。
總結
- AppInit_DLLs機制不是合法應用程式的建議方法,因為它可能會導致系統死結和效能問題。
- 啟用安全開機時,預設會停用AppInit_DLLs機制。
- 在 Windows 8 傳統型應用程式中使用AppInit_DLLs是 Windows 傳統型應用程式認證失敗。
若要下載包含 Windows 7 和 Windows Server 2008 R2 AppInit_DLLs相關信息的白皮書,請流覽 Windows 硬體開發人員中心封存,並搜尋 Windows 7 和 Windows Server 2008 R2 中的AppInit DLL。