同じ PE ファイルに対する異なる Imphash

同じ PE ファイルに対する異なる Imphash

Windows実行ファイルを分析しています(C:\Windows\System32\xcopy.exe)Python で計算された Imphash 値は、PE studio で表示される値とは異なります。2 つの異なるツールを使用して計算した場合、同じファイルの Imphash が異なるのはなぜでしょうか?

ここで何が欠けているのでしょうか?

インファッシュ パイソン:1effe65a4f251e4ae9fa8551f9fcdabb

インファッシュ ペスタジオ:370E0F2A87317776FEB42A7B32DD037B

PEスタジオ結果

Pythonの結果

答え1

64 ビット システムでは、パスはC:\Windows\System32仮想化されています。つまり、64 ビット プロセスはパスに直接アクセスできますが、32 ビット プロセスはC:\Windows\SysWow64代わりに自動的にリダイレクトされます。

「pestudio」ツールは 32 ビットなので、実際には 64 ビット版ではなく 32 ビット版の xcopy.exe が認識されます。

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'

関連情報