从可移植可执行(PE)文件中提取/解析资源

问题描述 投票:0回答:1

我想使用官方程序以编程方式在 Windows 中安装 Edge MSI Edge 安装程序(151 MB),但避免使用管理员权限,并将提取的文件放在自定义文件夹中(不是

C:\Program Files (x86)\Microsoft\Edge
)。我找到了一个有效的命令,但不幸的是,它需要管理员权限,即:

msiexec /i MicrosoftEdgeEnterpriseX64.msi /qn

因此,我尝试提取MSI内编码的数据。对这个 MSI 进行一些操作后,我提取了一个名为 MicrosoftEdge_X64_116.0.1938.76.exe(145.7 MB)的文件,它似乎是一个可移植可执行(PE)文件(请参阅参考)。但它的格式对我来说似乎很奇怪,因为大多数内容都是在

.rsrc
部分编码的。

enter image description here

据我所知,PE 文件中的

.rsrc
部分包含由多级二叉排序树结构索引的资源(参见 source)。但这个 PE 文件并不遵循这一点,并且该文件似乎是一个我无法理解或解压缩的二进制文件。这是我的问题。

有人知道如何解压缩该PE文件的

.rsrc
部分的内容吗?

注意:我在这里检查了相关问题(例如,使用PEDUMP)但没有成功。

command-line compression windows-installer microsoft-edge portable-executable
1个回答
0
投票

7-zip 将显示它理解的自解压可执行文件的存档内容。当它不理解内容并且文件是 PE 文件时,它只是将原始 PE 部分显示为“模拟文件”,但这很少有用。此时,我将切换到Resource Hacker,因为它会正确解析并显示资源部分中的各个资源。但是,您提供的 .exe 文件有些奇怪,我尝试的几个工具拒绝读取它。 如果您使用十六进制编辑器查看内部,您将看到 Unicode 字符串“MSEDGE.PACKED.7Z”和“MSEDGE.7z”,因此很可能其中隐藏着一些 7-zip 文件。

我不会尝试解压这些文件,而是正常运行 MSI,然后从临时文件夹中获取这些文件(

进程监视器

可能会有所帮助)。

© www.soinside.com 2019 - 2024. All rights reserved.