Reg binary что это
Устройство реестра Windows 7/8/10
В этом уроке мы более подробно рассмотрим устройство реестра операционной системы Windows (данная информация актуальна для XP, 7, 8, 8.1, 10).
Если вы хотите узнать, что такое системный реестр, можете начать с предыдущего урока, в нём я всё подробно рассказал, вот ссылка. Если же вам уже знакомы основы, то приглашаю погрузиться в глубины реестра ОС Windows.
Как устроен реестр Windows
Структуру реестра можно увидеть в специальной программе «Редактор реестра» (подробные инструкции по его запуску можно найти здесь).
Самый простой вариант запуска: нажмите сочетание клавиш Win+R, введите команду regedit и нажмите ОК.
Редактор реестра очень похож на проводник, а структура реестра похожа на файловую систему вашего компьютера:
— слева отображаются разделы, похожие на папки, внутри них есть подразделы (совсем как подпапки);
— справа отображаются параметры (очень похожи на файлы) и их значения.
Устройство реестра Windows 10
Разделы реестра Windows
Реестр Windows 10, 8, 7, XP состоит из пяти стандартных разделов – корневых ключей:
Для простоты, их часто указывают в сокращенном обозначении (аббревиатура из первых букв): HKCR, HKCU, HKLM, HKU, HKCC.
Назначение разделов реестра
Разберемся с разделами реестра Windows 10 немного подробнее (если покажется сложным, переходите сразу к параметрам реестра):
Поздравляю, мы уже разобрались с половиной урока, и вы знаете о пяти корневых разделах реестра!
Чтобы изучить устройство реестра, осталось познакомиться с параметрами и их значениями.
Виды параметров реестра Windows
Как мы уже знаем, разделы и подразделы содержат параметры (на английском языке — value entries). Параметры могут иметь различные значения, например: путь к файлу, название программы, различные числа и т.д.
Пример структуры реестра Windows 10
Параметры реестра делятся на три основных типа (и несколько разновидностей):
Подробнее о параметрах реестра
Попробую кратко описать отличия параметров реестра:
Параметр | Описание |
---|---|
Строковый параметр REG_SZ | Содержит строку текста, например, путь к файлу или папке («C:\Windows»). |
Расширенный строковый параметр REG_EXPAND_SZ | Может содержать специальные переменные, например, вместо «C:\Windows» можно указать %systemroot% (фактически, это будет тот же путь, но мы можем использовать его, если не знаем заранее, куда установлена ОС). |
Многострочный параметр REG_MULTI_SZ | Может содержать более одной строки, удобно, если нужно внести целый список. |
Двоичный параметр REG_BINARY | Набор двоичных данных, которые отображаются в шестнадцатеричном формате (например, 10 82 A0 8F). Используется для хранения информации об оборудовании. |
Параметр DWORD REG_DWORD | Это целое число, которое может быть в двоичном, десятичном или шестнадцатеричном виде (например, 0x00000020 (32) — в скобках указано десятичное значение ключа). Длина числа – 4 байта (32 бита). Часто этот параметр работает как переключатель: 1 – включено, 0 – выключено. |
На самом деле, видов параметров в два раза больше, но чтобы понять принципы устройства реестра, их разбирать не обязательно (но если желание появилось, обязательно напишите в комментариях!)
Внешний вид различных параметров
Вот как отображаются все перечисленные параметры в редакторе реестра:
Виды параметров реестра в Windows 10 и 8 (пример)
То есть, все виды строковых параметров обозначаются значком с буквами «ab», а двоичные и числовые параметры обозначаются значком с цифрами «0011».
Ух ты, кажется, мы рассмотрели всё, что нужно!
Заключение
Итак, в этом уроке мы разобрались с устройством реестра Windows 10/8/7/XP.
Давайте повторим: реестр состоит из пяти разделов, которые могут содержать подразделы (как папки в проводнике). В разделах и подразделах находятся параметры (строковые и числовые). Изменяя значения параметров, мы можем изменять настройки операционной системы, программ и пользователя.
Жду ваших отзывов и вопросов в комментариях!
В следующем уроке мы узнаем, где хранится реестр на жестком диске. Подписывайтесь на новости, делитесь с друзьями в социальных сетях.
P.S. Минутка юмора
А вот что бывает, если не изучать IT-уроки 🙂
Копирование запрещено, но можно делиться ссылками:
Каково назначение основных разделов реестра Windows
Вступление
В данной статье будут рассмотрены основные ветки реестра Windows, а также их назначение. Список корневых разделов можно увидеть ниже:
Типы данных в реестре
В реестре могут храниться данные семи типов:
При добавлении параметров в реестр нужно обязательно использовать тот тип данных, который указан в источнике, откуда взята информация о необходимости добавить параметр. Если тип данных не будет соответствовать тому, который ожидает найти приложение в указанном месте, то последствия могут быть непредсказуемыми.
HKEY_LOCAL_MACHINE (HKLM)
HKLM\Hardware
В разделе HKLM\Hardware хранится информация об устройствах, обнаруженных в компьютере. Все параметры этого раздела хранятся не на жестком диске, а в оперативной памяти. Когда компьютер распознает запуск устройства, он нумерует найденное устройство, исследуя шину и отдельные классы устройств (например, порты или клавиатуру). В этом разделе имеются три основных подраздела:
Могут быть и дополнительные подразделы, в зависимости от конфигурации компьютера. Например, компьютеры с поддержкой интерфейса управления питанием (ACPI), будут иметь подраздел ACPI, содержащий информацию о конкретных возможностях ACPI на этом компьютере.
HKLM\SAM
В разделе HKLM\SAM хранятся локальные учетные записи или группы, созданные на компьютере. Раздел скрыт.
HKLM\Security
В разделе HKLM\Security содержится всевозможная информация, относящаяся к защите. Формат не документирован. Используется для кэширования верительных данных для входа в систему, настроек политики и разделяемых секретных данных сервера. Подраздел Security\SAM содержит копию большинства данных из HKLM\SAM
HKLM\Software
HKLM\System\CurrentControlSet
Последним действием фазы загрузки Windows является обновление реестра, которое должно зафиксировать набор служб и управляющих настроек, применявшийся при последней успешной загрузке. CurrentControlSet всегда указывает на набор управляющих настроек, используемых системой в текущий момент. В HKLM\System есть много подразделов ControlSetXXX, каждый из которых описывает набор управляющих настроек, существовавших в какой-либо момент времени, независимо от того, была ли загрузка успешной или нет. CurrentControlSet является указателем на последний набор управляющих настроек, при котором загрузка была успешной. Поскольку трудно определить сразу, какая из загрузок была успешной, то операционная система и приложения пользуются указателем CurrentControlSet.
В разделе, описывающем набор управляющих настроек, среди прочих, имеются четыре следующих раздела:
HKEY_USERS (HKU)
HKEY_CURRENT_CONFIG (HKCC)
HKEY_CURRENT_USER (HKCU)
Раздел HKEY_CURRENT_USER (HKCU) указывает на профиль текущего пользователя (вошедшего в данный момент в систему) внутри HKU. Microsoft требует, чтобы приложения хранили все предпочтения пользователей в подразделах под HKCU. Например, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint содержит личные настройки пользователей программы Paint.
HKEY_CLASSES_ROOT (HKCR)
Типы данных реестра
Как уже говорилось ранее, в реестре хранится громадное количество информации, включающее профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах.
Поскольку реестр Microsoft Windows представляет собой сложную реляционную базу данных, вся информация, которая может храниться в конечных информационных контейнерах этой базы (параметрах), должна быть строго классифицирована. Классификация хранящихся в параметрах значений производится по типу данных, представляющих это значение. Всего насчитывается 11 таких типов
Раздел и подраздел могут содержать 0, 1 или несколько параметров, параметр по умолчанию, а также 0 или несколько подразделов. Каждый параметр имеет имя, тип и значение.
Три части параметра реестра всегда располагаются в определенном порядке: Имя, Тип данных, значение (например: [RegistrySizeLimit] [REG_DWORD] [0x8000000]).
В таблице, которая будет приведена ниже, содержится список типов данных, определенных и используемых Windows на сегодняшний день.
Максимальная длина имени параметра:
Значения большого размера (больше 2048 байт) хранятся во внешних файлах, а в реестр заносится имя такого файла. Это способствует повышению эффективности использования реестра.
Максимальный размер параметра:
Ниже приводится назначение этих параметров.
REG_BINARY
Необработанные двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
REG_DWORD
Данные, представленные целым числом (4 байта, 32 бита). Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах. Эквивалентами типа DWORD являются DWORD_LITTLE_ENDIAN (самый младший байт хранится в памяти в первом числе) и REG_DWORD_BIG_ENDIAN (самый младший байт хранится в памяти в последнем числе).
REG_EXPAND_SZ
Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения.
REG_MULTI_SZ
Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют именно этот тип данных. Записи разделяются пробелами, запятыми или другими символами.
REG_SZ
Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных. Имеет фиксированную длину.
REG_LINK
Символическая ссылка в формате Юникод.
REG_FULL_RESOURCE_DESCRIPTOR
Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются физическим устройством. Обнаруженные данные система сохраняет в разделе \HardwareDescription. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате
REG_RESOURCE_LIST
Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются драйвером устройства или управляемым им физическим устройством. Обнаруженные данные система сохраняет в разделе \ResourceMap. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате
REG_RESOURCE_REQUIREMENTS_LIST
Последовательность вложенных массивов. Служит для хранения списка драйверов аппаратных ресурсов, которые могут быть использованы определенным драйвером устройства или управляемым им физическим устройством. Часть этого списка система записывает в раздел \ResourceMap. Данные определяются системой. В окне редактора реестра они отображаются в виде двоичного параметра в шестнадцатеричном формате
REG_QWORD
Данные, представленные в виде 64-разрядного целого. Начиная с Windows 2000, такие данные отображаются в окне редактора реестра в виде двоичного параметра
REG_NONE
Данные, не имеющие определенного типа. Такие данные записываются в реестр системой или приложением. В окне редактора реестра отображаются в виде двоичного параметра в шестнадцатеричном формате
Эта статья предназначена для продвинутых пользователей, администраторов и ИТ-специалистов.
Импорт регистрационных записей (.reg) файлов является особенностью Regedit.exe и не поддерживается Regedt32.exe. Вы можете использовать Regedit.exe для внесения некоторых изменений в реестр на Windows NT 4.0 или Windows 2000 основе компьютера, но некоторые изменения требуют Regedt32.exe. Например, нельзя добавлять или изменять REG_EXPAND_SZ или REG_MULTI_SZ значения с помощью Regedit.exe на windows NT 4.0 или windows 2000-компьютер. Regedt32.exe является основным редактором реестра для Windows NT 4.0 и Windows 2000. Если необходимо использовать Regedt32.exe, вы не можете использовать файлы регистрационных записей (.reg) для изменения реестра. Для получения дополнительной информации о различиях между Regedit.exe и Regedt32.exe, нажмите следующий номер статьи, чтобы просмотреть статью в базе знаний Microsoft:
141377 Различия между Regedit.exe и Regedt32.exe
Содержание
Аннотация
Внимание! В этом разделе, описании способа или задачи содержатся сведения об изменении реестра. Но неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому такие действия следует выполнять очень внимательно. Чтобы обеспечить дополнительную защиту, создайте резервную копию реестра перед его изменением. Это позволит восстановить реестр при возникновении неполадок. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
Знакомство с реестром Windows
Реестр Windows (Windows Registry) – это центральная база данных настроек и параметров во всех операционных системах семейства Windows (начиная с Windows 3.1). В нем хранится вся информация об аппаратных средствах, операционной системе и установленных в ней приложениях, а также пользовательские данные и настройки. По аналогии с человеческой анатомией я бы назвал реестр центральной нервной системой компьютера, ведь от настроек реестра напрямую зависит поведение системы в той или иной ситуации.
Реестр не является единым целым, а представляет из себя составную структуру, динамически формирующуюся из различных данных следующим образом:
Этот объект и является тем самым реестром, с которым взаимодействует операционная система и который видим мы.
Основные файлы, отвечающие за формирование реестра
Хранятся они в папке %SystemRoot%\System32\Config\ (обычно это C:\Windows\System32\Config\) и в зависимости от версии ОС их состав может несколько различаться.
Также файлы, отвечающие за пользовательские настройки, могут храниться в C:\Documents and Settings\%Username%\ (Ntuser.dat) и в C:\Documents and Settings\%Username%\Local Settings\Application Data\Microsoft\Windows\ (UsrClass.dat).
Еще есть резервные копии файлов реестра, созданные системой, в зависимости от ОС они хранятся в:
C:\Windows\repair — для XP и Server 2003;
C:\Windows\System32\config\RegBack — для Windows 7 \Server 2008 и более новых.
По умолчанию операционная система делает резервные копии этих файлов раз в 10 дней с помощью планировщика задач.
Взаимодействие реестра с операционной системой
• При запуске компьютера распознаватель аппаратных средств (hardware recognizer) помещает в реестр список обнаруженных им устройств. Обычно распознавание аппаратных средств осуществляется программой Ntdetect.com и ядром операционной системы Ntoskrnl.exe
• При старте системы ядро системы извлекает из реестра сведения о загружаемых драйверах устройств и порядке их загрузки. Кроме того, программа Ntoskrnl.exe передает в реестр информацию о себе (напр. номер версии).
• В процессе загрузки системы драйверы устройств обмениваются с реестром параметрами загрузки и конфигурационными данными. Драйвер устройства сообщает об используемых им системных ресурсах, включая аппаратные прерывания (IRQ) и каналы доступа к памяти (DMA), чтобы система могла включить эти данные в реестр. Кстати, реестр позволяет создавать несколько аппаратных профилей. Аппаратный профиль (hardware profile) представляет собой набор инструкций, с помощью которого можно указать операционной системе, драйверы каких устройств должны загружаться при запуске компьютера. По умолчанию системой создается стандартный аппаратный профиль, который содержит информацию обо всех аппаратных средствах, обнаруженных на компьютере.
• При входе пользователя в систему загружаются пользовательские профили (user profiles). Вся информация, относящаяся к конкретному имени пользователя и связанными с ним правами хранится в реестре. Пользовательский профиль определяет индивидуальные параметры настройки системы (разрешение дисплея, параметры сетевых соединений, подключенные устройства и многое другое). Информация о пользовательских профилях также хранится в реестре.
• При установке приложений. Каждый раз при запуске программы установки происходит добавление в реестр новых конфигурационных данных. Начиная свою работу, все программы установки должны считывать информацию из реестра, чтобы определить, присутствуют ли в системе необходимые им компоненты. Кроме того, системный реестр позволяет приложениям совместно использовать конфигурационную информацию, что предоставляет им больше возможностей для взаимодействия. Приложение должно активно и правильно использовать реестр, а также иметь возможность корректного удаления, не затрагивая при этом компонентов, которые могут использоваться другими программами (библиотеки, программные модули и т. п.). Эта информация тоже хранится в реестре.
• При администрировании системы. Когда пользователь вносит изменения в конфигурацию системы с помощью средств администрирования системы (напр. утилиты Панели управления или оснастки MMC), все изменения сразу отражаются в системном реестре. По сути средства администрирования представляют собой наиболее удобные и безопасные средства модификации реестра. Кстати, к средствам администрирования можно отнести и редактор реестра (regedit.exe), ведь все изменения в систему можно вносить непосредственно правкой реестра.
Структура реестра
Реестр имеет древовидную структуру и состоит из 5 основных разделов, их еще называют ветвями реестра (Registry hives):
HKEY_LOCAL_MACHINE (HKLM) — самый большой раздел реестра. В нем сосредоточены все основные настройки операционной системы, а также аппаратного и программного обеспечения компьютера. Информация, содержащаяся в этом разделе, применяется ко всем пользователям, регистрирующимся в системе.
HKEY_ CLASSES_ ROOT (HKCR) — содержит ассоциации между приложениями и типами файлов (по расширениям файлов). Кроме того, в этом разделе находится информация о зарегистрированных типах файлов и объектах COM и ActiveX. Кроме HKEY_ CLASSES_ ROOT эти сведения хранятся также в разделах HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER. Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes, переопределяют принятые по умолчанию и относятся только к текущему пользователю. Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников.
HKEY_USERS( HKU) — содержит настройки среды для каждого из загруженных пользовательских профилей, а также для профиля по умолчанию. В HKEY_USERS находится вложенный раздел \Default, а также другие подразделы, определяемые идентификатором безопасности (Security ID, SID) каждого пользователя
HKEY_CURRENT_ CONFIG (HKCC) — cодержит настройки для текущего аппаратного профиля. Текущий аппаратный профиль включает в себя наборы изменений, внесенных в стандартную конфигурацию устройств, заданную в подразделах Software и System корневого раздела HKEY LOCAL_MACHINE. В HKEY_CURRENT_CONFIG отражаются только изменения. Кроме того, информация этого раздела находится в HKEY_LOCAL_MACHINE\System \CurrentControlSet\HardwareProfiles\Current
Данные в реестре хранятся в виде параметров, расположенных в ключах реестра. Каждый параметр характеризуется именем, типом данных и значением.
Основные типы данных, применяемые в реестре
REG_DWORD — 32-х разрядное число. Этот тип данных используют многие параметры драйверов устройств и сервисов. Редакторы реестра могут отображать эти данные в двоичном, шестнадцатеричном и десятичном формате
REG_SZ — Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных
REG_EXPAND_SZ — Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения, например, используется для записи переменных окружения
REGJMULTI_SZ — Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют этот тип данных. Строки разделены символом NULL
REG_BINARY — Двоичные данные. Большинство аппаратных компонентов используют информацию, которая хранится в виде двоичных данных. Редакторы реестра отображают эту информацию в шестнадцатеричном формате
REG_RESOURCE_LIST — Список аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE
Также иногда можно встретить такие типы данных реестра:
REG_RESOUECE_ REQUIREMENTS_LIST — Список необходимых аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE
REG_FULL_RESOURCE_ DESCRIPTOR — Дескриптор (описатель) аппаратного ресурса. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE
REG_LINK — Символическая ссылка Unicode. Этот тип данных интересен тем, что позволяет одному элементу реестра ссылаться на другой ключ или параметр.
REG_QWORD — 64-х разрядное число.
REG_DWORD_ LITTLE_ENDIAN — 32-разрядное число в формате «остроконечников» (little-endian), эквивалент REG_DWORD
REG_DWORD_BIG_ ENDIAN — 32-разрядное число в формате «тупоконечников» (big-endian)
REG_QWORD_LITTLE_ ENDIAN — 64-разрядное число в формате «остроконечников». Эквивалент REG_QWORD
REG_NONE — Параметр не имеет определенного типа данных