АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Краткие теоретические сведения. 1. Конструкция реестра Windows и методы доступа

Читайте также:
  1. I. Сведения о заявителе
  2. III. ИСТОРИКО-ЛИТЕРАТУРНЫЕ И ТЕОРЕТИЧЕСКИЕ ПОНЯТИЯ
  3. WWW и Интернет. Основные сведения об интернете. Сервисы интернета.
  4. А) Теоретические основы термической деаэрации
  5. А. Общие сведения
  6. А. Общие сведения
  7. А. Общие сведения
  8. А. Общие сведения
  9. А. Общие сведения
  10. Вещества атомного строения. Основные сведения о стороении атома. Атомное ядро.
  11. ВНИМАНИЕ: вводимые в данном окне сведения, общие на всю семью. Вводить и корректировать сведения в данной карточке необходимо крайне аккуратно.
  12. Вопрос №19 Экономическая система: сущность, элементы, теоретические концепции.

1. Конструкция реестра Windows и методы доступа. Реестр, или системный реестр, – это база данных для хранения сведений о конфигурации компьютера и настроек операционной системы [6]. Реестр содержит данные, к которым Windows постоянно обращается во время загрузки, работы и её завершения, а именно:

- профили всех пользователей, то есть их настройки;

- конфигурация оборудования, установленного в операционной системе;

- данные об установленных программах и типах документов, создаваемых каждой программой;

- свойства папок и значков программ;

- данные об используемых портах.

Реестр имеет иерархическую древовидную структуру, состоящую из разделов, подразделов и ключей (параметров). Для работы с реестром используется простая и понятная утилита Regedit, команда reg, программа regedt32, а так же reg-файлы.

Разделы и подразделы - это, грубо говоря, папки в левом окне regedit'а.

Ключ реестра или параметр - это некая переменная, которой присвоено определённое значение, проще говоря - это то, что мы видим в правом окне regedit'а.

Куст (основной раздел, стандартный раздел, в английской документации - улей, от англ. "hive") - это раздел реестра, отображаемый как файл на жестком диске. Куст является набором разделов, подчиненных разделов и параметров и имеет корни на верхнем уровне иерархии реестра. По умолчанию большинство файлов кустов (Default, SAM, Security и System) сохраняются в папке %SystemRoot%\System32\Config.

Папка %SystemRoot%\Profiles содержит профили (настройки) для каждого пользователя компьютера. Поскольку куст представляет собой файл, его можно перемещать из одной системы в другую. Для редактирования этого файла необходимо использовать редактор реестра. Важное замечание: Windows XP в отличие от своих предшественниц не имеет ограничения по размеру реестра.

Реестр Windows XP состоит из нижеперечисленных основных разделов.

HKEY_CLASSES_ROOT. Это ссылка на раздел HKEY_LOCAL_MACHINE\ Software\Classes. Хранящиеся здесь сведения обеспечивают запуск необходимой программы при открытии файла с помощью проводника. Этот раздел содержит связи между приложениями и типами файлов.

HKEY_CURRENT_USER. Это ссылка на определённый подраздел HKEY_USERS. Настройки соответствуют текущему, активному пользователю, выполнившему вход в систему.

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

HKEY_USERS. Этот раздел содержит настройки для всех пользователей компьютера.

HKEY_CURRENT_CONFIG. Это ссылка на HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\HardwareProfiles\Current. Раздел содержит сведения о настройках оборудования, используемом локальным компьютером при запуске системы, т.е. содержит информацию о текущей конфигурации [6].

Вышеуказанные основные стандартные разделы Вы не сможете удалить или переименовать. Некоторые разделы реестра являются энергозависимыми и не хранятся в каком-либо файле. Операционная система создает и управляет этими разделами полностью в памяти, поэтому они являются временными по своей природе. Система создает энергозависимые разделы каждый раз при начальной загрузке. Например, HKEY_LOCAL_MACHINE\HARDWARE - раздел реестра, который хранит информацию по физическим устройствам и назначенным им ресурсам. Назначение ресурса и аппаратное обнаружение происходят каждый раз при загрузке системы, поэтому логично, что эти данные не записываются на диск. Сердце системного реестра - это раздел HKEY_LOCAL_MACHINE\SYSTEM. Наибольший интерес для нас представляют ветви HKEY_CURRENT USER и HKEY_LOCAL_MACHINE, именно там хранятся настройки, изменения которых способно облагородить нашу операционную систему. Часто для обозначения основных разделов реестра пользуются сокращениями:

HKEY_CLASSES_ROOT – HKCR;

HKEY_CURRENT_USER – HKCU;

HKEY_LOCAL_MACHINE – HKLM;

HKEY_USERS – HKU;

HKEY_CURRENT_CONFIG – HKCC.

Раздел HKEY_USERS содержит все активные загруженные параметры пользователя. Он имеет не менее трёх ключей:

- подраздел DEFAULT, где хранится используемая конфигурация, когда ни один из пользователей ещё не вошёл в компьютер. То есть, мы ещё видим приглашение на вход в систему;

- дополнительный подраздел, который имеет имя в соответствии с security ID текущего пользователя. Идентификатор безопасности (SID, security ID) - структура данных переменной длины, которая идентифицирует пользователя, группу или компьютер. Каждая учётная запись в сети имеет уникальный SID. Внутренние процессы в Windows обращаются к SID для получения учётной записи пользователя или имени группы. Этот подключ реестра содержит конфигурацию текущего пользователя. Если пользователь вошёл удалённо, данные для конфигурации пользователя сохраняются в системном реестре местного компьютера. Данные из HKEY_USERS\%SID% также появляются в HKCU;

- дополнительный подраздел, который имеет имя в соответствии с SID текущего пользователя с суффиксом Classes. Этот раздел содержит классы текущего пользователя. Данные в HKEY_USERS\%SID%_Classes также содержатся в HKCR [6].

В Windows XP конфигурация пользователя по умолчанию (default user profile) не хранится в системном реестре. Она находится на системном диске в файле \Documents and Settings\Default User\Ntuser.dat. Отметим, и это важно, что куст HKCU является ссылкой, на определённый подраздел куста HKEY_USERS. Это значит, что все изменения в разделах, подразделах и ключах куста HKCU автоматически тут же отображаются в определённом подразделе HKEY_USERS соответствующем активному пользователю. То есть пользователю, выполнившему процедуру входа. В каком же именно разделе HKEY_USERS проводятся изменения? Для этого Вы должны узнать свой SID. Тогда искомый раздел будет именоваться, например, так: HKEY_USERS\S-1-5-21-117609710-1606980848-839522115-500. Где цифровая часть, вместе с буквой "S", и есть SID.

 

2. Типы данных реестра. Реестр Windows использует для хранения информации следующие типы данных:

1) REG_BINARY – двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.

2) REG_DWORD – целые числа размером в 4 байта. Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах.

3) REG_EXPAND_SZ – строка данных переменной длины.

4) REG_MULTI_SZ – многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами.

5) REG_SZ – Текстовая строка фиксированной длины.

6) REG_FULL_RESOURCE_DESCRIPTOR Последовательность вложенных массивов, разработанная для хранения списка ресурсов железа или драйверов.

 

3. Хранение реестра.Элементы реестра хранятся в виде атомарной структуры. Реестр разделяется на составные части, называемые ульями (hives), или кустами. Ульи хранятся на диске в виде файлов. Некоторые ульи, такие, как HKLM\HARDWARE, не сохраняются в файлах, а создаются при каждой загрузке, то есть являются изменяемыми. При запуске системы реестр собирается из ульев в единую древовидную структуру с корневыми разделами. Перечислим ульи реестра и их местоположение на диске (для NT старше версии 4.0).

HKLM\SYSTEM – %SystemRoot%\system32\config\system

HKLM\SAM – %SystemRoot%\system32\config\SAM

HKLM\SECURITY – %SystemRoot%\system32\config\SECURITY

HKLM\SOFTWARE – %SystemRoot%\system32\config\software

HKLM\HARDWARE – изменяемый улей

HKLM\SYSTEM\Clone – изменяемый улей

HKU\<SID_пользователя> – %USERPROFILE%\ntuser.dat

HKU\<SID пользователя>Classes – %USERPROFILE%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat

HKU\.DEFAULT – %SystemRoot%\system32\config\default

 

4. Безопасность реестра. Для установления разрешений на доступ к реестру используется оснастка «Администрирование». Запретить редактирование реестра программой regedit можно так же добавив в разделе HKCU\SOFTWARE\Microsoft\Windows\CurrentVerson\Policies\System ключ DisableRegistryTools:dword = 0х00000001. Запуск редактора реестра будет запрещен, однако останется возможность вносить изменения с помощью программного обеспечения сторонних разработчиков и с помощью REG-файла.

Для установки разрешений на доступ к определённым разделам реестра используется программа regedt32. Здесь можно назначать разрешения (рис. 1) на доступ конкретным пользователям подобно назначению разрешений на доступ к папке (рис. 2).

Рис. 1. Назначение разрешений

Для вызова окна настроек выберите пункт «Разрешения» из меню. В данном окне можно будет выбрать конкретного пользователя и назначить ему конкретные права на доступ к конкретному ключу реестра.

Для работы с реестром через командную строку используется команда reg (рис. 3).

Данная команда используется только с дополнительными параметрами. Например, REG QUERY позволяет вывести список параметров с их значениями для указанного ключа. REG ADD позволяет добавить ключ или параметр и т.п. Использование данной команды можно прочитать во встроенной справке [6].

 

Рис. 2. Установка прав доступа к реестру отдельным пользователям

 

Рис. 3. Использование команды REG

5. Средства программиста для доступа к реестру.Доступ к реестру может быть так же осуществлён с использованием библиотек среды Delphi. Для работы с реестром в Delphi предназначен класс TRegistry [7]. Для получения в программе доступа к свойствам и методам этого класса следует в разделе uses указать модуль Registry.

Экземпляр объекта TRegistry создаётся и удаляется с помощью методов Create и Free. Для указания текущего корневого раздела используется свойство RootKey типа HKEY. По умолчанию RootKey имеет значение HKEY_CURRENT_USER.

Для определения текущего ключа используют свойство CurrentKey или CurrentPath типа String.

Методы OpenKey и CloseKey выполняют отображение в память ключа и выгрузку его из памяти.

Чтение и запись параметров, например, строковых выполняется функциями ReadString и WriteString.

Используя методы и свойства класса TRegistry можно управлять реестром Windows.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)