Windows 可执行文件(New
或者Portable
可执行文件) 可以包含图标。我怎样才能提取它们,或者作为ICO 文件或单独的图像?
答案1
您可以使用多种工具。
icoutils
,在许多发行版中作为同名包提供,包括一个能够从大多数 Windows 可执行文件(16 位 NE、32 位 PE 和 64 位 PE+)中提取资源的工具wrestool
。
wrestool -x --output=. -t14 /path/to/windows.exe
将提取给定 Windows 可执行文件中存在的图标并将其写入单个文件,以可执行文件名称命名,并添加类型和图标名称。
7z
还可以提取 Windows 可执行文件中的所有资源;
7z x /path/to/windows.exe .rsrc/ICON
将提取给定 Windows 可执行文件中的所有图标并将它们写入.rsrc/ICON
目录中的各个文件。
答案2
要直接从可执行文件中提取图标,如果您有指向该可执行文件的 Windows 链接,则可以使用酒的winemenubuilder
命令:
wine winemenubuilder -t /path/to/link.lnk /path/to/image-out.png
我相信该命令将提取链接将使用的图像,无论是显式地在链接中还是隐式地在其目标中。
如果需要生成Windows链接,可以使用工具mslink
。
答案3
使用大多数发行版上提供的 icoutils 包,您可以使用:
wrestool -xt14 -o. app.exe
它将把所有图标提取到当前文件夹中,您可以通过更改 -o 来更改文件夹。到-o /路径/到/提取
然后使用 icotool 将 ico 文件内的图像转换为 png 图像文件:
icotool -x filename.ico
您可以使用通配符来迭代文件夹中的所有图标,如下所示:
icotool -x *.ico
答案4
您可以使用以下命令在 Linux 上查看并提取 DLL 文件的全部内容“资源黑客”快照。
如果您的系统上安装了 Snap,则可以使用以下命令安装它。
sudo snap install resourcehacker
注意:这是一个使用 Wine 在 Linux 上运行的免费 Windows 应用程序。Wine 包含在 snap 容器中,因此不会污染您的系统。