Как просмотреть информацию о версии файла PE EXE / DLL?

В Windows есть страница с информацией о версии в окне свойств файла исполняемого файла / библиотеки. Как просмотреть эту информацию в Ubuntu?

Вероятно, вам необходимо установить сторонний просмотрщик файлов PE, например http://www.ucware.com/apev/index.htm

Я работаю над инструментом pev для получения информации о файлах PE в командной строке.

Версия файла может быть выбрана с опцией -p :

 pev -p program.exe 

pev доступен на Ubuntu в пакете pev .

Из сценария 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' 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' 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' .

Если вы установите пакет gnome-exe-thumbnailer , вы можете просто посмотреть номер версии в nautilus .

Код для этого вручную доступен в /usr/bin/gnome-exe-thumbnailer.sh

В качестве альтернативы использованию tr и sed для анализа вывода из решения @ mechan-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 

ОБНОВИТЬ:

Другой альтернативой является недавняя версия 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