2010-01-31 21:34:22 +0000 2010-01-31 21:34:22 +0000
106
106

Forma rápida de saber se uma aplicação instalada é de 64 bits ou 32 bits

Tenho uma aplicação de terceiros (neste caso, Cognos Data Manager) instalada no Windows Server 2003 de 64 bits.

Existe alguma forma rápida de determinar se uma aplicação foi construída/compilada como uma aplicação de 64 bits ou como uma aplicação de 32 bits?

Por defeito, um programa queria ser instalado em Ficheiros de Programas (x86). Suponho que isso significa que se trata de uma versão de 32 bits. Tive de o fazer falar com uma base de dados Oracle e para conseguir que funcionasse acabei por reinstalá-lo num caminho de directório que não tinha parênteses “(” e “)” nele, pois isso estava a causar um problema. Também instalei clientes Oracle tanto de 64 bits como de 32 bits.

Para referência futura, gostaria de poder digitar um comando “xxxx fred.exe” e pedir que me diga se o fred.exe precisaria de configuração de 32-bit ou 64-bit (por exemplo, fontes de dados ODBC, etc.).

Respostas (11)

91
91
91
2010-01-31 21:37:27 +0000

Se executar a aplicação, no Gestor de Tarefas deve ter um *32 ao seu lado para indicar que é de 32 bits. Tenho quase a certeza de que tiveram isto implementado no Server 2003, mas não positivo, espero que alguém possa esclarecer.

Também poderia executá-la através de PEiD . O PEiD não suporta PEs de 64-bit, por isso engasgar-se-á se for de 64-bit.

Existe também o famoso ficheiro GNU para Windows. Ele dir-lhe-á todo o tipo de informação sobre um executável.

Exemplo:

$ file winrar-x64-392b1.exe
winrar-x64-392b1.exe: PE32+ executable for MS Windows (GUI)

$ file display.exe
display.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit</pre>

Como pode ver, o instalador WinRAR de 64-bit é classificado como PE32+, que significa um executável de 64-bit . A aplicação de 32-bit é simplesmente PE32, um executável de 32-bit.

41
41
41
2013-08-24 15:57:10 +0000

A maneira mais fácil, sem instalar outro programa ou executar o ficheiro, é clicar com o botão direito do rato no ficheiro, escolher Propriedades , e depois ir para o separador Compatibilidade. Se não houver opções cinzentas e forem oferecidos os modos Windows XP e 9x, é 32-bit. Se não houver opções cinzentas e o Vista for o modo mais antigo oferecido, é de 64 bits. Não há qualquer necessidade de iniciar a aplicação.

Se a aplicação já estiver iniciada, é claro que ainda pode usar a ideia *32 mencionada noutras respostas. No entanto, esta não está disponível no Windows 8.x e no seu novo gestor de tarefas. Felizmente, pode activar uma Plataforma coluna clicando com o botão direito do rato nos cabeçalhos das colunas no separador Detalhes* e escolhendo Seleccionar colunas*. A coluna conterá ou “32-bit” ou “64-bit”, conforme apropriado.

24
24
24
2010-01-31 22:20:32 +0000

Se tiver instalado o Visual Studio ou a plataforma SDK pode usar dumpbin /headers para ver os valores do cabeçalho PE.

Exemplo para um executável de 64 bits:

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
            8664 machine (x64)
               5 number of sections
        4987EDCA time date stamp Tue Feb 03 08:10:02 2009
               0 file pointer to symbol table
               0 number of symbols
              F0 size of optional header
              23 characteristics
                   Relocations stripped
                   Executable
                   Application can handle large (>2GB) addresses

OPTIONAL HEADER VALUES
             20B magic # (PE32+)
            8.00 linker version
           2A600 size of code
           18A00 size of initialized data
               0 size of uninitialized data
           2AE90 entry point (000000000042AE90)
            1000 base of code
               ...

E para 32 bits:

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
             14C machine (x86)
               3 number of sections
        4B0C786D time date stamp Wed Nov 25 01:21:01 2009
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
             103 characteristics
                   Relocations stripped
                   Executable
                   32 bit word machine

OPTIONAL HEADER VALUES
             10B magic # (PE32)
            9.00 linker version
           42000 size of code
            4000 size of initialized data
           6F000 size of uninitialized data
           B0EE0 entry point (004B0EE0)
           70000 base of code
               ...

O primeiro valor no cabeçalho do ficheiro diz-lhe a arquitectura: ou 0x14C para x86 ou 0x8664 para x64.

18
18
18
2011-08-27 00:49:56 +0000

Se tiver um programa editor hexadecimal, basta abrir o seu ficheiro com ele e pouco depois da introdução padrão do cabeçalho (como “Este programa não pode ser executado em modo DOS…”) verá ou

“PE…L” (código hex: 504500004C) = 32 bit

ou

“PE…d†” (código hexagonal: 504500006486) = 64 bit

5
5
5
2010-09-03 14:56:41 +0000

0x1 EXE Explorer Explorador de ficheiros executável para tipos de ficheiro OS/2, NE, PE32, PE32+ e VxD.

Esta aplicação é baseada em Leitor Portátil Executável MiTeC . Lê e exibe as propriedades e estrutura dos ficheiros executáveis. É compatível com os tipos de ficheiro PE32 (Portable Executable), PE32+ (64bit), NE (Windows 3.x New Executable) e VxD (Windows 9x Virtual Device Driver). Os executáveis .NET também são suportados.

& > Enumera classes introduzidas, unidades usadas e formulários para ficheiros compilados por compiladores da Borland.

Nota: Vem com uma GUI e permite-lhe ‘explorar’ a estrutura de ficheiros binários do Windows.
Infelizmente, não parece sequer aceitar um binário de destino para abrir a partir da linha de comando. Mas o detalhe que dá pode ser útil em alguns casos.

3
3
3
2016-05-09 10:17:08 +0000

Pode verificar usando sigcheck.exe que faz parte da 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
2
2
2
2011-04-05 04:28:59 +0000

Outra forma simples é utilizar PESnoop:

C:\> pesnoop photoshop.exe /pe_dh

-------------------------------------------------------------------------------
 PESnoop 2.0 - Advanced PE32/PE32+/COFF OBJ,LIB command line dumper by yoda
-------------------------------------------------------------------------------

Dump of file: photoshop.exe...
Modus: 64bit Portable Executable Image...
...

Um lugar para obter PESnoop é aqui: http://www.prestosoft.com/download/plugins/PESnoop.zip

– Dave

2
2
2
2014-02-14 23:32:00 +0000

Dependency Walker é uma ferramenta GUI útil para verificar não só ficheiros exe mas também ficheiros DLL. Um ficheiro DLL ou EXE de 64 bits terá um pequeno ícone de 64 bits ao seu lado.

2
2
2
2011-04-05 04:57:31 +0000

E para vocês entusiastas da GUI, a maneira mais fácil é instalar esta extensão do Explorer: http://www.silurian.com/win32/inspect.htm

– Dave

1
1
1
2014-03-27 09:36:53 +0000

Se executar o programa, pode usar “Process Monitor” (ProcMon) da Sysinternal Suite .

É portátil e dá-lhe muita informação sobre os seus processos.

1
1
1
2012-12-21 15:31:12 +0000
filever /bad *.exe

WAMD64 ou W32i ou W16 estarão na primeira coluna.