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

Iva*_*van 41 wine

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

小智 44

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

它可以安装

sudo apt-get install pev
Run Code Online (Sandbox Code Playgroud)

文件版本可以用

peres -v program.exe | awk '{print $3}'
Run Code Online (Sandbox Code Playgroud)

  • @Ivan 你可能会考虑接受这个答案。 (3认同)

Mec*_*ail 16

gnome-exe-thumbnailer脚本中,斯科特·里奇建议:

wrestool --extract --raw --type=version inputfile.exe
Run Code Online (Sandbox Code Playgroud)

提取版本信息,打印一些与 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'
Run Code Online (Sandbox Code Playgroud)

总体命令是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'


dcg*_*dcg 8

作为使用trsed解析来自@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
Run Code Online (Sandbox Code Playgroud)

更新:

另一种选择是Phil Harvey的最新版本的exiftool(它基于 perl,易于安装sudo apt-get install libimage-exiftool-perl,也可用于 Mac 和 Windows)。它有很多格式选项。

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

File Version                    : Release 0.67
Product Version                 : Release 0.67
Run Code Online (Sandbox Code Playgroud)


Sco*_*hie 5

如果安装gnome-exe-thumbnailer包,你可以简单地看一下版本号nautiluscajanemothunar

手动执行此操作的代码可在 /usr/bin/gnome-exe-thumbnailer.sh