同一 PE 文件使用不同的 Imphash

同一 PE 文件使用不同的 Imphash

我正在分析一个 Windows 可执行文件(C:\Windows\System32\xcopy.exe)用Python计算出来的Imphash值和用PE studio显示的值不一样,同一个文件用两个不同的工具计算出来的Imphash怎么会不一样呢?

这里缺少什么?

Imphash Python:1effe65a4f251e4ae9fa8551f9fcdabb

Imphash PeStudio:370E0F2A87317776FEB42A7B32DD037B

体育工作室结果

Python 结果

答案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'

相关内容