No Windows, há uma página de informações da versão em uma janela de propriedades do arquivo executável / biblioteca. Como visualizar essas informações no Ubuntu?
No Windows, há uma página de informações da versão em uma janela de propriedades do arquivo executável / biblioteca. Como visualizar essas informações no Ubuntu?
Respostas:
Você provavelmente precisará instalar um visualizador de arquivos PE de terceiros, como http://www.ucware.com/apev/index.htm
Estou trabalhando em uma ferramenta chamada pev para recuperar informações sobre arquivos PE na linha de comando.
A versão do arquivo pode ser buscada com a -p
opção:
pev -p program.exe
O pev está disponível no Ubuntu no pev
pacote .
Do gnome-exe-thumbnailer
roteiro, sugerido por Scott Ritchie:
wrestool --extract --raw --type=version inputfile.exe
extrai as informações da versão, imprimindo alguns dados binários misturados ao texto UTF-16. O script o converte em texto legível, canalizando-o através de:
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'
O comando geral é então 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
é fornecido pelo icoutil
pacote que está disponível como um pacote Debian padrão desde o início.
| hexdump -C
icoutils
pacote.
Como alternativa ao uso de tr e sed para analisar a saída da solução do @ Mechanical-snail, aqui estão as strings GNU e a versão grep do GNU :
$ wrestool --extract --raw --type=version putty.exe | strings -el | grep Version -A 1
FileVersion
Release 0.65
ProductVersion
Release 0.65
ATUALIZAR:
Outra alternativa é uma versão recente do exiftool de Phil Harvey (é baseada em perl, fácil de instalar no Linux se a sua distribuição não o possuir, também disponível para Mac e Windows). Tem muitas opções de formatação.
# Example with exiftool 10.47
$ exiftool -FileVersion -ProductVersion putty.exe
File Version : Release 0.67
Product Version : Release 0.67
libimage-exiftool-perl
?
Se você instalar o gnome-exe-thumbnailer
pacote, poderá simplesmente olhar o número da versão em nautilus
.
O código para fazer isso manualmente está disponível em /usr/bin/gnome-exe-thumbnailer.sh
Acabei de descobrir como criar um bom dict python com as informações (eu estava olhando em torno de mim e acabei aqui por algum motivo) e gostaria de apresentar meu método aqui:
Github Gists - spookyahell / exe2version_info.py
'''Licensed under the MIT License :)'''
import pefile
import pprint
pe = pefile.PE('example.exe')
string_version_info = {}
for fileinfo in pe.FileInfo[0]:
if fileinfo.Key.decode() == 'StringFileInfo':
for st in fileinfo.StringTable:
for entry in st.entries.items():
string_version_info[entry[0].decode()] = entry[1].decode()
pprint.pprint(string_version_info)
Estou licenciando-o sob a licença MIT ... pode alguém que sinta necessidade de criar scripts úteis ou outras coisas com ele ...
E veja Github Gists - spookyahell / peinfo.py para obter um exemplo de implementação desse método em outro script ...