Файл: Работу выполнили Котельников А. И. Троицкий Н. А. Часть Реализация считывания реестра.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 11
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Работу выполнили:
Котельников А.И.
Троицкий Н.А.
Часть 1. Реализация считывания реестра
-
Считывания реестра при непосредственном запуске утилиты на компьютере.
Код:
Часть 2. Считывание данных из реестра
-
Вся информация о пользователях.
Код:
Пример выполнения работы кода:
Код:
Пример выполнения кода:
1)
2)
-
Информация о сетевом стеке.
Код:
Пример выполнения кода:
1)
2)
-
Информация об операционной системе.
Код:
Пример выполнения кода(одинаковая ОС):
-
Информация об оборудовании.
Код:
Пример выполнения кода:
1)
2)
-
Информация о программном обеспечении.
Код:
Пример выполнения кода:
1)
2)
-
Дополнительная информация.
Код:
Пример выполнения кода:
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)