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。