当前位置: 首页>>技术教程>>正文


wine – 如何查看PE EXE/DLL文件的版本信息?

,

问题描述

在Windows中,可执行文件/库文件属性窗口中有一个版本信息页面。如何在Ubuntu中查看该信息?

最佳答案

您可能需要安装third-party PE文件查看器,例如http://www.ucware.com/apev/index.htm

次佳答案

我正在使用一个名为pev的工具来在命令行上检索有关PE文件的信息。

可以使用-p选项获取文件版本:

pev -p program.exe

pev在Ubuntu上的pev软件包中可用。

第三种答案

从斯科特·里奇(Scott Ritchie)建议的gnome-exe-thumbnailer脚本中:

wrestool --extract --raw --type=version inputfile.exe

提取版本信息,打印一些与UTF-16文本混合的二进制数据。该脚本通过以下方式将其转换为可读文本:

tr '\0, ' '\t.\0' \
| sed 's/\t\t/_/g' \
| tr -c -d '[:print:]' \
| sed -r -n 's/.*Version[^0-9]*([0-9]+\.[0-9]+(\.[0-9][0-9]?)?).*/\1/p'

然后,整个命令为wrestool --extract --raw --type=version inputfile.exe | tr '\0, ' '\t.\0' | sed 's/\t\t/_/g' | tr -c -d '[:print:]' | sed -r -n 's/.*Version[^0-9]*([0-9]+\.[0-9]+(\.[0-9][0-9]?)?).*/\1/p'

第四种答案

作为使用tr和sed解析@ mechanical-snail解决方案的输出的替代方法,以下是GNU字符串和GNU grep版本:

$ wrestool --extract --raw --type=version putty.exe | strings -el | grep Version -A 1

FileVersion
Release 0.65
ProductVersion
Release 0.65

更新:

另一个选择是Phil Harvey的exiftool的最新版本(它基于perl,如果您的发行版没有它,可以在Linux上轻松安装,也可以在Mac和Windows上使用)。它具有许多格式选项。

# Example with exiftool 10.47
$ exiftool -FileVersion -ProductVersion putty.exe

File Version                    : Release 0.67
Product Version                 : Release 0.67

第五种答案

如果安装gnome-exe-thumbnailer软件包,则只​​需查看nautilus中的版本号即可。

/usr/bin/gnome-exe-thumbnailer.sh中提供了手动执行此操作的代码

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7818.html,未经允许,请勿转载。