Сегодня у меня проблема с чтением информации в
реестр HKLM \ SYSTEM \ MountingDevices.
Когда я читаю с помощью терминала, благодаря команде «HIVEXSH» информация появляется в открытом виде. Однако когда я извлекаю их с помощью скрипта Python3, они отображаются в кодированном виде в следующем формате:
b'{\x00f\x00c\x00c\x009\x007\x008\x00b\x00c\x00c\x00-\x004\x005\x009\x001\x001\x001\x00e\x009\x0000-\x003\x008\x00d\x00d\x00e\x00a\x00a\x00d\x007\x00a\x004\x008\x008\x00c\x008\x00}\x00##x000\x000\x000\x000\x000\x000\x000\x000\x000\x000\x001\x000\x000}
в своем скрипте я попытался добавить функцию декодирования следующим образом:
str=''''
for i in range(0, len(m), 2):
if m[i]<128:
str+=chr(m[i])
print(str)
Однако формат вывода не читается:
DI:DE'e
\???\USBSTOR#CdRom&Ven_hp&Prod_CDDVDW_GP70N&Rev_RR01#KXKHBUD5249_________&0#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}
Вот мой текущий код для чтения подключенных устройств:
def read_mountedDevices(sysreg):
key = 'MountedDevices'
try:
mounted_devices = sysreg.open(key)
for elt in mounted_devices.values():
m = elt.value()
str=''
for i in range(0, len(m), 2):
if m[i]<128:
str+=chr(m[i])
print(str)
except:
print('no mounted devices found')
'' '
Результат, который я ожидаю, должен быть в следующем формате:
Файл смонтирован с указанием места назначения.