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

Snelle manier om te zien of een geïnstalleerde toepassing 64-bit of 32-bit is

Ik heb een applicatie van derden (in dit geval Cognos Data Manager) geïnstalleerd op 64-bit Windows Server 2003.

Is er een snelle manier om te bepalen of een applicatie gebouwd/gecompileerd is als een 64-bit applicatie of als een 32-bit applicatie?

Standaard wilde een programma geïnstalleerd worden in Program Files (x86). Ik denk dat dat betekent dat het een 32-bit versie is. Ik moest het laten praten met een Oracle database en om dat werkend te krijgen heb ik het uiteindelijk opnieuw geïnstalleerd in een directory pad waar geen haakjes “(” en “)” in stonden, omdat dat een probleem veroorzaakte. Ik heb ook zowel 64-bit als 32-bit Oracle clients geïnstalleerd.

Voor toekomstige referentie, ik zou graag in staat zijn om een commando “xxxx fred.exe” te typen en het mij te laten vertellen of fred.exe een 32-bit of 64-bit setup nodig heeft (bijvoorbeeld ODBC data sources etc).

Antwoorden (11)

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

Als je de toepassing uitvoert, zou er in Taakbeheer een *32 naast moeten staan om aan te geven dat het 32-bit is. Ik ben er vrij zeker van dat dit in Server 2003 al was geïmplementeerd, maar ik weet het niet zeker, hopelijk kan iemand het verduidelijken.

Je zou het ook via PEiD kunnen laten lopen. PEiD ondersteunt geen 64-bit PE’s, dus het zal stikken als het 64-bit is.

Er is ook de beroemde GNU file voor Windows. Het vertelt je allerlei informatie over een executable.

Voorbeeld:

$ 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>

Zoals u kunt zien, is het 64-bit WinRAR installatieprogramma geclassificeerd als PE32+, wat betekent een 64-bit uitvoerbaar programma . De 32-bit toepassing is gewoon PE32, een 32-bit uitvoerbaar bestand.

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

De eenvoudigste manier, zonder een ander programma te installeren of het bestand uit te voeren, is door met de rechtermuisknop op het bestand te klikken, Eigenschappen te kiezen en dan naar het tabblad Compatibiliteit te gaan. Als er geen opties zijn uitgegrijsd en Windows XP en 9x modi worden aangeboden, is het 32-bit. Als de opties grijs worden weergegeven en Vista de eerst aangeboden modus is, dan is het 64-bit. U hoeft de toepassing helemaal niet te starten.

Als de toepassing al is gestart, kunt u natuurlijk nog steeds het idee van *32 gebruiken dat in andere antwoorden is genoemd. Dit is echter niet beschikbaar in Windows 8.x en zijn nieuwe taakbeheer. Gelukkig kunt u een kolom Platform inschakelen door met de rechtermuisknop te klikken op de kolomkoppen in het tabblad Details en Kolommen selecteren te kiezen. De kolom zal ofwel “32-bits” of “64-bits” bevatten, afhankelijk van het geval.

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

Als je Visual Studio of de Platform SDK geïnstalleerd hebt, kun je dumpbin /headers gebruiken om naar de PE header waarden te kijken.

Voorbeeld voor een 64-bit executable:

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

En voor 32 bit:

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

De eerste waarde in de header van het bestand vertelt je de architectuur: ofwel 0x14C voor x86 of 0x8664 voor x64.

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

Als je een hex editor programma hebt, open je gewoon je bestand ermee en kort na de standaard header intro dingen (zoals “This program cannot be run in DOS mode…”) zul je ofwel

“PE..L” (hex code: 504500004C) = 32 bit

of

“PE..d†” zien staan (hex code: 504500006486) = 64 bit

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

0x1 EXE Explorer Executable File Explorer voor OS/2, NE, PE32, PE32+ en VxD bestandstypen.

Deze toepassing is gebaseerd op MiTeC Portable Executable Reader . Het leest en toont de eigenschappen en structuur van uitvoerbare bestanden. Het is compatibel met PE32 (Portable Executable), PE32+ (64bit), NE (Windows 3.x New Executable) en VxD (Windows 9x Virtual Device Driver) bestandstypen. .NET executables worden ook ondersteund.

Het geeft een opsomming van ingevoerde klassen, gebruikte eenheden en vormen voor bestanden die zijn gecompileerd door Borland-compilers.

Opmerking: Het wordt geleverd met een GUI en laat je de Windows binaire bestandsstructuur ‘verkennen’.
Helaas lijkt het niet eens een binary te accepteren om te openen vanaf de opdrachtregel. Maar de details die het geeft kunnen in sommige gevallen nuttig zijn.

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

U kunt dit controleren met sigcheck.exe die deel uitmaakt van Sysinternals Suite , bijv.

$ 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

Een andere eenvoudige manier is het gebruik van 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...
...

Een plaats om PESnoop te krijgen is hier: http://www.prestosoft.com/download/plugins/PESnoop.zip

– Dave

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

Dependency Walker ](http://www.dependencywalker.com/) is een handig GUI tool om niet alleen exe bestanden te controleren maar ook DLL bestanden. Een 64 bit DLL of EXE bestand zal een klein 64 icoontje naast zich hebben.

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

En voor jullie GUI enthousiastelingen, de absoluut makkelijkste manier is om deze Explorer extensie te installeren: http://www.silurian.com/win32/inspect.htm

– Dave

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

Als je het programma draait, kun je “Process Monitor” (ProcMon) van Sysinternal Suite gebruiken.

Het is portable en geeft je veel info over je processen.

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

WAMD64 of W32i of W16 zal in de eerste kolom staan.