def read_subkeys(self, regKey):
self._log("Reading subkeys for registry key: %s" % regKey)
registryHandles = []
subkeys = []
path = regKey.split("/")
hiveName = path.pop(0)
hive = reg.ConnectRegistry(None, self.regKeys[hiveName][0])
registryHandle = reg.OpenKey(hive, self.regKeys[hiveName][1])
registryHandles.append(hive)
self._log("Connected to registry at location: %s" % hiveName)
for step in path:
registryHandles.append(registryHandle)
registryHandle = reg.OpenKey(registryHandle, step)
i = 0
while True:
try:
subkey = reg.EnumKey(registryHandle, i)
self._log("Found subkey: %s" % subkey)
subkeys.append(subkey)
i += 1
except EnvironmentError:
break
self._log("Found %d subkeys." % len(subkeys))
self._log("Closing %d registry handles..." % len(registryHandles))
for handle in registryHandles:
reg.CloseKey(handle)
self._log("Done. Subkey enumeration completed.")
return subkeys
评论列表
文章目录