替换嵌入式图标图像中的 PE,而无需重新对文件进行重新签名



是否有任何选项可以在Windows中为已签名的PE可执行文件设置新图标而无需重新签名?

这意味着图标图像虽然完全嵌入到 PE 文件中,但不会更改哈希值,因为它显示在文件签名部分中。

也许有一个概念,人们可以只对文件的代码和数据部分进行签名,而避免使用其他部分? 或者也许有一个选项可以从签名封面中排除不需要的部分?

也许可以将图标以某种方式放置在由 SignTool 创建的证书部分本身中,以便将其排除在签名之外?

谢谢

不,Microsoft 提供的用于对二进制文件进行签名的 signTool 无法对文件进行部分签名。如果有人可以更改嵌入的资源,那么对二进制文件进行签名就没有多大意义 - 应用程序代码可能依赖于这些资源中的数据。因此,如果签名未涵盖资源的完整性,则可执行代码也将不受信任,从而破坏签名的目的。

解决方案是外部化资源,因此它不是签名的一部分。通过在应用程序的清单文件中指定图标的外部路径来实现 - 但我不确定。

最新更新