Quais são algumas maneiras de linha de comando para inspecionar detalhes de DLL / EXE?

7

Com a maioria dos executáveis do Windows (DLL, EXE ...), a versão e outros detalhes podem ser visualizados usando a guia "Detalhes" em "Propriedades" ( Alt + Enter ).

Eu me pergunto: existe também um modo de linha de comando para fazer isso? Estou particularmente interessado na versão do produto, mas também outras coisas podem ser úteis.

As seguintes propriedades são desejadas, por ordem de precedência:

  • aceite o caminho exe / dll como um parâmetro
  • saída para saída padrão (assim, você pode processar o restante via | pipe)
  • disponível por padrão em todo o Windows suportado (XP +)
  • disponível por padrão no Windows Vista +
  • disponível por padrão no Windows XP
  • utilizável em ambiente comercial
  • licença livre (semelhante à GPL)
  • portátil (ou seja, exe autônomo, talvez acompanhado de DLL)
por Alois Mahdal 23.01.2012 / 02:35

4 respostas

6

No powershell, get-command "full-path-to-executable" | format-list faria o truque. Powershell é a nova linha de comando para o Vista e o Windows posterior, pode ser instalado no XP.

    
por 23.01.2012 / 03:01
4

Use o utilitário DUMPBIN da Microsoft.

Tem muitas opções úteis, no entanto, depende do que você deseja fazer.

No entanto, não é gratuito, mas acredito que pode ser obtido gratuitamente com o Windows SDK.

    
por 23.01.2012 / 05:01
3
Function GetProductVersion (sFilePath, sProgram)  
Dim objShell, objFolder, objFolderItem, i  
If FSO.FileExists(sFilePath & "\" & sProgram) Then  
    Set objShell = CreateObject("Shell.Application")  
    Set objFolder = objShell.Namespace(sFilePath)  
    Set objFolderItem = objFolder.ParseName(sProgram)  
    Dim arrHeaders(300)  
    For i = 0 To 300  
        arrHeaders(i) = objFolder.GetDetailsOf(objFolder.Items, i)  
        'WScript.Echo i &"- " & arrHeaders(i) & ": " & objFolder.GetDetailsOf(objFolderItem, i)  
        If lcase(arrHeaders(i))= "product version" Then  
            GetProductVersion= objFolder.GetDetailsOf(objFolderItem, i)  
            Exit For  
        End If  
    Next  
End If  
End Function  

Source é um link para a. vbs arquivo que pode obter a versão do arquivo para você, e você pode pegar isso e usar a saída como quiser.

Envia todas as versões do Windows, não tem certeza sobre a licença, muito portável, mas não exe ou DLL.

    
por 23.01.2012 / 02:44
3

Você pode usar a sigcheck.exe ferramenta portátil que faz parte de Sysinternals Suite , por exemplo

$ sigcheck.exe some_app.exe

Sigcheck v2.51 - File version and signature viewer
Copyright (C) 2004-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

C:/Program Files (x86)/Foo App\some_app.exe:
    Verified:   Signed
    Signing date:   14:48 23/12/2015
    Publisher:  X
    Company:    X
    Description:    X
    Product:    Some App
    Prod version:   5.0.0.1241
    File version:   5.0.0.1241
    MachineType:    32-bit

Para versões mais antigas do Windows, como XP / 2k / 2003 (ainda funciona em novo), use filever.exe ferramenta (verifique o link direto em exedll.info ) para obter informações específicas sobre um arquivo como:

  • A plataforma na qual o arquivo é executado
  • A versão do arquivo
  • Os atributos do arquivo
  • O tipo de arquivo
  • O idioma do arquivo
  • Se o arquivo é um tipo de envio ou um tipo de depuração
  • O tamanho do arquivo
  • A data em que o arquivo foi criado
  • O caminho do arquivo

Alguns outros a considerar:

  • O Descarregador de Arquivos Binários Microsoft COFF (DUMPBIN.EXE )

    Displays information about Common Object File Format (COFF) binary files. You can use DUMPBIN to examine COFF object files, standard libraries of COFF objects, executable files, and dynamic-link libraries (DLLs).

  • binwalk - procura o (s) arquivo (s) especificado (s) por códigos executáveis comuns a uma variedade de arquiteturas de CPU. Ferramenta fácil de usar para análise, engenharia reversa e extração de arquivos / dados interessantes de arquivos binários.

Para mais comandos, verifique:

por 09.05.2016 / 12:44