Файл: Работу выполнили Котельников А. И. Троицкий Н. А. Часть Реализация считывания реестра.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 11

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Работу выполнили:

Котельников А.И.
Троицкий Н.А.


Часть 1. Реализация считывания реестра

  1. Считывания реестра при непосредственном запуске утилиты на компьютере.

Код:





Часть 2. Считывание данных из реестра

  1. Вся информация о пользователях.

Код:



Пример выполнения работы кода:



Код:



Пример выполнения кода:

1)

2)

  1. Информация о сетевом стеке.

Код:

Пример выполнения кода:

1)

2)

  1. Информация об операционной системе.

Код:



Пример выполнения кода(одинаковая ОС):



  1. Информация об оборудовании.

Код:



Пример выполнения кода:

1)

2)


  1. Информация о программном обеспечении.

Код:



Пример выполнения кода:

1)

2)



  1. Дополнительная информация.

Код:



Пример выполнения кода:

1)

2)

Заключение:

Были использованы модули(библиотеки)

import winreg

import socket

import wmi

from tabulate import tabulate

from datetime import datetime

from termcolor import colored, cprint

Полный код программы:

import winreg

import socket

import wmi

from tabulate import tabulate

from datetime import datetime

from termcolor import colored, cprint

#________________________________информация об операционной системе_____________________________________________

cprint("__________________________Информация об операционной системе_____________________",'green')

#Какая ОС

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", 0, winreg.KEY_READ) as sub_key:

os_name = winreg.QueryValueEx(sub_key, "ProductName")

os_name_t = os_name[0]

print("Операционная система: ",os_name[0])

#Версия ОС

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", 0, winreg.KEY_READ) as sub_key:

os_vers = winreg.QueryValueEx(sub_key, "DisplayVersion")

os_vers_t = os_vers[0]

print("Версия ОС: ",os_vers[0])

#Сборка ОС

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", 0, winreg.KEY_READ) as sub_key:

os_build = winreg.QueryValueEx(sub_key, "BuildLab")

os_build_t = os_build[0]

print("Сборка ОС: ",os_build[0])

#_______________________________________________________________________________________________________

cprint("___________________________Информация о пользователях___________________________________",'green')

#Последний входивший пользователь

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SOFTWARE\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", 0, winreg.KEY_READ) as sub_key:

last_user = winreg.QueryValueEx(sub_key, "LastUsedUsername")

last_user_t = last_user[0]

print("Последний входивший пользователь: ",last_user[0])



#Ssid Пользователей

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList", 0, winreg.KEY_ENUMERATE_SUB_KEYS) as sub_key:

try:

for i in range(10):

user_ssid = winreg.EnumKey(sub_key,i)

ssid_ar=[]

if len(user_ssid)>15:

ssid_ar.append(user_ssid)

print("SSID пользователя: ", ssid_ar)

except:

a = "a"

else:

print("Нет данных")

#Имя компьютера

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SYSTEM\\ControlSet001\\Control\\ComputerName\\ComputerName", 0, winreg.KEY_READ) as sub_key:

pc_name = winreg.QueryValueEx(sub_key, "ComputerName")

pc_name_t = pc_name[0]

print("Имя компьютера: ",pc_name[0])

#_______________________________________________________________________________________________________

cprint("___________________________Информация о сетевом стеке_________________________________________",'green')

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SYSTEM\CurrentControlSet\\Services\\Tcpip\\Parameters", 0, winreg.KEY_READ) as sub_key:

dhcp = winreg.QueryValueEx(sub_key, "Domain")

dhcp1 = winreg.QueryValueEx(sub_key, "DhcpNameServer")

dhcp_t = dhcp[0]

print("DHCPDomain: ",dhcp[0])

dhcp1_t = dhcp1[0]

print("DhcpNameServer: ",dhcp1[0])

interfaces = socket.if_nameindex()

print("Сетевые интерфейсы:")

for interface in interfaces:

print(interface[0], "->", socket.if_indextoname(interface[0]))

#___________________________________________________________________________________________________________

cprint("__________________________Информация об оборудовании___________________________________",'green')

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", 0, winreg.KEY_READ) as sub_key:

cp = winreg.QueryValueEx(sub_key, "ProcessorNameString")

cp_t = cp[0]

print("Название процессора: ",cp[0])

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SYSTEM\\CurrentControlSet\\Control\\Class\\{4d36e968-e325-11ce-bfc1-08002be10318}\\0000", 0, winreg.KEY_READ) as sub_key:

card = winreg.QueryValueEx(sub_key, "HardwareInformation.AdapterString")

card_t = card[0]

print("Название видеокарты: ",card[0])

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards\\2", 0, winreg.KEY_READ) as sub_key:

ncard = winreg.QueryValueEx(sub_key, "Description")

ncard_t = ncard[0]

print("Название сетевой карты: ",ncard[0])

def get_monitors_info():

key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Enum\DISPLAY\GSM5AB8")

monitor_list = []

for index in range(winreg.QueryInfoKey(key)[0]):

subkey_name = winreg.EnumKey(key, index)

subkey = winreg.OpenKey(key, subkey_name)

monitor_name = winreg.QueryValueEx(subkey, "DeviceDesc")[0]

monitor_list.append(monitor_name)

return monitor_list

if __name__ == '__main__':

print("Monitors:", get_monitors_info())

#__________________________________________________

cprint("________________________Информация о программном обеспечении______________________________________",'green')

print("Установленные приложения и программы:")

reg_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall")

num_subkeys = winreg.QueryInfoKey(reg_key)[0]

names = []

for i in range(num_subkeys):

subkey_name = winreg.EnumKey(reg_key, i)

subkey = winreg.OpenKey(reg_key, subkey_name)

try:

name = winreg.QueryValueEx(subkey, "DisplayName")[0]

names.append(name)

except WindowsError:


pass

names.sort()

for i in range(1, 50):

cprint(names[i],'blue')

cprint("_________________________Дополнительная информация о компьютере______________________________________",'green')

ps_key = r"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Photoshop.exe"

with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, ps_key) as key:

path, _ = winreg.QueryValueEx(key, "Path")

print("Путь к Photoshop: ", path)

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SYSTEM\CurrentControlSet\Control\TimeZoneInformation", 0, winreg.KEY_READ) as sub_key:

time = winreg.QueryValueEx(sub_key, "TimeZoneKeyName")

time_t = time[0]

print("Часовой пояс: ",time[0])

with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:

with winreg.OpenKey(hkey, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkList\\Profiles\\{86DDAEB5-5019-4A1C-86BC-1B5EAF6E275D}", 0, winreg.KEY_READ) as sub_key:

w = winreg.QueryValueEx(sub_key, "ProfileName")

w_t = w[0]

print("Имя точки доступа: ",w[0])

winreg.CloseKey(hkey)