我试图找出用于Microsoft Symbol Local Cache目录的散列算法.
例如,本地缓存可以是如下所示
L:\Symbols \browseui.dll \44FBC679fe000 browsue.dll \browseui.pdb \44F402F62 browseui.pdb \explorer.exe \3EBF1F14f7000 explorer.exe \explorer.pdb \3EBF1F141 explorer.pdb \msvcr71.pdb \60D915C6AB6A4F3586E9096E2F8856482 msvcr71.pdb
文件与其调试数据库之间似乎存在某种对应关系.除此之外,我无法弄清楚如何生成这些(可能)十六进制字符串文件夹的名称.
其中一些是9位数,大约13位数,其他是33位数.它看起来像一个实际的实时文件(由于某种原因存储在符号缓存中)具有13位哈希,而其(几乎相似)调试数据库获得9位哈希.一些调试数据库得到一个13位数的哈希值;虽然他们没有相应的实时文件,却无法弄清楚是什么让这些特殊.
我已经尝试使用我所知道的各种哈希算法(其中39个)对文件进行哈希处理,并且没有任何匹配(直接向上,反向,备用字节序等)
有任何想法吗?
更新
我想我终于找到了它.从Symbol Storage Format开始:
SymStore uses the file system itself as a database. It creates a large tree of directories,with directory names based on such things as the symbol file time stamps,signatures,age,and other data.
编辑
Dang,不幸的是它只提到目录名是从各个方面派生的(我猜不是很好的哈希),但并没有提到具体如何.搜索继续……