【发布时间】:2026-02-01 11:45:01
【问题描述】:
我正在尝试找出 Microsoft 符号本地缓存目录使用的散列算法。
例如,本地缓存可以是这样的
L:\符号 \browseui.dll \44FBC679fe000 浏览器.dll \browseui.pdb \44F402F62 浏览ui.pdb \explorer.exe \3EBF1F14f7000 资源管理器.exe \explorer.pdb \3EBF1F141 资源管理器.pdb \msvcr71.pdb \60D915C6AB6A4F3586E9096E2F8856482 msvcr71.pdb文件与其调试数据库之间似乎存在某种对应关系。除此之外,我无法弄清楚这些(大概)十六进制字符串文件夹的名称是如何生成的。
其中一些是 9 位,一些是 13 位,还有一些是 33 位。它看起来像一个实际的活动文件(由于某种原因存储在符号缓存中)具有 13 位哈希,而其(几乎相似)调试数据库具有 9 位哈希。一些调试数据库得到一个 13 位的哈希值;无法弄清楚这些文件的特别之处,尽管它们没有相应的实时文件。
我已经尝试使用我所知道的各种哈希算法(其中 39 个)对文件进行哈希处理,但没有一个匹配(直接向上、反向、交替字节序等)
有什么想法吗?
更新 我想我终于找到了。来自Symbol Storage Format:
SymStore 使用文件系统本身作为数据库。它会创建一个大型目录树,目录名称基于符号文件时间戳、签名、年龄和其他数据等内容。
编辑 Dang,不幸的是它只提到目录名称是从各个方面派生的(我猜不是一个哈希),但没有确切说明如何。搜索继续…… :-(
【问题讨论】:
标签: hash symbol-server symstore