Как просмотреть ПЭ EXE или dll файл информацию о версии?

Вы положили электронную почту Launchpad?

28
задан 27 January 2011 в 03:27

38 ответов

Из сценария gnome-exe-thumbnailer , предложенного Скоттом Ричи:

  wrestool --extract --raw --type = version inputfile.exe [  ! d1] 

извлекает информацию о версии, печатая некоторые двоичные данные, смешанные с текстом UTF-16. Сценарий преобразует его в читаемый текст, используя его:

  tr '\ 0,' '\ t. \ 0' \ |  sed 's / \ t \ t / _ / g' \ |  tr -c -d '[: print:]' \ |  sed -r -n 's /. * Версия [^ 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 /. * Версия [^ 0-9] * ([0-9] + \. [0-9] + (\. [0-9] [0-9]?)?) . * / \ 1 / р '.

28
ответ дан 7 August 2018 в 22:04

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

Код, который нужно сделать это вручную доступно в /usr/bin/gnome-exe-thumbnailer.sh

4
ответ дан 10 August 2018 в 10:18

В качестве альтернативы использованию tr и sed для синтаксического анализа вывода из решения @ mechan-snail, здесь приведены строки GNU и версия GNU grep:

  $ wrestool --extract -  -raw --type = версия putty.exe |  strings -el |  grep Version -A 1 FileVersion Release 0.65 ProductVersion Release 0.65  

UPDATE:

Другой альтернативой является недавняя версия exiftool Фила Харви ( он основан на perl, легко устанавливается на Linux, если у вашего дистрибутива нет его, также доступного для Mac и Windows).

  # Пример с exiftool 10.47 $ exiftool -FileVersion -ProductVersion putty.exe Версия файла: Release 0.67 Версия продукта: Release 0.67  
3
ответ дан 10 August 2018 в 10:18

Из сценария gnome-exe-thumbnailer , предложенного Скоттом Ричи:

  wrestool --extract --raw --type = version inputfile.exe [  ! d1] 

извлекает информацию о версии, печатая некоторые двоичные данные, смешанные с текстом UTF-16. Сценарий преобразует его в читаемый текст, используя его:

  tr '\ 0,' '\ t. \ 0' \ |  sed 's / \ t \ t / _ / g' \ |  tr -c -d '[: print:]' \ |  sed -r -n 's /. * Версия [^ 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 /. * Версия [^ 0-9] * ([0-9] + \. [0-9] + (\. [0-9] [0-9]?)?) . * / \ 1 / р '.

28
ответ дан 10 August 2018 в 10:18

Из сценария gnome-exe-thumbnailer , предложенного Скоттом Ричи:

  wrestool --extract --raw --type = version inputfile.exe [  ! d1] 

извлекает информацию о версии, печатая некоторые двоичные данные, смешанные с текстом UTF-16. Сценарий преобразует его в читаемый текст, используя его:

  tr '\ 0,' '\ t. \ 0' \ |  sed 's / \ t \ t / _ / g' \ |  tr -c -d '[: print:]' \ |  sed -r -n 's /. * Версия [^ 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 /. * Версия [^ 0-9] * ([0-9] + \. [0-9] + (\. [0-9] [0-9]?)?) . * / \ 1 / р '.

28
ответ дан 13 August 2018 в 16:42
  • 1
    @Ivan, вы можете подумать о принятии этого ответа. – Russell Silva 25 October 2013 в 21:39
  • 2
    +1 wrestool предоставляется пакетом icoutil , который доступен как стандартный пакет Debian с обратной стороны. – tripleee 9 May 2014 в 12:52
  • 3
    вы можете сделать это проще, просто пропустите его через | hexdump -C – Tomofumi 30 January 2015 в 06:28

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

Код, который нужно сделать это вручную доступно в /usr/bin/gnome-exe-thumbnailer.sh

4
ответ дан 13 August 2018 в 16:42
  • 1
    @Scott .. Спасибо. он работает .. соответствующий код очень прост в использовании в другом скрипте ... Я предполагаю, что то, что вы подразумеваете под ", вы можете просто посмотреть номер версии в nautilus & quot; , это то, что номер версии появляется прививкой в ​​значок .exe в Nautilus .. интересная идея .. Лично я редко использую значок-вид, но фрагмент кода отлично подходит для меня .. – Peter.O 13 August 2011 в 17:09

В качестве альтернативы использованию tr и sed для синтаксического анализа вывода из решения @ mechan-snail, здесь приведены строки GNU и версия GNU grep:

  $ wrestool --extract -  -raw --type = версия putty.exe |  strings -el |  grep Version -A 1 FileVersion Release 0.65 ProductVersion Release 0.65  

UPDATE:

Другой альтернативой является недавняя версия exiftool Фила Харви ( он основан на perl, легко устанавливается на Linux, если у вашего дистрибутива нет его, также доступного для Mac и Windows).

  # Пример с exiftool 10.47 $ exiftool -FileVersion -ProductVersion putty.exe Версия файла: Release 0.67 Версия продукта: Release 0.67  
3
ответ дан 13 August 2018 в 16:42

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

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

  pev -p program.exe  

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

28
ответ дан 15 August 2018 в 23:25

Другие вопросы по тегам:

Похожие вопросы: