首页
社区
课程
招聘
最近在看注册表的物理结构,注册表是怎么产生HASH值的?
发表于: 2016-12-13 11:30 3360

最近在看注册表的物理结构,注册表是怎么产生HASH值的?

2016-12-13 11:30
3360
最近在看注册表的物理结构,看到LH列表时,有关于HASH值的!我看了很久算了很久也不知道是怎么产生的

这里有写产生的过程,我英语水平不行,我看的是,先把HASH值设为0,然后乘37加上ASCII
HASH=HASH*37+ASCII这样

图中画红框的17 FE 85 07就是 41 75 64 69 74的HASH值!
我不知道是怎么产生的!看那个PDF也看不懂

看PDF我已为是
HASH=0*37+41
HASH=(0*37+41)*37+75
HASH=[(0*37+41)*37+75]*37+64
... ...
这样,可是怎么算都算不出17 FE 85 07

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
SubKey小写字母必须转换为大写字母

给一个python的应用例:
def FindHash(SubKey):
    Hash = 0
    SubKey = SubKey.upper()
    for i in xrange(len(SubKey)):
        AsciiCode = ord(SubKey[i])
        Hash *= 37
        Hash += AsciiCode
    return Hash
print hex(FindHash("Audit"))

运行结果: 0x785fe17 (17 FE 85 07)
2016-12-13 14:34
0
雪    币: 12
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢!
我原来也想过大小写问题,但是却没注意小端序问题!
还有这37原来是十进制的37!
2016-12-14 10:32
0
游客
登录 | 注册 方可回帖
返回
//