我想使用 _winreg 和 Python 读取 Windows 注册表
它工作正常,但它不显示 REG_BINARY 值......当我在某个键中创建二进制值时,无论在哪里,它都会显示任何其他值而不是二进制,我需要解析二进制信息以获取窗口我们公司硬件/软件证据的许可证密钥,我想使用此代码,但没关系..
from _winreg import *
mapping = { "HKLM":HKEY_LOCAL_MACHINE, "HKCU":HKEY_CURRENT_USER, "HKU":HKEY_USERS }
def pathExists(hkey, regPath):
try:
reg = OpenKey(mapping[hkey], regPath)
except WindowsError:
return False
CloseKey(reg)
return True
def readSubKeys(hkey, regPath):
if not pathExists(hkey, regPath):
return -1
reg = OpenKey(mapping[hkey], regPath)
subKeys = []
noOfSubkeys = QueryInfoKey(reg)[0]
for i in range(0, noOfSubkeys):
subKeys.append(EnumKey(reg, i))
CloseKey(reg)
return subKeys
def readValues(hkey, regPath):
if not pathExists(hkey, regPath):
return -1
reg = OpenKey(mapping[hkey], regPath)
values = {}
noOfValues = QueryInfoKey(reg)[1]
for i in range(0, noOfValues):
values[EnumValue(reg, i)[0]] = EnumValue(reg, i)[1]
CloseKey(reg)
return values