Ich analysiere eine ausführbare Windows-Datei(C:\Windows\System32\xcopy.exe). Der mit Python berechnete Imphash-Wert unterscheidet sich von dem mit PE Studio angezeigten. Wie kann der Imphash-Wert für dieselbe Datei unterschiedlich sein, wenn er mit zwei verschiedenen Tools berechnet wird?
Was fehlt hier?
Imphash Python:1effe65a4f251e4ae9fa8551f9fcdabb
Imphash PeStudio:370E0F2A87317776FEB42A7B32DD037B
Antwort1
Auf 64-Bit-Systemen C:\Windows\System32
wird der Pfad virtualisiert – 64-Bit-Prozesse können direkt darauf zugreifen, 32-Bit-Prozesse werden jedoch wie durch Zauberhand umgeleitet C:\Windows\SysWow64
.
Ihr „PeStudio“-Tool ist 32-Bit, es sieht also tatsächlich die 32-Bit-Version von xcopy.exe und nicht die 64-Bit-Version.
Python 3.9.4 [MSC v.1928 64 bit (AMD64)]
>>> pefile.PE(r"C:\Windows\System32\xcopy.exe").get_imphash()
'1effe65a4f251e4ae9fa8551f9fcdabb'
>>> pefile.PE(r"C:\Windows\SysWow64\xcopy.exe").get_imphash()
'370e0f2a87317776feb42a7b32dd037b'