我正在尝试编写一个py
脚本来解析一个 regshot 文件,其中包含注册表添加和修改等项目,并使用已知良好注册表的白名单对其进行解析,以查找任何不同的注册表。然后以它们在 regshot 文件中显示的确切形式将不同的值.txt
写入文本文件。
前任:
hklm\software\micrsoft\windows\currentversion\run\blahblah
我该怎么做呢?
我不确定从哪里开始以及是否应该使用正则表达式。
我正在尝试编写一个py
脚本来解析一个 regshot 文件,其中包含注册表添加和修改等项目,并使用已知良好注册表的白名单对其进行解析,以查找任何不同的注册表。然后以它们在 regshot 文件中显示的确切形式将不同的值.txt
写入文本文件。
前任:
hklm\software\micrsoft\windows\currentversion\run\blahblah
我该怎么做呢?
我不确定从哪里开始以及是否应该使用正则表达式。
如果您对“已知良好的注册表”的定义包括可以表示为正则表达式的注册表条目类别,请使用正则表达式,例如:与“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