Nach der Untersuchung der Header-Werte aus Richards Antwort habe ich eine Lösung gefunden, die schnell und einfach ist und nur einen Texteditor erfordert. Sogar die Standard-Notepad.exe von Windows würde funktionieren.
Öffnen Sie die ausführbare Datei im Texteditor. Möglicherweise müssen Sie den
Open...
Dialog des Editors ziehen und ablegen, da Windows dieOpen with...
Option nicht im Kontextmenü für ausführbare Dateien anzeigt.Überprüfen Sie die ersten druckbaren Zeichen nach dem ersten Auftreten von
PE
. Dieser Teil ist höchstwahrscheinlich von mindestens einigen Leerzeichen umgeben (dies könnte eine Menge davon sein), so dass er leicht visuell ausgeführt werden kann.
Hier finden Sie das, was Sie finden werden:
x86:
PE L
x64:
PE d†
Eine Warnung: Die Verwendung des Standard-Notepad für große Dateien kann sehr langsam sein. Verwenden Sie ihn daher nicht für Dateien, die größer als ein Megabyte oder wenige sind. In meinem Fall dauerte es etwa 30 Sekunden, bis eine 12-MiB-Datei angezeigt wurde. Notepad ++ konnte jedoch fast sofort eine ausführbare 120-MiB-Datei anzeigen.
Diese Lösung ist möglicherweise hilfreich, wenn Sie eine Datei auf einem Computer überprüfen müssen, auf der keine zusätzliche Software installiert werden kann.
Zusätzliche Information:
Wenn Sie über einen HEX-Editor verfügen, befindet sich der Versatz der PE-Signatur im Versatz 0x3C
. Die Signatur lautet PE\0\0
(Buchstaben "P" und "E" gefolgt von zwei Null-Bytes), gefolgt von einem Zwei-Byte-Maschinentyp in Little Endian.
Die relevanten Werte sind 0x8664
für x64 ausführbar und 0x14c
für x86. Es gibt viel mehr mögliche Werte, aber wahrscheinlich werden Sie niemals auf solche Werte stoßen oder solche ausführbaren Dateien auf Ihrem Windows-PC ausführen können.
Die vollständige Liste der Maschinentypen, zusammen mit dem Rest der Exe - Spezifikationen finden Sie in Microsoft PE und COFF Spezifikation Maschinentypen Abschnitt.