1

我正在尝试编写一个py脚本来解析一个 regshot 文件,其中包含注册表添加和修改等项目,并使用已知良好注册表的白名单对其进行解析,以查找任何不同的注册表。然后以它们在 regshot 文件中显示的确切形式将不同的.txt写入文本文件。

前任:

hklm\software\micrsoft\windows\currentversion\run\blahblah

我该怎么做呢?

我不确定从哪里开始以及是否应该使用正则表达式。

4

1 回答 1

0

如果您对“已知良好的注册表”的定义包括可以表示为正则表达式的注册表条目类别,请使用正则表达式,例如:与“hklm\software\micrsoft\”下某处包含“currentversion”的所有注册表条目匹配的registry_entry可以定义为

re.match('^hklm\software\micrsoft\[^\\]*\currentversion', registry_entry)

如果您只需要匹配子字符串,则不需要正则表达式。在这种情况下,一个简单的“如果 x in y”就可以了,例如:

if 'hklm\software\micrsoft\' in registry_entry

但是,如果您的“已知良好注册表”只是特定注册表条目的列表,则可以进行更简单的匹配,例如:

registry_entries = [r'hklm\software\micrsoft\windows\currentversion\run\blahblah', r'hklm\software\micrsoft\windows\currentversion\skip\blahblah']
known_good_registries = [r'hklm\software\micrsoft\windows\currentversion\run\blahblah', r'hklm\software\micrsoft\windows\currentversion\jump\blahblah']

for entry in registry_entries:
    match = False
    if entry in known_good_registries:
        match = True
    if not match:
        print 'registry entry not in known good list: ', entry
于 2012-08-16T00:53:50.393 回答