Eu tenho um aplicativo de terceiros (neste caso, o Cognos Data Manager) instalado no Windows Server 2003 de 64 bits.
Existe uma maneira rápida de determinar se um aplicativo foi criado / compilado como um aplicativo de 64 bits ou como um aplicativo de 32 bits?
Por padrão, um programa queria ser instalado nos Arquivos de Programa (x86). Acho que isso significa que é uma versão de 32 bits. Eu precisava conversar com um banco de dados Oracle e, para que isso funcionasse, eu o reinstalei em um caminho de diretório que não tinha colchetes "(" e ")", pois isso estava causando um problema. Também instalei clientes Oracle de 64 e 32 bits.
Para referência futura, eu gostaria de poder digitar um comando "xxxx fred.exe" e informar se o fred.exe precisaria de uma configuração de 32 ou 64 bits (por exemplo, fontes de dados ODBC etc.).
Respostas:
Se você executar o aplicativo, no Gerenciador de Tarefas, ele deverá ter um * 32 ao lado para indicar que é de 32 bits. Tenho certeza de que eles implementaram isso no Server 2003, embora não sejam positivos, espero que alguém possa esclarecer.
Você também pode executá-lo através do PEiD . O PEiD não suporta PEs de 64 bits; portanto, ele engasgará se for de 64 bits.
Há também o famoso arquivo GNU para Windows. Ele informará todos os tipos de informações sobre um executável.
Exemplo:
Como você pode ver, o instalador do WinRAR de 64 bits é classificado como PE32 +, o que significa um executável de 64 bits . O aplicativo de 32 bits é simplesmente PE32, um executável de 32 bits.
fonte
file
partir do GnuWin32, baixe 'pacote completo' (em vez de 'binários') em gnuwin32.sourceforge.net/packages/file.htmA maneira mais fácil, sem instalar outro programa ou executar o arquivo, é apenas clicar com o botão direito do mouse no arquivo, escolher Propriedades e, em seguida, acessar a guia Compatibilidade . Se não houver opções acinzentadas e os modos Windows XP e 9x forem oferecidos, é de 32 bits. Se houver opções acinzentadas e o Vista for o modo mais antigo oferecido, é de 64 bits. Não há necessidade de iniciar o aplicativo.
Se o aplicativo já estiver iniciado, é claro que você ainda poderá usar a ideia * 32 mencionada em outras respostas. No entanto, isso não está disponível no Windows 8.xe seu novo gerenciador de tarefas. Felizmente, você pode ativar uma coluna Plataforma clicando com o botão direito do mouse nos cabeçalhos da coluna na guia Detalhes e escolhendo Selecionar colunas . A coluna conterá "32 bits" ou "64 bits", conforme apropriado.
fonte
Se você possui o Visual Studio ou o Platform SDK instalado, pode usar
dumpbin /headers
para examinar os valores do cabeçalho do PE.Exemplo para um executável de 64 bits:
E para 32 bits:
O primeiro valor no cabeçalho do arquivo informa a arquitetura: 0x14C para x86 ou 0x8664 para x64.
fonte
Se você possui um programa de edição hexadecimal, basta abrir seu arquivo com ele e logo após o item de introdução do cabeçalho padrão (como "Este programa não pode ser executado no modo DOS ..."), você verá
"PE..L" (código hexadecimal: 504500004C) = 32 bits
ou
"PE..d †" (código hexadecimal: 504500006486) = 64 bits
fonte
*:FACE:B00C:*
EXE Explorer
Executável File Explorer para os tipos de arquivo OS / 2, NE, PE32, PE32 + e VxD.
Nota: Ele vem com uma GUI e permite 'explorar' a estrutura de arquivos binários do Windows.
Infelizmente, ele nem parece aceitar um binário de destino para abrir a partir da linha de comando. Mas os detalhes que ele fornece podem ser úteis em alguns casos.
fonte
Você pode verificar usando o
sigcheck.exe
que faz parte do Sysinternals Suite , por exemplo,fonte
Outra maneira simples é usar o PESnoop:
Um local para obter o PESnoop é aqui: http://www.prestosoft.com/download/plugins/PESnoop.zip
- Dave
fonte
E para os entusiastas da GUI, a maneira mais fácil é instalar esta extensão do Explorer:
http://www.silurian.com/win32/inspect.htm
- Dave
fonte
O Dependency Walker é uma ferramenta GUI útil para verificar não apenas os arquivos exe, mas também os arquivos DLL. Um arquivo DLL ou EXE de 64 bits terá um pequeno ícone de 64 ao lado.
fonte
WAMD64 ou W32i ou W16 estarão na primeira coluna.
fonte
Se você executar o programa, poderá usar o "Process Monitor" (ProcMon) do Sysinternal Suite .
É portátil e fornece muitas informações sobre seus processos.
fonte