您目前已離線,請等候您的網際網路重新連線

「 0x800700C1: 不是有效 Win32 應用程式 」 錯誤,當您建立 Windows 8、 Windows Server 2012、 Windows 7 中或 Windows Server 2008 R2 中的檔案的 AppLocker 雜湊規則

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:2749690
徵狀
假設您想要建立的檔案,執行下列作業系統之一的電腦上的 AppLocker 雜湊規則:
  • Windows 8
  • Windows Server 2012
  • 具有安全性更新的 Windows 7 佈告欄 MS12-024 安裝
  • 具有安全性更新的 Windows Server 2008 R2 佈告欄 MS12-024 安裝
但是,您無法建立規則,且您會收到下列錯誤訊息:
0x800700C1: 不是有效 Win32 應用程式
發生的原因
之所以發生這個問題,是因為 Windows Authenticode 簽章驗證函式現在會驗證可攜式執行檔 (PE) 的檔案。PE 檔案被視為不帶正負號若下列條件其中一項成立:
  • Windows 可以識別不符合在檔案中的 Authenticode 規格的內容。這種狀況適用於某些協力廠商的安裝程式。
  • 其他內容新增至檔案之後套用簽章。
AppLocker 為 PE 檔案的雜湊規則根據 SHA2 Authenticode 雜湊的檔案。如果 PE 檔會符合之前所提到的兩個條件其中一種,Authenticode 的雜湊檔案不受信任。AppLocker 無法處理這類檔案的 Authenticode 雜湊。因此,您無法建立這類檔案的 「 發行者 」 或雜湊規則。
解決方案
具有不符合 Windows Authenticode 規格的內容的檔案或已變更之後套用簽章檔,可以為您的電腦有害。因此,我們建議您將這類檔案取代符合的檔案使用 Windows 安全性需求。若要這樣做,您可能要使用原始軟體作者要發佈新的檔案符合需求。

如果您決定要繼續使用這類檔案,您可以建立受 AppLocker 路徑為基礎的規則來控制這些檔案。
其他相關資訊
在 [Windows 8 和 Windows Server 2012 為基礎的電腦,或是在 Windows 7 和已佈告欄 MS12-024 安裝的安全性更新的 Windows Server 2008 R2 型電腦上,您無法建立雜湊 」 或 「 發行者 」 規則未簽署的檔案。您只能建立這類檔案的路徑規則。此外,如果 AppLocker 原則包含這類檔案為基礎的雜湊或 「 發行者 」 規則,該規則不再適用於該檔案中。下列 AppLocker 原則是這種行為的範例:
<AppLockerPolicy Version="1"><RuleCollection Type="Exe" EnforcementMode="Enforced"><FileHashRule Action="Allow" UserOrGroupSid="S-1-1-0" Description="" Name="Allow Calculator" Id="7509591f-7552-4ed0-ac56-7b727cd1f9cf"><Conditions><FileHashCondition><FileHash Type="SHA256" SourceFileLength="53344" SourceFileName="calculator.exe" Data="0x2E8950C38FE3DD02D9F9A012BA9481E7E4704838BB5208E3F7086B6935520A93"/></FileHashCondition>              </Conditions></FileHashRule><FilePublisherRule Id="a3ab2d94-c20d-4039-8f2b-6caaff04e816" Name="Deny Contoso" Description="Deny Games" UserOrGroupSid="S-1-1-0" Action="Deny"><Conditions><FilePublisherCondition PublisherName="Contoso" ProductName="Attack of Zombies" BinaryName="*"><BinaryVersionRange LowSection="*" HighSection="*" />                      </FilePublisherCondition></Conditions>         </FilePublisherRule>……</AppLockerPolicy>
在這個範例中,AppLocker 原則會有兩個規則。第一個規則 (「 允許小算盤 」) 是雜湊規則,允許執行的 Calculator.exe。第二個規則 ("拒絕 Contoso 」) 是 「 發行者 」 規則,會封鎖任何屬於攻擊的 Zombie 遊戲 contoso 公司所發佈的檔案。為 Calculator.exe 和 Zombies.exe 兩者都符合之前所提到的兩個條件其中一項 Windows Authenticode 簽章驗證失敗。在套用佈告欄 MS12-024 之前,"讓計算機 」 規則,允許 Calculator.exe,且 Zombies.exe 因為"拒絕康得股份有限公司 」 規則而遭到封鎖。不過,套用佈告欄 MS12-024 之後,AppLocker 無法處理 SHA2 Authenticode 雜湊的 Calculator.exe,而且會考慮 Zombies.exe 成不帶正負號的檔案。因此,這兩個規則,就會觸發,而非預期的行為,就會發生。
参考
如需有關資訊安全佈告欄佈告欄 MS12-024 的詳細資訊,請前往下列 Microsoft TechNet 網站:如需有關 Windows Authenticode 可攜式執行檔的簽章格式的詳細資訊,請移至下列 MSDN 網站:

警告:本文為自動翻譯

內容

文章識別碼:2749690 - 最後檢閱時間:10/31/2012 14:41:00 - 修訂: 1.0

Windows 7 Enterprise, Windows 7 Ultimate, Windows 7 Professional, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Foundation, Windows 8 Enterprise, Windows 8 Pro, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2012 Standard

  • kbprb kbsurveynew kbexpertiseadvanced kbmt KB2749690 KbMtzh
意見反應