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

文章翻譯 文章翻譯
文章編號: 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 網站:
Microsoft 安全性公告佈告欄 MS12-024
如需有關 Windows Authenticode 可攜式執行檔的簽章格式的詳細資訊,請移至下列 MSDN 網站:
Windows Authenticode 可攜式執行檔的簽章格式的一般資訊

屬性

文章編號: 2749690 - 上次校閱: 2012年10月31日 - 版次: 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
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2749690
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com