OSR在其博客上发布了一篇与微软有关的问答交流,主题是Windows 10驱动程序签名要求与早期Windows版本的变化。Microsoft项目经理詹姆斯·默里在一份声明中表示:新的驱动程序签名程序表明您必须构建一个CAB文件进行上传签名,并使用EV Cert对该CAB文件进行签名。为什么是CAB文件(而不是像ZIP存档这样的常见文件)?如何构建CAB文件?是否有特定的流程或工具可用?CAB被选择是因为CAB本身是PE文件。这在某种程度上简化了签名过程,因为signtool.exe具有“本地”支持。如果我们选择了ZIP存档(请注意,我们仍然希望向那个方向发展),我们将需要提供单独的签名机制。类似于HLK studio的东西,一个具有签名ZIP或OPCs功能的小工具。这让我很吃惊。我知道很多有关PE/COFF的细节,但从未认为CAB文件适合其中。它似乎也不是关于包含CAB的自解压可执行文件的问题。我不得不在十六进制编辑器中打开一个CAB文件才能看到它,但不知何故,我无法看出该声明在什么意义上是正确的。有人能提供有关CAB文件为什么是PE文件的详细信息吗?
MZ
或ZM
开头,而CAB文件的前提是MSCF
,那么如何创建一个多语言文件。但是你可能在上一段的解释中是正确的。 - undefinedPE\0\0
;在偏移0处有一个"DOS Stub"的空间,但不清楚这个空间是否必须是一个有效的MZ
风格的DOS可执行文件,以使PE文件符合规范...这也是为什么我在那里加了一个怀疑的may
的原因之一! - undefined