Добро пожаловать на независимую площадку Stop Malware.
Показано с 1 по 4 из 4

Тема: Работаем с реестром Windows.

Понравилась статья? Поделись с друзьями!
  1. #1
    Аватар для Александр
    Александр
    Александр вне форума

    Администратор
    Регистрация
    21.03.2011
    Адрес
    Казахстан
    Сообщений
    5,421
    Поблагодарил(а)
    3,531
    Благодарностей
    2,030
    Записей в дневнике
    23

    Работаем с реестром Windows.

    Реестр — это очень критичное место в операционной системе, в которой хранится практически все — настройки системы, программ, железа.

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

    Начнем.

    5-е издание словаря Microsoft Computer Dictionary содержит следующее определение реестра:

    Иерархическая централизованная база данных, используемая в ОС Microsoft Windows 98, Windows CE, Windows NT и Windows 2000 для хранения сведений, необходимых для настройки операционной системы для работы с пользователями, программными продуктами и устройствами.

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

    Системный реестр заменяет собой большинство текстовых INI-файлов, которые использовались в Windows 3.x, а также файлы конфигурации MS-DOS, такие как Autoexec.bat и Config.sys. Версии реестра для разных версий операционных систем семейства Windows имеют определенные различия.
    Реестр системы хранится в виде бинарных файлов. Редактировать реестр можно, например, запустив редактор реестра (если он не отключен администратором или вирусом). Для этого идем в меню Пуск, выполнить, набираем regedit, жмем Enter

    Работаем с реестром Windows.

    Перед нами редактор реестра. На скрине HKEY_CLASSES_ROOT, HKEY_CURRENT_USER — это кусты (или ульи — hive) реестра. Каждый куст реестра имеет свое назначение и применение.

    • HKEY_CURRENT_USER Данный раздел является корневым для данных конфигурации пользователя, вошедшего в систему в настоящий момент. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU.
    • HKEY_USERS Данный раздел содержит все активные загруженные профили пользователей компьютера. Раздел HKEY_CURRENT_USER является подразделом раздела HKEY_USERS. Вместо полного имени раздела иногда используется аббревиатура HKU.
    • HKEY_LOCAL_MACHINE Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Вместо полного имени раздела иногда используется аббревиатура HKLM.
    • HKEY_CLASSES_ROOT Является подразделом HKEY_LOCAL_MACHINE\Software. Хранящиеся здесь сведения обеспечивают выполнение необходимой программы при открытии файла с использованием проводника. Вместо полного имени раздела иногда используется аббревиатура HKCR. Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE, так и в HKEY_CURRENT_USER. Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes, переопределяют принятые по умолчанию и относятся только к текущему пользователю. Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT предоставляет эти объединенные данные программам, разработанным для более ранних версий Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes. Модификация параметров по умолчанию должна производиться в разделе HKEY_LOCAL_MACHINE\Software\Classes. Данные из разделов, добавленных в HKEY_CLASSES_ROOT, будут сохранены системой в разделе HKEY_LOCAL_MACHINE\Software\Classes. Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes, то для хранения информации будет использован раздел HKEY_CURRENT_USER\Software\Classes, а не HKEY_LOCAL_MACHINE\Software\Classes.
    • HKEY_CURRENT_CONFIG Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.

    Все вышеизложенное относится к 32-х битным (x86) операционным системам

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

    HKEY_LOCAL_MACHINE\Software\WOW6432Node

    Работаем с реестром Windows.

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

    %systemroot%\syswow64\regedit


    Реестр: что где лежит.

    Windows XP/Vista

    После установки Windows на диске в каталоге %SystemRoot%\System32\Config\ (например, C:\Windows\System32\Config\) хранятся следующие файлы:

    • system
    • software
    • sam
    • security
    • default

    (Все файлы (имена файлов) без расширений. Копия этих файлов хранится в каталоге C:\Windows\Repair\)
    Кроме того, файлы, используемые при построении «рабочей версии» реестра, могут храниться в каталогах:

    %SystemDrive%\Documents and Settings\\ — файл «Ntuser.dat»
    %SystemDrive%\Documents and Settings\\Local Settings\Application Data\Microsoft\Windows\ — файл «UsrClass.dat»

    Кроме этого, могут появляться и другие файлы реестра: userdiff (и userdiff.LOG), TempKey.LOG, и, возможно, другие.
    Можно провести некое примерное соответствие файлов и веток реестра, но оно не такое простое, полное и однозначное. Однако примерно можно сказать следующее:

    • Ветка реестра «HKEY_LOCAL_MACHINE\Software» формируется из файла «%SystemRoot%\system32\config\software».
    • Ветка реестра «HKEY_LOCAL_MACHINE\System\» формируется из файла «%SystemRoot%\system32\config\system».
    • Ветка реестра «HKEY_LOCAL_MACHINE\SAM\» формируется из файла «%SystemRoot%\system32\config\SAM».
    • Ветка реестра «HKEY_LOCAL_MACHINE\SECURITY\» формируется из файла «%SystemRoot%\system32\config\SECURITY».
    • Ветка реестра «HKEY_LOCAL_MACHINE\HARDWARE\» формируется в зависимости от оборудования(динамически).
    • Ветка реестра «HKEY_USERS\<SID_пользователя>» формируется из файлов «%USERPROFILE%\ntuser.dat»
    • Ветка реестра «HKEY_USERS\DEFAULT» формируется из файлов «%SystemRoot%\system32\config\default»

    Windows 7

    В Windows 7, согласно сведениям из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\hivelist файлы реестра хранятся в следующих местах:

    • Ветка реестра «HKEY_LOCAL_MACHINE\HARDWARE» формируется в зависимости от оборудования (динамически);
    • Ветка реестра «HKEY_LOCAL_MACHINE\BCD00000000» формируется из файла «%SystemRoot%\Boot\BCD»
    • Ветка реестра «HKEY_LOCAL_MACHINE\SYSTEM» формируется из файла «%SystemRoot%\System32\config\SYSTEM»
    • Ветка реестра «HKEY_LOCAL_MACHINE\SOFTWARE» формируется из файла «%SystemRoot%\System32\config\SOFTWARE»
    • Ветка реестра «HKEY_LOCAL_MACHINE\SECURITY» формируется из файла «%SystemRoot%\System32\config\SECURITY»
    • Ветка реестра «HKEY_LOCAL_MACHINE\SAM» формируется из файла «%SystemRoot%\System32\config\SAM»
    • Ветка реестра «HKEY_USERS\.DEFAULT» формируется из файла «%SystemRoot%\System32\config\DEFAULT»
    • Ветка реестра «HKEY_USERS\S-1-5-18» формируется из файла «%SystemRoot%\System32\config\systemprofile\NTUSER .DAT» (относится к учетной записи system)
    • Ветка реестра «HKEY_USERS\S-1-5-19» формируется из файла «%SystemRoot%\ServiceProfiles\LocalService\NTUSER. DAT» (относится к учетной записи LocalService)
    • Ветка реестра «HKEY_USERS\S-1-5-20» формируется из файла «%SystemRoot%\ServiceProfiles\NetworkService\NTUSE R.DAT» (относится к учетной записи NetworkService)
    • Ветка реестра «HKEY_USERS\<SID_пользователя>» формируется из файла «%USERPROFILE%\NTUSER.DAT»
    • Ветка реестра «HKEY_USERS\<SID_пользователя>_Classes» формируется из файла «%USERPROFILE%\AppData\Local\Microsoft\Windows\Usr Class.dat»

    Резервные копии файлов реестра DEFAULT, SAM, SECURITY, SOFTWARE и SYSTEM находятся в папке «%SystemRoot%\System32\config\RegBack». Само резервное копирование производится силами Планировщика задач в 0 ч. 00 мин. каждые 10 дней по заданию «RegIdleBackup», расположенному в иерархии задач по пути «\Microsoft\Windows\Registry».


    Работа с редактором реестра



    Взгляните на редактор реестра — он разбит на две части

    Работаем с реестром Windows.

    Левая часть (выделена синим) — это раздел реестра. Права часть (зеленая зона) редактора реестра отвечает за параметр реестра.

    Она состоит из трех полей:


    • Имя — имя параметра реестра
    • Тип — тип параметра реестра
    • Значение — значение параметра реестра
    Тип параметра реестра бывает следующим

    • REG_BINARY (Двоичный параметр) — Необработанные двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
    • REG_DWORD (Параметр DWORD) — Данные представлены в виде значения, длина которого составляет 4 байта (32-разрядное целое). Этот тип данных используется для хранения параметров драйверов устройств и служб. Значение отображается в окне редактора реестра в двоичном, шестнадцатеричном или десятичном формате. Эквивалентами типа DWORD являются DWORD_LITTLE_ENDIAN (самый младший байт хранится в памяти в первом числе) и REG_DWORD_BIG_ENDIAN (самый младший байт хранится в памяти в последнем числе).
    • REG_EXPAND_SZ (Расширяемая строка данных) — Строка данных переменной длины. Этот тип данных включает переменные, обрабатываемые при использовании данных программой или службой.
    • REG_MULTI_SZ (Многострочный параметр) — Многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами.
    • REG_SZ (Строковый параметр) — Текстовая строка фиксированной длины.
    • REG_RESOURCE_LIST (Двоичный параметр) — Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются драйвером устройства или управляемым им физическим устройством. Обнаруженные данные система сохраняет в разделе \ResourceMap. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате.
    • REG_RESOURCE_REQUIREMENTS_LIST (Двоичный параметр) — Последовательность вложенных массивов. Служит для хранения списка драйверов аппаратных ресурсов, которые могут быть использованы определенным драйвером устройства или управляемым им физическим устройством. Часть этого списка система записывает в раздел \ResourceMap. Данные определяются системой. В окне редактора реестра они отображаются в виде двоичного параметра в шестнадцатеричном формате.
    • REG_FULL_RESOURCE_DESCRIPTOR (Двоичный параметр) -Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются физическим устройством. Обнаруженные данные система сохраняет в разделе \HardwareDescription. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате.
    • REG_NONE — Данные, не имеющие определенного типа. Такие данные записываются в реестр системой или приложением. В окне редактора реестра отображаются в виде двоичного параметра в шестнадцатеричном формате.
    • REG_LINK (Ссылка) — Символическая ссылка в формате Юникод.
    • REG_QWORD (Параметр QWORD) — Данные, представленные в виде 64-разрядного целого. Начиная с Windows 2000, такие данные отображаются в окне редактора реестра в виде двоичного параметра.

    По клику правой кнопкой мыши на параметре реестра я могу переименовать/изменить/удалить параметр

    Работаем с реестром Windows.

    По клику правой кнопкой мыши в свободной области редактора реестра я могу либо создатьраздел реестра либо создать параметр реестра с нужным мне типом

    Работаем с реестром Windows.

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

    Работаем с реестром Windows.

    Дополнительно я могу экспортировать раздел реестра — сохранить содержимое раздела реестра в виде текстового файла и установить разрешения доступа к разделу реестра (по аналогии с файловой системой NTFS).

    Работаем с реестром Windows.

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

    Работаем с реестром Windows.

    Источники
    Реестр Windows
    Сведения о реестре Windows для опытных пользователей

  2. #2
    Аватар для Александр
    Александр
    Александр вне форума

    Администратор
    Регистрация
    21.03.2011
    Адрес
    Казахстан
    Сообщений
    5,421
    Поблагодарил(а)
    3,531
    Благодарностей
    2,030
    Записей в дневнике
    23
    Ранее я поверхностно касался основ реестра Windows, теперь опишу это немного подробнее. Рассмотрим логическую структуру реестра поближе.


    Как я говорил выше, реестр носит иерархическую структуру. В практической работе как правило работают с двумя кустами — куст HKEY_LOCAL_MACHINE (HKLM) и куст HKEY_CURRENT_USER(HKCU). HKLM заведует система. HKCU — это привилегии пользователя. HKEY_CLASSES_ROOT и HKEY_CURRENT_CONFIG являются всего лишь частью HKEY_LOCAL_MACHINE, а про HKEY_USERS поговорим чуть позднее.


    Работаем с реестром Windows.


    К слову, что бы не возвратятся к этому вопросу — HKEY_CLASSES_ROOT — это только ссылка на HKEY_LOCAL_MACHINE\SOFTWARE\Classes


    Дальше нам нужно запомнить три простых вещи.

    1. Кусты реестра HKLM и HKCU (и как увидим позднее, HCU) имеют аналогичные разделы и их параметры.
    2. Настройки в HKLM имеют более высокий приоритет, чем настройки в HKCU
    3. Пользователь может читать HKLM и HKCU, а записывать только в HKCU, администратор имеет полный доступ к реестру.

    Продемонстрируем это наглядно.


    Есть разделы реестра, которые ответственны за запуск программ при старте системы. Это раздел в HKLM

    Код:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    и раздел HKCU

    Код:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    Если программа прописана в любой из этих веток, она будет загружена при запуске. Разница только в том, что программа, прописная в HKLM, будет загружена под любым пользователем, тогда как HKCU отвечает только за текущего пользователя — если мы зайдем под другим пользователем — программа не загрузится, т.к. для другого пользователя будет загружен другой куст HKCU


    Продемонстрируем приоритеты на примере запрета вызова редактора реестра.

    Код:
    \Software\Microsoft\Windows\CurrentVersion\Policies\System
    DisableRegistryTools=dword:00000001
    Этот параметр запретит вызывать редактор реестра — будет показано сообщение «Редактор реестра отключен администратором». Если мы сделаем вот так (как это сделать при уже отключенном редакторе реестра — будет чуть позднее)

    Код:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
    DisableRegistryTools=dword:00000000
    То это разрешит вызывать редактор реестра и все вернется в норму. Но если мы изменим параметр в HKLM

    Код:
    HKEY_LOCAL_MACHINE/SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
    DisableRegistryTools=dword:00000001
    То мы запретим использовать редактор реестра всем пользователям, не зависимо от содержания

    Код:
    HKEY_CURRENT_USER/Software\Microsoft\Windows\CurrentVersion\Policies\System
    DisableRegistryTools
    Если будет стоять

    Код:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
    DisableRegistryTools=dword:00000000
    То разрешение/запрет использования редактора реестра будет определятся уже по аналогичному параметру в HKCU.




    Следующий интересный момент — это куст HKEY_USERS. Как говорилось выше, у пользователя фактически только два куста реестра — HKLM и HKCU.


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


    Кусты реестра всех пользователей в иерархии реестра сведены в одну — все они находятся вHKEY_USERS (HKU).


    Заглянув туда, увидим какие-то не совсем понятные S-1-xxxxxxxx


    Работаем с реестром Windows.


    Это SID (Security IDentifier, идентификатор безопасности) — еще одно понятие, к которым нужно познакомиться. Каждому пользователю присвоен свой SID. И раздел реестра HKCU есть ни что иное, как ссылка на определенный HKEY_USERS\. Будь то системный пользователь, или пользователь системы.


    Работаем с реестром Windows.


    Еще в HKU есть особый раздел реестра — HKEY_USERS\.DEFAULT. Это настройки по-умолчанию. Когда в системе создается пользователь, HKEY_USERS\.DEFAULT просто копируется в HKEY_USERS\%SID%. Редактируя HKEY_USERS\.DEFAULT, можно задавать настройки, которые будут у будущего пользователя. Немного отвлекаясь от темы топика, замечу, что при создании нового пользователя просто каталог


    Код:
    Documents andSettings\Default
    копируется в

    Код:
    Documents andSettings\%USERNAME%
    вместе со всем содержимым — куст реестра, другие файлы.


    Работа с HCU дает возможность работать с реестром другого пользователя.




    В редакторе реестра есть возможность работать с сетевым реестром. За это отвечает служба «Удаленный доступ к реестру». В домашних компьютерах данная возможность не используется, и служба должна быть отключена из соображений безопасности.


    virlab.pp.ua

  3. 2 пользователей сказали cпасибо Александр за это полезное сообщение:

    Aibolit (12.10.2011), Bern (12.10.2011)

  4. #3
    Templar вне форума

    Новичок
    Регистрация
    21.10.2011
    Сообщений
    6
    Поблагодарил(а)
    0
    Благодарностей
    0
    Хорошая статья

  5. #4
    Rustam228 вне форума

    Новичок
    Регистрация
    10.01.2012
    Сообщений
    5
    Поблагодарил(а)
    0
    Благодарностей
    1
    Спасибо, пригодилось.

 

 

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 02.10.2011, 05:05
  2. Reg Organizer 5.20: работа с реестром
    от Hallucinogen в разделе Полезные программки и утилиты!
    Ответов: 0
    Последнее сообщение: 27.05.2011, 15:51

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •