启动与系统组件

为 Windows 中的文件创建 AppLocker 哈希规则时,0x800700C1无效的 Win32 应用程序错误 - Windows Server

· 52CE 我爱测

本文介绍无法为 Windows 中的文件创建 AppLocker 哈希规则的问题。 原始 KB 数: 2749690 现象 假设你尝试为 Windows 计算机上的文件创建 AppLocker 哈希规则。 但是,无法创建规则,并且会收到以下错误消息: 0x800700C1:无效的 Win32 应用程序 原因 出现此问题的原因是 Windows 验证码签名验证函数现在验证可移植可执行文件 (PE) 文件。 如果满足以下条件之一,则 PE 文件被视为未签名:

本文介绍无法为 Windows 中的文件创建 AppLocker 哈希规则的问题。

原始 KB 数: 2749690

现象

假设你尝试为 Windows 计算机上的文件创建 AppLocker 哈希规则。 但是,无法创建规则,并且会收到以下错误消息:

0x800700C1:无效的 Win32 应用程序

原因

出现此问题的原因是 Windows 验证码签名验证函数现在验证可移植可执行文件 (PE) 文件。 如果满足以下条件之一,则 PE 文件被视为未签名:

  • Windows 可以识别不符合文件中 Authenticode 规范的内容。 此条件适用于某些第三方安装程序。
  • 应用签名后,文件添加了其他内容。

PE 文件的 AppLocker 哈希规则基于文件的 SHA2 Authenticode 哈希。 如果 PE 文件满足前面提到的两个条件之一,则不信任文件的 Authenticode 哈希。 AppLocker 无法处理此类文件的 Authenticode 哈希。 因此,无法为此类文件创建发布服务器或哈希规则。

解决方法

应用签名后更改的内容的文件对计算机有害。 因此,建议使用符合 Windows 安全要求的文件替换此类文件。 为此,可能需要使用原始软件作者发布符合要求的新文件。

如果决定继续使用此类文件,则可以创建基于 AppLocker 路径的规则来控制这些文件。

详细信息

在 Windows 8 和基于 Windows Server 2012 的计算机或安装了安全更新 MS12-024 的 Windows 7 和基于 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”)是一个发布者规则,阻止属于 Contoso 发布的僵尸游戏攻击的任何文件。 由于Calculator.exe和Zombies.exe都满足前面提到的两种条件之一,因此 Windows 验证码签名验证失败。 在应用 MS12-024 之前,“允许计算器”规则允许Calculator.exe,Zombies.exe被“拒绝 Contoso”规则阻止。 但是,应用 MS12-024 后,AppLocker 无法处理Calculator.exe的 SHA2 Authenticode 哈希,并将Zombies.exe视为未签名的文件。 因此,这两个规则都不会触发,并且会发生意外行为。

参考

有关 Windows Authenticode 可移植可执行文件签名格式的详细信息,请参阅 有关 Windows Authenticode 可移植可执行文件签名格式的常规信息。

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
适用于某些第三方安装程序。
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。