gpt4 book ai didi

hash - symstore是如何计算目录hash值的

转载 作者:行者123 更新时间:2023-12-04 13:43:06 25 4
gpt4 key购买 nike

我正在寻找 symstore 用于创建目录名称的哈希算法。我找到了这个链接 Microsoft Symbol Server / Local Cache Hash Algorithm它描述了用于生成散列的数据元素,但没有详细说明如何计算散列值。我很想知道 symstore 如何生成哈希目录,如果有人有任何可以展示的示例代码,那就太好了!

最佳答案

symstore.exe 计算哈希目录名称如下:

对于 PDB 文件,使用 GUID + Age。这是一个python示例:

pdb = pdbparse.parse("some.pdb")
pdb.STREAM_PDB.load()
guid = pdb.STREAM_PDB.GUID
guid_str = "%.8X%.4X%.4X%s" % (guid.Data1, guid.Data2, guid.Data3,
guid.Data4.encode("hex").upper())

symstore_hash = "%s%s" % (guid_str, pdb.STREAM_PDB.Age)

对于 PE (exe/dll) 文件,使用 TimeDateStamp(来自 IMAGE_FILE_HEADER)和 SizeOfImage(来自 IMAGE_OPTIONAL_HEADER)。这是一个python示例:
pe = pefile.PE("some.exe")

symstore_hash = "%X%X" % (pe.FILE_HEADER.TimeDateStamp,
pe.OPTIONAL_HEADER.SizeOfImage)

这是一个打印 PDB 和 PE 文件的 symstore 哈希值的 Python 脚本示例:

https://gist.github.com/lennartblanco/9a70961a5aa66fe49df6

关于hash - symstore是如何计算目录hash值的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7965318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com