图像(.exe
(和对象文件的PE格式规范描述了如何定位PE标头的开头。
然而,我正试图找到MSI的PE标头,而图像和对象文件的方法似乎都不起作用。我甚至不确定MSI是否有PE头,但用十六进制编辑器查看文件表明它有PE头。
我已经查看了Windows安装程序参考,但它似乎没有包括有关MSI文件结构的详细信息,所以我想它可以归结为以下问题:
- MSI文件是否包含与上述类似的PE头
- 如何定位PE标头
- 有没有类似于上面链接的MSI文件的规范
.msi文件不是PE文件。它们是由Windows安装程序服务(msiexec.exe(处理的结构化存储数据文件。Rob Mensching有几篇博客文章提供了内部视图:
- https://robmensching.com/blog/posts/2003/11/25/inside-the-msi-file-format/
- https://robmensching.com/blog/posts/2004/2/10/inside-the-msi-file-format-again/
您可能看到了嵌入式PE文件。