Я анализирую исполняемый файл Windows.(C:\Windows\System32\xcopy.exe). Значение Imphash, вычисленное с помощью Python, отличается от значения, показанного в PE studio. Как может Imphash для одного и того же файла отличаться при вычислении с помощью двух разных инструментов?
Чего здесь не хватает?
Имфаш Питон:1effe65a4f251e4ae9fa8551f9fcdabb
Imphash PeStudio:370E0F2A87317776FEB42A7B32DD037B
решение1
В 64-разрядных системах путь C:\Windows\System32
виртуализирован — 64-разрядные процессы могут обращаться к нему напрямую, но 32-разрядные процессы волшебным образом перенаправляются на него C:\Windows\SysWow64
.
Ваш инструмент «pestudio» является 32-разрядным, поэтому на самом деле он видит 32-разрядную версию xcopy.exe, а не 64-разрядную.
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'