Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
141
Добавлен:
31.01.2021
Размер:
9.66 Mб
Скачать

Исследование системного реестра операционной системы Windows

Цель работы: Ознакомиться с назначением и организацией системного реестра OS Windows, изучить средства для архивирования, просмотра и корректировки реестра.

2

ОБЩИЕ СВЕДЕНИЯ О РЕЕСТРЕOSWINDOWS

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

Как правило, следует избегать прямого редактирования реестра — приложения и система, хранящие в реестре параметры, которые могут потребовать настройки вручную, должны предоставлять соответствующий пользовательский интерфейс (UI) для их модификации. В OSWindows включен ряд утилит, позволяющих просматривать и модифицировать реестр.

Windows 2000 поставляется с двумя утилитами для редактирования реестра — Regedit.exe и Regedt32.exe, — тогда как в операционных системах, начиная с Windows ХР имеется лишь Regedit.exe. Причина в том, что версия Regedit в Windows 2000 была перенесена из Windows 98 и поэтому не поддерживала редактирование или просмотр параметров защиты и типов данных, не определенных в Windows 98. Поэтому в Windows 2000 была добавлена Regedt32, которая не обладала развитыми средствами поиска и поддержки импорта/экспорта, но поддерживала параметры защиты и специфичные для Windows 2000 типы данных. Regedit, поставляемая с Windows ХР(7, 8 и т.д.), распознает все типы данных в реестре и позволяет редактировать параметры защиты, ввиду чего необходимость в Regedt32 отпала.

Существует также целый ряд утилит для работы с реестром из командной строки. Например, Reg.exe, включенная в Windows ХР и Windows Server 2003 и доступная в Windows 2000 Support Tools, дает возможность импортировать, экспортировать, создавать резервные копии и восстанавливать разделы реестра, а также сравнивать, модифицировать и удалять разделы и параметры.

ИСПОЛЬЗОВАНИЕРЕЕСТРА

Конфигурационные данные всегда считываются в следующих случаях:

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

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

При запуске приложения считывают общесистемные параметры, например список дополнительных установленных компонентов, информацию о лицензировании, настройки для данного пользователя (меню, размещение панелей инструментов, список недавно открывавшихся документов и т. д.). Однако чтение реестра возможно и в другие моменты, скажем, в ответ на модификацию его параметра или раздела. Некоторые приложения ведут мониторинг своих конфигурационных параметров в реестре и считывают обновленные значения, как только обнаруживают изменения. Но в целом, если система простаивает,

Only for UIB groups from Dobrynin I.S.

3

работы с реестром не должно быть. Реестр обычно модифицируется в следующих ситуациях.

Исходная структура реестра и многие настройки по умолчанию определяются его прототипной версией, поставляемой на дистрибутиве Windows и копируемой при установке новой системы.

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

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

Когда вы изменяете параметры приложения или системы через UI, эти изменения часто сохраняются в реестре.

ПРИМЕЧАНИЕнекоторые приложения периодически опрашивают реестр на предмет изменений, тогда как делать это следует через функцию RegNotifyCbangeKey, которая отправляет поток в сон до тех пор, пока в интересующей его части реестра не произойдет какое-нибудь изменение.

ТИПЫ ДАННЫХ В РЕЕСТРЕ

Реестр — это база данных, структура которой аналогична структуре логического тома. Он содержит:

разделы (keys), напоминающие дисковые каталоги, и параметры (values), которые можно сравнить с файлами на диске.

Only for UIB groups from Dobrynin I.S.

4

Раздел представляет собой контейнер, содержащий другие разделы, называемые подразделами (subkeys), и/или параметры. Параметры хранят собственно данные. Разделы верхнего уровня называются корневыми. Здесь мы будем использовать термины «подраздел» и «раздел» как синонимы (лишь корневые разделы не могут быть подразделами).

Соглашение об именовании разделов и параметров заимствовано из файловой системы. Таким образом, параметру можно присвоить имя, которое сохраняется в каком-либо разделе. Исключением из этой схемы является безымянный параметр, присутствующий в каждом разделе. Утилиты реестра, Regedit и Regedt32, по-разному показывают этот параметр:

Regedit обозначает его как (Default) [(По умолчанию)], Regedt32 — как <NoName>(<БЕЗИМЕНИ>).

Only for UIB groups from Dobrynin I.S.

5

Описаниесоставляющихпанелипараметровпредставленониже.

В параметрах хранятся данные 15 типов, перечисленных в т аблице 1. Большинство параметров реестра имеет тип REG_DWORD, REGBINARY или R EG_SZ. Параметры типа REGDWORD содержат числов ые или булевы значения, параметры ти па REGBINARY — данные, требующие более 32 битов, или произвольные двоичные данные (на пример зашифрованные пароли), а параметры типа REG_SZ — строки (естественно, в Unicode-формате), которые могут представлять такие элементы, как имена, пути, типы и имена файлов.

Таблица 1. Типы параметро в реестра(красным отмечено большинст во параметров реестра)

 

Тип параметра

 

Описание

 

 

 

 

 

 

 

REG_NONE

 

Нетипизированный параметр

 

 

 

 

 

 

 

REG_SZ

 

Unicode-строка фиксированной длины

 

 

 

 

 

 

 

 

 

Unicode-строка переменной длины; может включать

 

 

REG_EXPAND_S2

 

 

 

переменные окружения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REG_BINARY

 

Двоичные данные произвольной длины

 

 

 

 

 

 

 

REG_DWORD

 

32-битное число

 

 

 

 

 

 

 

REG_DWORD_LITTLE_ENDIAN

 

32-битное число, в котором первым является младший

 

 

 

байт; эквивалентно REG_DWORD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REG_DWORD_BIG_ ENDIAN

 

32-битное число, в котором первым является старший

 

 

 

 

 

 

 

 

 

 

 

 

REG_LINK

 

Символьная ссылка в формате Unicode

 

 

 

 

 

 

 

REG_MULTI_SZ

 

Массив Unicode-строк с завершающим нулем

 

 

 

 

 

 

 

REG_RESOURCE_LIST

 

Описание аппаратного ресурса

 

 

 

 

 

 

 

 

 

Only fo r UIB groups from Dobrynin I.S.

6

REG_FULL_RESOURCE_DESCRI PTOR

Описание аппаратного ресурса

REG_RESOURCE_REQUIREMENTS_LIS

Список требований к ресурсам

T

 

 

 

REG_QWORD

 

64-битное число

REG_QWORD_LITTLE_ENDIAN

64-битное число, в котором первым является младший

байт; эквивалентно REG_QWOR D

 

 

 

 

 

 

 

 

 

 

 

REG_QWORD_BIG_ENDIAN

64-битное число, в котором первым является

старший байт

 

 

 

 

 

 

 

 

 

 

 

Описание основных типов параметров реестра представлено ниже.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Only fo r UIB groups from Dobrynin I.S.

7

ЛОГИЧЕСКАЯСТРУКТУРАРЕЕСТРА

Вы можете проследить схему организации реестра через данные, которые в нем хранятся. Существует пять корневых разделов (добавлять или удалять корневые разделы нельзя), описанных в таблице2.

Таблица 2. Корневые разделы реестра

Корневой раздел

 

Описание

 

 

 

 

 

HKEY_CURRENT_USER

Содержит данные, сопоставленные

с пользователем,

который вошел в систему на данный момент

 

 

 

 

 

HKEY_USERS

Хранит

информацию обо всех

учетных записях на

компьютере

 

 

 

 

 

 

 

 

 

 

HKEY_CLASSES_ROOT

Хранит

сопоставления файлов

и

регистрационную

информацию СОМ-объектов

 

 

 

 

 

 

 

HKEY_LOCAL_MACHINE

Содержит информацию, специфичную для системы

 

 

 

Включает некоторые сведения о текущем профиле

HKEY_CURRENT_CONFIG

оборудования

 

 

 

 

 

 

 

Windows интенсивно использует ссылки в реестре: три из шести корневых разделов реестра представляют собой ссылки на подразделы трех корневых разделов, которые ссылками не являются. Ссылки не записываются на диск, а создаются динамически при

каждой загрузке системы.

Почему имена корневых разделов начинаются с буквы «Н»? Дело в том, что имена корневых разделов представляют Windows-описатели (Handles) разделов (KEY). HKLM является аббревиатурой HKEY_LOCAL_MACHINE. В таблице 3 приводится список всех корневых разделов и их аббревиатур.

Only for UIB groups from Dobrynin I.S.

8

Таблица 3. Предназначение корневых разделов реестра

Корневой раздел

С

окращение

Описание

 

Ссылка

 

 

 

Ссылается

на

про филь

На

подраздел в

HKEY_CURRENT_ USER

 

HKCU

пользователя,

вошедшего

в

HKEY_USERS,

 

систему

 

 

 

 

соответствующий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

текущему

 

 

 

 

 

 

 

 

 

 

 

Содержит подразделы для

Не

является

HKEY_USERS

 

HKU

всех загруженных

профилей

ссылкой

 

 

 

пользователей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Содержит

сведения

о

HKLM\SOFTWARE\

HKEY_ CLASSES _ROOT

 

HKCR

сопоставлениях

файлов

и

Classes

 

регистрационную

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

информацию СОМ-объект ов

 

 

 

 

HKEY_LOCAL_ MACHINE

 

HKLM

Контейнер,

содержа щий

Не

является

 

другие разделы

 

 

 

ссылкой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HKEY_CURRENT _CONFIG

 

HKCC

Текущий

 

про филь

HKLM\SYSTEM\

 

оборудования

 

 

 

 

CurrentControlSet

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Only fo r UIB groups from Dobrynin I.S.

9

HKEY_CURRENT_USER

Корневой раздел HKCU содержит данные о предпочтениях и конфигурации программного обеспечения для локально зарегистрированного пользователя. Этот раздел ссылается на профиль текущего пользователя, находящийся на жестком диске в файле \Documents and Settings\<имя_пользователя>\ Ntuser.dat. При каждой загрузке профиля пользователя (например, при регистрации в системе или при выполнении сервисного процесса в увязке с именем какого-либо пользователя) HKCU создается как ссылка на подраздел соответствующего пользователя в HKEY_USERS. Некоторые подразделы HKCU перечислены в таблице 4.

Таблица 4. Подразделы в HKEY_CURRENT_USER

Подраздел

Описание

 

 

AppEvents

Сопоставления звуковых сигналов с событиями

 

 

Console

Параметры окна командной строки (ширина, высота, цвет и т. д.)

 

 

 

Текущая экранная заставка, оформление рабочего стола, параметры

Control Panel

клавиатуры и мыши, настройки специальных возможностей, а также

 

язык и региональные стандарты

Environment

Определения переменных окружения

Keyboard Layout

Раскладки клавиатуры

Network

Имена и параметры подключенных сетевых дисков

Printers

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

Software

Настройки программ, специфичные для пользователя

 

 

Программные группы

Группы главного меню, специфичные для пользователя

Информация о

Данные о состоянии файлов для систем, обновляемых с Windows Зх до

переходе с Windows

Windows 2000 и выше

3.1

 

 

 

HKEY_USERS

HKU содержит подраздел для каждого загруженного профиля пользователя, регистрационную базу данных классов и подраздел HKU\.DEFAULT, связанный с профилем для системы (этот профиль предназначен для процессов, выполняемых под локальной системной учетной записью). Данный профиль используется Winlogon, например, чтобы изменения в параметрах фона рабочего стола были реализованы на экране входа. Если пользователь входит в систему в первый раз и если его учетная запись не зависит от доменного профиля роуминга (т. е. профиль пользователя извлекается из централизованного хранилища в сети по указанию контроллера домена), система создает профиль для его учетной записи на основе профиля, хранящегося в каталоге C:\Documents and Set-tings\Default User.

Каталог, где система хранит профили, определяется параметром реестра HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfilesDirectory, который

Only for UIB groups from Dobrynin I.S.

10

по умолчанию устанавливается в %SystemDrive%\Documents and Settings. Раздел ProfileList также хранит список профилей, имеющихся в системе. Информация по каждому профилю помещается в подраздел, имя которого отражает SID учетной записи, соответствующей данному профилю. Информация в разделе профиля включает время последней загрузки этого профиля (параметры ProfileLoadTimeLow и ProfileLoadTimeHigh), двоичное представление SID учетной записи (параметр Sid) и путь к кусту профиля на диске в каталоге ProfilelmagePath. Windows и Windows Server 2003 показывают список профилей в диалоговом окне управления профилями пользователей, которое представлено на рисунке. Чтобы открыть это окно, запустите апплет System (Система) из Control Panel (Панель управления), перейдите на вкладку Advanced (Дополнительно) и в разделе User Profiles (Профили пользователей) щелкните кнопку Settings (Параметры).

HKEY_CLASSES_ROOT

HKCR включает информацию двух типов: сопоставления расширений файлов и регистрационные данные СОМ-классов. Для каждого зарегистрированного типа файлов существует свой раздел. Большинство разделов содержит параметры типа REG_SZ, ссылающиеся на другие разделы HKCR, где находится информация о сопоставлениях классов файлов. Например, HKCR\.xls ссылается на сведения о файлах Microsoft Excel в разделе HKCU\Excel.Sheet.8 (последняя цифра указывает на версию Microsoft Excel). Другие разделы содержат детальную информацию о конфигурации СОМ-объектов, зарегистрированных в системе.

Раздел HKEY_CLASSES_ROOT формируется на основе:

специфичных для конкретного пользователя регистрационных данных классов в HKCU\SOFTWARE\Classes (хранятся в \Documents and Settings\<имя_пользователя>\Local Setings\Application Data\Microsoft\Windows\Usrclass.dat);

Only for UIB groups from Dobrynin I.S.

Соседние файлы в папке 10 Реестр