reg binary что это

Типы данных реестра

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

Поскольку реестр 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

Данные, не имеющие определенного типа. Такие данные записываются в реестр системой или приложением. В окне редактора реестра отображаются в виде двоичного параметра в шестнадцатеричном формате

Источник

Registry Value Types

A registry value can store data in various formats. When you store data under a registry value, for instance by calling the RegSetValueEx function, you can specify one of the following values to indicate the type of data being stored. When you retrieve a registry value, functions such as RegQueryValueEx use these values to indicate the type of data retrieved.

The following registry value types are defined in Winnt.h.

ValueType
REG_BINARYBinary data in any form.
REG_DWORDA 32-bit number.
REG_DWORD_LITTLE_ENDIANA 32-bit number in little-endian format. Windows is designed to run on little-endian computer architectures. Therefore, this value is defined as REG_DWORD in the Windows header files.
REG_DWORD_BIG_ENDIANA 32-bit number in big-endian format. Some UNIX systems support big-endian architectures.
REG_EXPAND_SZA null-terminated string that contains unexpanded references to environment variables (for example, «%PATH%»). It will be a Unicode or ANSI string depending on whether you use the Unicode or ANSI functions. To expand the environment variable references, use the ExpandEnvironmentStrings function.
REG_LINKA null-terminated Unicode string that contains the target path of a symbolic link that was created by calling the RegCreateKeyEx function with REG_OPTION_CREATE_LINK.
REG_MULTI_SZA sequence of null-terminated strings, terminated by an empty string (\0). The following is an example: String1\0String2\0String3\0LastString\0\0 The first \0 terminates the first string, the second to the last \0 terminates the last string, and the final \0 terminates the sequence. Note that the final terminator must be factored into the length of the string.
REG_NONENo defined value type.
REG_QWORDA 64-bit number.
REG_QWORD_LITTLE_ENDIANA 64-bit number in little-endian format. Windows is designed to run on little-endian computer architectures. Therefore, this value is defined as REG_QWORD in the Windows header files.
REG_SZA null-terminated string. This will be either a Unicode or an ANSI string, depending on whether you use the Unicode or ANSI functions.

String Values

If data has the REG_SZ, REG_MULTI_SZ, or REG_EXPAND_SZ type, the string may not have been stored with the proper terminating null characters. Therefore, when reading a string from the registry, you must ensure that the string is properly terminated before using it; otherwise, it may overwrite a buffer. (Note that REG_MULTI_SZ strings should have two terminating null characters.)

When writing a string to the registry, you must specify the length of the string, including the terminating null character (\0). A common error is to use the strlen function to determine the length of the string, but to forget that strlen returns only the number of characters in the string, not including the terminating null. Therefore, the length of the string should be calculated as follows: strlen( string ) + 1

A REG_MULTI_SZ string ends with a string of length 0. Therefore, it is not possible to include a zero-length string in the sequence. An empty sequence would be defined as follows: \0.

The following example walks a REG_MULTI_SZ string.

Byte Formats

In little-endian format, a multi-byte value is stored in memory from the lowest byte (the «little end») to the highest byte. For example, the value 0x12345678 is stored as (0x78 0x56 0x34 0x12) in little-endian format.

In big-endian format, a multi-byte value is stored in memory from the highest byte (the «big end») to the lowest byte. For example, the value 0x12345678 is stored as (0x12 0x34 0x56 0x78) in big-endian format.

Источник

reg binary что это. Смотреть фото reg binary что это. Смотреть картинку reg binary что это. Картинка про reg binary что это. Фото reg binary что этоКаково назначение основных разделов реестра Windows

reg binary что это. Смотреть фото reg binary что это. Смотреть картинку reg binary что это. Картинка про reg binary что это. Фото reg binary что это

Вступление

В данной статье будут рассмотрены основные ветки реестра 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)

Источник

Типы значений реестра

В Winnt. h определены следующие типы значений реестра.

Строковые значения

Если данные имеют тип REG _ SZ, REG _ Multi _ SZ или REG _ expand _ SZ, строка может быть не сохранена с соответствующими завершающими символами NULL. Поэтому при чтении строки из реестра необходимо убедиться, что строка должна завершиться должным образом, прежде чем использовать ее. в противном случае он может перезаписать буфер. (Обратите внимание, что REG _ НЕСКОЛЬКО _ SZ строк должны иметь два завершающих нуль символа.)

При записи строки в реестр необходимо указать длину строки, включая завершающий нуль-символ ( \ 0). Распространенная ошибка заключается в использовании функции strlen для определения длины строки, но чтобы забывать, что strlen возвращает только число символов в строке, не включая завершающее значение null. Таким образом, длина строки должна быть вычислена следующим образом: strlen( string ) + 1

Строка реестра с _ несколькими _ SZми заканчивается строкой длиной 0. Поэтому невозможно включить в последовательность строку нулевой длины. Пустая последовательность будет определена следующим образом: \ 0.

В следующем примере рассматривается строка реестра с _ несколькими _ SZми.

Форматы байтов

В формате с прямым порядком байтов значение в байтах хранится в памяти с наименьшего байта («маленький конец») до самого большого байта. Например, значение 0x12345678 хранится как (0x78 0x56 0x34 0x12) в формате с прямым порядком байтов.

В формате с обратным порядком байтов многобайтовое значение хранится в памяти из самого длинного байта («Big-конец») до наименьшего байта. Например, значение 0x12345678 сохраняется как (0x12 0x34 0x56 0x78) в формате с обратным порядком байтов.

Источник

Устройство реестра Windows 7/8/10

reg binary что это. Смотреть фото reg binary что это. Смотреть картинку reg binary что это. Картинка про reg binary что это. Фото reg binary что этоВ этом уроке мы более подробно рассмотрим устройство реестра операционной системы Windows (данная информация актуальна для XP, 7, 8, 8.1, 10).

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

Как устроен реестр Windows

Структуру реестра можно увидеть в специальной программе «Редактор реестра» (подробные инструкции по его запуску можно найти здесь).

Самый простой вариант запуска: нажмите сочетание клавиш Win+R, введите команду regedit и нажмите ОК.

Редактор реестра очень похож на проводник, а структура реестра похожа на файловую систему вашего компьютера:

— слева отображаются разделы, похожие на папки, внутри них есть подразделы (совсем как подпапки);

— справа отображаются параметры (очень похожи на файлы) и их значения.

reg binary что это. Смотреть фото reg binary что это. Смотреть картинку reg binary что это. Картинка про reg binary что это. Фото reg binary что это

Устройство реестра Windows 10

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

Реестр Windows 10, 8, 7, XP состоит из пяти стандартных разделов – корневых ключей:

Для простоты, их часто указывают в сокращенном обозначении (аббревиатура из первых букв): HKCR, HKCU, HKLM, HKU, HKCC.

Назначение разделов реестра

Разберемся с разделами реестра Windows 10 немного подробнее (если покажется сложным, переходите сразу к параметрам реестра):

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

Чтобы изучить устройство реестра, осталось познакомиться с параметрами и их значениями.

Виды параметров реестра Windows

Как мы уже знаем, разделы и подразделы содержат параметры (на английском языке — value entries). Параметры могут иметь различные значения, например: путь к файлу, название программы, различные числа и т.д.

reg binary что это. Смотреть фото reg binary что это. Смотреть картинку reg binary что это. Картинка про reg binary что это. Фото reg binary что это

Пример структуры реестра 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 – выключено.

На самом деле, видов параметров в два раза больше, но чтобы понять принципы устройства реестра, их разбирать не обязательно (но если желание появилось, обязательно напишите в комментариях!)

Внешний вид различных параметров

Вот как отображаются все перечисленные параметры в редакторе реестра:

reg binary что это. Смотреть фото reg binary что это. Смотреть картинку reg binary что это. Картинка про reg binary что это. Фото reg binary что это

Виды параметров реестра в Windows 10 и 8 (пример)

То есть, все виды строковых параметров обозначаются значком с буквами «ab», а двоичные и числовые параметры обозначаются значком с цифрами «0011».

Ух ты, кажется, мы рассмотрели всё, что нужно!

Заключение

Итак, в этом уроке мы разобрались с устройством реестра Windows 10/8/7/XP.

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

Жду ваших отзывов и вопросов в комментариях!

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

P.S. Минутка юмора

А вот что бывает, если не изучать IT-уроки 🙂

Копирование запрещено, но можно делиться ссылками:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *