동일한 PE 파일에 대해 다른 Impash

동일한 PE 파일에 대해 다른 Impash

Windows 실행 파일을 분석 중입니다.(C:\Windows\System32\xcopy.exe). Python으로 계산한 Imphash 값은 PE studio에서 표시되는 값과 다릅니다. 두 가지 다른 도구를 사용하여 계산할 때 동일한 파일에 대한 Imphash가 어떻게 다를 수 있습니까?

여기에 무엇이 빠졌나요?

임파시 파이썬:1effe65a4f251e4ae9fa8551f9fcdabb

임파시 PeStudio:370E0F2A87317776FEB42A7B32DD037B

PE 스튜디오 결과

파이썬 결과

답변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'

관련 정보