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

Forma rápida de saber si una aplicación instalada es de 64 o 32 bits

Tengo una aplicación de terceros (en este caso Cognos Data Manager) instalada en Windows Server 2003 de 64 bits.

¿Existe una forma rápida de determinar si una aplicación ha sido construida/compilada como una aplicación de 64 bits o como una aplicación de 32 bits?

Por defecto, un programa quiere ser instalado en Archivos de Programa (x86). Supongo que eso significa que es una versión de 32 bits. Tuve que conseguir que hablara con una base de datos Oracle y para conseguir que funcionara finalmente lo reinstalé en una ruta de directorio que no tuviera paréntesis “(” y “)”, ya que eso estaba causando un problema. También he instalado clientes Oracle de 64 y 32 bits.

Para futuras referencias, me gustaría poder escribir un comando “xxxx fred.exe” y que me dijera si fred.exe necesita una configuración de 32 bits o de 64 bits (por ejemplo, fuentes de datos ODBC, etc.).

Respuestas (11)

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

Si ejecutas la aplicación, en el Administrador de Tareas debería tener un *32 al lado para indicar que es de 32 bits. Estoy bastante seguro de que lo tenían implementado en Server 2003, aunque no estoy seguro, espero que alguien pueda aclararlo.

También podrías ejecutarlo a través de PEiD . PEiD no soporta PEs de 64 bits, por lo que se ahogará si es de 64 bits.

También existe el famoso archivo GNU para Windows. Te dirá todo tipo de información sobre un ejecutable.

Ejemplo:

$ 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 puede ver, el instalador de WinRAR de 64 bits está clasificado como PE32+, que significa un ejecutable de 64 bits . La aplicación de 32 bits es simplemente PE32, un ejecutable de 32 bits.

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

La forma más fácil, sin necesidad de instalar otro programa o ejecutar el archivo, es simplemente hacer clic con el botón derecho del ratón sobre el archivo, elegir Propiedades , y luego ir a la pestaña Compatibilidad. Si no hay opciones en gris y se ofrecen los modos Windows XP y 9x, es de 32 bits. Si hay opciones en gris y Vista es el primer modo ofrecido, es de 64 bits. No es necesario iniciar la aplicación en absoluto.

Si la aplicación ya está iniciada, por supuesto puedes seguir utilizando la idea de *32 mencionada en otras respuestas. Sin embargo, esto no está disponible en Windows 8.x y su nuevo administrador de tareas. Afortunadamente, puedes habilitar una columna Plataforma haciendo clic con el botón derecho del ratón en los encabezados de las columnas en la pestaña Detalles y eligiendo Seleccionar columnas. La columna contendrá “32 bits” o “64 bits”, según corresponda.

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

Si tienes instalado Visual Studio o el SDK de la plataforma puedes usar dumpbin /headers para ver los valores de la cabecera PE.

Ejemplo para un ejecutable 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
               ...

Y 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
               ...

El primer valor de la cabecera del archivo le indica la arquitectura: o bien 0x14C para x86 o bien 0x8664 para x64.

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

Si tiene un programa editor hexadecimal, simplemente abra su archivo con él y poco después de las cosas de introducción de la cabecera estándar (como “Este programa no puede ejecutarse en modo DOS…”) verá o bien

“PE..L” (código hexadecimal: 504500004C) =

de 32 bits o bien

“PE..d†” (código hexadecimal: 504500006486) = 64 bits

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

0x1 EXE Explorer Explorador de archivos ejecutables para los tipos de archivos OS/2, NE, PE32, PE32+ y VxD.

Esta aplicación está basada en MiTeC Portable Executable Reader . Lee y muestra las propiedades y la estructura de los archivos ejecutables. Es compatible con los tipos de archivo PE32 (Portable Executable), PE32+ (64bit), NE (Windows 3.x New Executable) y VxD (Windows 9x Virtual Device Driver). Los ejecutables .NET también son compatibles.

Enumera las clases introducidas, las unidades utilizadas y las formas para los archivos compilados por los compiladores Borland.

Nota: Viene con una interfaz gráfica de usuario y le permite ‘explorar’ la estructura de archivos binarios de Windows.
Lamentablemente, no parece aceptar un binario de destino para abrirlo desde la línea de comandos. Pero el detalle que ofrece puede ser útil en algunos casos.

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

Puede comprobarlo utilizando sigcheck.exe que forma parte de Sysinternals Suite , por ejemplo,

$ 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

Otra forma sencilla es 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...
...

Un lugar para conseguir PESnoop es aquí: http://www.prestosoft.com/download/plugins/PESnoop.zip

– Dave

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

Dependency Walker es una útil herramienta GUI para verificar no sólo los archivos exe sino también los archivos DLL. Un archivo DLL o EXE de 64 bits tendrá un pequeño icono de 64 al lado.

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

Y para los entusiastas de la interfaz gráfica de usuario, la forma más sencilla es instalar esta extensión del Explorer: http://www.silurian.com/win32/inspect.htm

– Dave

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

Si ejecuta el programa, puede utilizar “Process Monitor” (ProcMon) de Sysinternal Suite .

Es portable y te da mucha información sobre tus procesos.

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

WAMD64 o W32i o W16 estarán en la primera columna.