Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


Реестр Windows и язык c#

Если требуется хранить какую-то информацию, то частенько для этого используется реестр. Реестр Windows представляет собой базу данных, которая хранит данные операционной системы Windows, служб, а так же приложений, в том числе и ваших.

Структура и ключи реестра

Основными элементами реестра являются: ключи и значения, а данные представлены и структурированы в виде дерева.

Дерево имеет 5 корневых ключей реестра (root keys)

Реестр Windows и язык c#

Вообще корневых ключей: 7, но многие из них устарели и уже не используются в современном мире.

HKEY_CURRENT_CONFIG — (Win98 и NT-разрядных версий Windows)

HKEY_PERFORMANCE_DATA (для NT-разрядных версий Windows, нельзя увидеть в редакторе реестра Windows)

HKEY_DYN_DATA (Win 9x/Me)

Каждый корневой ключ реестра может содержать любое количество вложенных разделов и подразделов (Subkeys), но при этом есть ограничение по вложенности (не более 512 уровней).

разделы реестра

В свою очередь каждый subkeys может содержать любое количество параметров.

Параметр имеет: имя(name), тип(type) и значение(value)

параметры реестра

Где хранятся файлы реестра?

файл реестра windows представлен в виде нескольких файлов, которые хранятся в папке config

Каждый файл реестра хранит информацию из определенного раздела реестра. Так же существует ещё несколько файлов, которые хранятся в основной папке пользователя, так например файл NTUSER.dat, в котором храниться профиль текущего пользователя, об это чуть позднее.

Имя файла Раздел реестра Описание
SAM HKEY_LOCAL_MACHINE\SAM SAM
SECURITY HKEY_LOCAL_MACHINE\SECURITY Безопасность
software HKEY_LOCAL_MACHINE\SOFTWARE Софт
system HKEY_LOCAL_MACHINE\SYSTEM Система
default HKEY_LOCAL_MACHINE\DEFAULT Параметры по умолчанию

Как открыть реестр в windows?

Для работы с реестром существует множество программ, одна из них носит имя regedit, она присутствует во всех версиях операционной системы Windows. С помощью неё можно осуществлять редактирование, просмотр, создание разделов, параметром и многое другое.


Codeby Security School от Сodeby

Мы запустили свою онлайн школу по информационной безопасности. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного в курсе Paranoid


regedit

Путь к файлу программы regedit

Чтобы открыть реестр нужно проделать следующие действия:

Нажмите на кнопку «Пуск» -> найдите в меню пункт «Выполнить»
затем введите: regedit, либо используйте горячие клавиши Win+R
кнопка Win расположена между Ctrl и Alt

как открыть реестр

regedit

Работа с реестром используя язык C#

.NET предлагает несколько классов для работы с реестром, один из них
class Registry

В проекте обращаться к данному классу можно, как по полному имени Microsoft.Win32.Registry, либо использовать using Microsoft.Win32;

Данный класс позволяет получить доступ ко всем корневым ключам реестра (root keys).

Перед тем как создать или обратиться к какому-нибудь разделу или подразделу, необходимо воспользоваться этим классом для выбора корневого ключа.

поле root key
ClassesRoot HKEY_CLASSES_ROOT
CurrentConfig HKEY_CURRENT_CONFIG
CurrentUser HKEY_CURRENT_USER
Users HKEY_USERS
PerformanceData HKEY_PERFORMANCE_DATA
DynData HKEY_DYN_DATA.LocalMachine
PerformanceData HKEY_PERFORMANCE_DATA

Пример на языке c#:

Выбираем root keys CurrentUser, тем самым открываем root ключ HKEY_CURRENT_USER;

Для дальнейшего перемещения по реестру используется класс RegistryKey, с помощью него можно добавлять, удалять разделы и подразделы, а так же создавать параметры и получать их значения.

Более подробно об этих классах поговорим в следующей статье.

Читайте также:


Безопасная сделка с гарантом Сodeby

Гарант является доверенным посредником между Участниками при проведении сделки.​ Услуга сайта «Проведение сделок через Гаранта» предоставляется всем зарегистрированным пользователям codeby.net Подробнее ...


Похожие темы

c# Создание веб-сервера с помощью класса HttpListe... Как создать веб-сервер с помощью класса HttpListener? В этой небольшой статье рассмотрим на простом примере, как создать веб-сервер с помощью языка c...
Как выполнить команду в cmd средствами языка c#... Как выполнить команду в cmd В качестве примера рассмотрим выполнение команды ping. Для того чтобы выполнить нашу команду потребуется запустить обр...
c# Как удалить колонку в DataGridView?... Удаление колонки в DataGridView В этой статье мы рассмотрим, как удалить колонку в элементе DataGridView с помощью языка c# Создадим новый проект ...
точка входа в программу на языке c#... Точка входа в программу на языке c# В предыдущей статье был написан исходный код нашей первой программы на языке c#, которая содержит: один класс по ...
Заполнение TreeView данными из XML файла... c# Работа с TreeView. Часть 2 Продолжаем работать с элементом управления TreeView и сегодня рассмотрим следующие моменты: создание и добавления узлов...