Ich habe eine Drittanbieteranwendung (in diesem Fall Cognos Data Manager) auf 64-Bit-Windows Server 2003 installiert.
Gibt es eine schnelle Möglichkeit, festzustellen, ob eine Anwendung als 64-Bit-Anwendung oder als 32-Bit-Anwendung erstellt / kompiliert wurde?
Standardmäßig sollte ein Programm in Program Files (x86) installiert werden. Ich vermute, das bedeutet, dass es sich um eine 32-Bit-Version handelt. Ich musste es dazu bringen, mit einer Oracle-Datenbank zu kommunizieren, und um dies zum Laufen zu bringen, installierte ich es schließlich in einem Verzeichnispfad neu, der keine Klammern "(" und ")" enthielt, da dies ein Problem verursachte. Ich habe auch 64-Bit- und 32-Bit-Oracle-Clients installiert.
Zum späteren Nachschlagen möchte ich einen Befehl "xxxx fred.exe" eingeben und mir mitteilen lassen, ob für fred.exe ein 32-Bit- oder ein 64-Bit-Setup erforderlich ist (z. B. ODBC-Datenquellen usw.).
Antworten:
Wenn Sie die Anwendung ausführen, sollte im Task-Manager ein * 32 daneben stehen, um anzuzeigen, dass es sich um eine 32-Bit-Anwendung handelt. Ich bin mir ziemlich sicher, dass sie dies in Server 2003 implementiert hatten, aber nicht positiv, hoffentlich kann jemand das klären.
Sie können es auch über PEiD ausführen . PEiD unterstützt keine 64-Bit-PEs, sodass es erstickt, wenn es 64-Bit ist.
Es gibt auch die berühmte GNU-Datei für Windows. Es werden alle möglichen Informationen zu einer ausführbaren Datei angezeigt.
Beispiel:
Wie Sie sehen können, ist das 64-Bit-WinRAR-Installationsprogramm als PE32 + klassifiziert, was auf eine ausführbare 64-Bit-Datei hinweist . Die 32-Bit-Anwendung ist einfach PE32, eine ausführbare 32-Bit-Datei.
quelle
file
von GnuWin32 zu installieren , laden Sie 'vollständiges Paket' (anstatt 'Binärdateien') von gnuwin32.sourceforge.net/packages/file.htmDer einfachste Weg, ohne ein anderes Programm zu installieren oder die Datei auszuführen, besteht darin, mit der rechten Maustaste auf die Datei zu klicken, Eigenschaften auszuwählen und dann auf die Registerkarte Kompatibilität zuzugreifen. Wenn keine ausgeblendeten Optionen vorhanden sind und die Modi Windows XP und 9x angeboten werden, ist dies 32-Bit. Wenn die Optionen ausgegraut sind und Vista als frühester Modus angeboten wird, ist dies 64-Bit. Die Anwendung muss überhaupt nicht gestartet werden.
Wenn die Anwendung bereits gestartet ist, können Sie natürlich auch die in anderen Antworten erwähnte * 32-Idee verwenden. Dies ist jedoch in Windows 8.x und seinem neuen Task-Manager nicht verfügbar. Glücklicherweise können Sie eine Platform- Spalte aktivieren, indem Sie mit der rechten Maustaste auf die Spaltenüberschriften auf der Registerkarte Details klicken und Spalten auswählen auswählen . Die Spalte enthält entweder "32-Bit" oder "64-Bit".
quelle
Wenn Sie Visual Studio oder das Platform SDK installiert haben, können Sie
dumpbin /headers
die PE-Headerwerte anzeigen.Beispiel für eine ausführbare 64-Bit-Datei:
Und für 32 Bit:
Der erste Wert im Dateiheader gibt Auskunft über die Architektur: entweder 0x14C für x86 oder 0x8664 für x64.
quelle
Wenn Sie ein Hex-Editor-Programm haben, öffnen Sie einfach Ihre Datei damit und kurz nach dem Standard-Header-Intro-Zeug (wie "Dieses Programm kann nicht im DOS-Modus ausgeführt werden ...") werden Sie auch sehen
"PE..L" (Hex-Code: 504500004C) = 32 Bit
oder
"PE..d †" (Hex-Code: 504500006486) = 64 Bit
quelle
*:FACE:B00C:*
EXE Explorer
Ausführbarer Datei-Explorer für die Dateitypen OS / 2, NE, PE32, PE32 + und VxD.
Hinweis: Es wird mit einer grafischen Benutzeroberfläche geliefert, mit der Sie die Windows-Binärdateistruktur erkunden können.
Leider scheint es nicht einmal eine Ziel-Binärdatei zu akzeptieren, die über die Befehlszeile geöffnet werden kann. Aber das Detail, das es liefert, kann in manchen Fällen nützlich sein.
quelle
Sie können überprüfen,
sigcheck.exe
welcher Bestandteil der Sysinternals Suite ist , zquelle
Eine andere einfache Möglichkeit ist die Verwendung von PESnoop:
Ein Ort, um PESnoop zu erhalten, ist hier: http://www.prestosoft.com/download/plugins/PESnoop.zip
- Dave
quelle
Und für GUI-Enthusiasten ist die Installation dieser Explorer-Erweiterung der einfachste Weg:
http://www.silurian.com/win32/inspect.htm
- Dave
quelle
Dependency Walker ist ein nützliches GUI-Tool, um nicht nur EXE-Dateien, sondern auch DLL-Dateien zu überprüfen. Neben einer 64-Bit-DLL- oder EXE-Datei befindet sich ein kleines 64-Bit-Symbol.
quelle
WAMD64 oder W32i oder W16 stehen in der ersten Spalte.
quelle
Wenn Sie das Programm ausführen, können Sie "Process Monitor" (ProcMon) von Sysinternal Suite verwenden .
Es ist portabel und gibt Ihnen viele Informationen über Ihre Prozesse.
quelle