-
-
[分享]python的pefile模块get_imphash方法计算出的导入表hash与vt的导入表hash不匹配问题
-
发表于: 2025-8-14 15:23 146
-
发现问题:同一个样本 python3 和 vt 算出的imphash不一样
样本md5:41320c9622ab1f768ce1786c191f7699
vt imphash:161c85364c462057ba28801ac1ad5404
python3 imphash:a6b79195015e1e45d816e61ee943224b

python3 使用的pefile 版本为2024.08.26

输出计算的imports_str

尝试使用python2 pefile版本为2019.4.18,可以获得vt的imphash


发现第三个函数不同导致的hash不同,查看该导入dll的导出函数到底谁是正确的

可以看到是引用的wsock32.dll 的第12个导出函数是ioctlsocket,即python3是正确的。即python2错误,vt错误

用ida打开样本也再次证明python3解析的是正确的

查看yara是否正确

可以看到yara也是错误的。

结论:
在威胁情报和样本匹配领域:YARA 和 VT 的 ImpHash(即使背后是 Python 2 的“不完美”解析逻辑)是行业标准,应该优先使用;
赞赏
赞赏
雪币:
留言: