Файлы реестра Windows
От: Feral  
Дата: 04.12.03 06:43
Оценка:
Приведите, пожалуйста, пример, как читать файлы реестра напрямую.
т.е. они ведь лежат в каталоге config в Windows, и regedit.exe их как-то читает, только вот как информация в них представленна?
Re: Файлы реестра Windows
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 04.12.03 06:51
Оценка:
Здравствуйте, Feral, Вы писали:

F>Приведите, пожалуйста, пример, как читать файлы реестра напрямую.

F>т.е. они ведь лежат в каталоге config в Windows, и regedit.exe их как-то читает, только вот как информация в них представленна?

Гх-м-м... а чем стандартный API не устраивает?
- Искренне ваш, Поросенок Пафнутий
Re: Файлы реестра Windows
От: Valerio Россия linkedin.com/in/boronin
Дата: 04.12.03 07:02
Оценка: 5 (1)
Здравствуйте, Feral, Вы писали:

F>Приведите, пожалуйста, пример, как читать файлы реестра напрямую.

F>т.е. они ведь лежат в каталоге config в Windows, и regedit.exe их как-то читает, только вот как информация в них представленна?
здесь
... << RSDN@Home 1.1.0 stable >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[2]: Файлы реестра Windows
От: Аноним  
Дата: 04.12.03 07:06
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, Feral, Вы писали:


F>>Приведите, пожалуйста, пример, как читать файлы реестра напрямую.

F>>т.е. они ведь лежат в каталоге config в Windows, и regedit.exe их как-то читает, только вот как информация в них представленна?

SDB>Гх-м-м... а чем стандартный API не устраивает?


Тем что когда Windows не запущен, а информацию из реестра прочитать надо, ничего не выйдет.
Re[3]: Файлы реестра Windows
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 04.12.03 07:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, SchweinDeBurg, Вы писали:


SDB>>Здравствуйте, Feral, Вы писали:


F>>>Приведите, пожалуйста, пример, как читать файлы реестра напрямую.

F>>>т.е. они ведь лежат в каталоге config в Windows, и regedit.exe их как-то читает, только вот как информация в них представленна?

SDB>>Гх-м-м... а чем стандартный API не устраивает?


А>Тем что когда Windows не запущен, а информацию из реестра прочитать надо, ничего не выйдет.


Понятно.
- Искренне ваш, Поросенок Пафнутий
Re: Всем спасибо!
От: Аноним  
Дата: 04.12.03 07:09
Оценка:
Кажется это то, что нужно.
Re[3]: Файлы реестра Windows
От: vasketsov Россия http://ntprog.by.ru
Дата: 04.12.03 18:24
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Тем что когда Windows не запущен, а информацию из реестра прочитать надо, ничего не выйдет.


Неправда ваша.

Можно загрузить hive и читать как ни в чем не бывало. API имеется.
Васкецов Сергей
http://registry.km.ru
Re: Файлы реестра Windows
От: vasketsov Россия http://ntprog.by.ru
Дата: 04.12.03 18:25
Оценка:
Здравствуйте, Feral, Вы писали:

F> и regedit.exe их как-то читает,


regedit их не читает. реестр — это не файлы.
Васкецов Сергей
http://registry.km.ru
Re[2]: Файлы реестра Windows
От: kliff Россия http://www.esignal.ru
Дата: 05.12.03 17:15
Оценка:
Здравствуйте, vasketsov, Вы писали:

V>Здравствуйте, Feral, Вы писали:


F>> и regedit.exe их как-то читает,


V>regedit их не читает. реестр — это не файлы.


в общем говоря, это довольно спорный вопрос.
Re[3]: Файлы реестра Windows
От: vasketsov Россия http://ntprog.by.ru
Дата: 05.12.03 17:22
Оценка: 1 (1)
Здравствуйте, kliff, Вы писали:

K>в общем говоря, это довольно спорный вопрос.


Глупости, это. Одно только, что не все в реестре берется из файлов, уже свидетельствует, что спорить тут нечего.
Васкецов Сергей
http://registry.km.ru
Re[4]: Файлы реестра Windows
От: fiatik  
Дата: 05.12.03 19:29
Оценка:
Здравствуйте, vasketsov, Вы писали:

V>Глупости, это. Одно только, что не все в реестре берется из файлов, уже свидетельствует, что спорить тут нечего.


хм
а что, реестр что-то из биоса получает?
или ты имеешь в виду, что не все ульи лежат в специальных файлах?
не ради спора, просто любопытно
Re[2]: Файлы реестра Windows
От: zz-sergant Россия https://bitbucket.org/zzsergant/hgsccpackage/wiki/Home
Дата: 05.12.03 20:49
Оценка: 4 (1)
Здравствуйте, vasketsov, Вы писали:

F>> и regedit.exe их как-то читает,

V>regedit их не читает. реестр — это не файлы.

Реестр состоит из нескольких улей (hives). Где отдельные улья предстовляют собой файлы. Хотя, часть реестра существует только виртуально.
По сути, структура файла улья это заголовок (обычно 4 kb) и набор так называемых bin-ов (блоков, на которые расширяется улей при увеличении объема, их размер кратен 4 кб, размер страницы памяти). Bin-ы объеденены в список, т.е. в заголовке bin-a содержат смещение на следующий bin. Внутри bin-ов содержится набор блоков памяти свободных или занятых, так называемых cells. В каждом cell, в первых 4 байтах содержится размер ячейки, после которого идут данные ячейки. Если размер положительный, ячейка свободна, отрицательный — занята.

Это физическая структура. С точки зрения логики, ячейки содержат ключи (key nodes) и значения (key values).
Ключи содержат в себе, количество подключей, и смещение на хэш таблицу подключей (которая состоит из набора хэш записей. Каждая запись это хэш по имени подключа и смещение на данные самого ключа), количество значений и смещение на хэш таблицу значений ключа (аналогично хэш таблице ключей, только для значений), смещение на ключ родитель, длину имени и имя ключа, плюс дескриптор прав доступа. Структура значения содержит тип (DWORD, BINARY, STRING и т.п.), смещение на данные значения, длину имени и имя значения. Заголовок hive'a содержит смещение на корневой ключ. Все смещения отсчитываются от первого bin'a.

В общем, проще всего посмотреть исходиники редакторов реестра, в которых описаны структуры всего вышеперечисленного здесь и здесь,а также статью Марка Русиновича про реестр NT здесь
-- team zz
Re[3]: Файлы реестра Windows
От: vasketsov Россия http://ntprog.by.ru
Дата: 06.12.03 17:47
Оценка:
Здравствуйте, zz-sergant, Вы писали:

ZS>Реестр состоит из нескольких улей (hives).

Это он только виден так.

ZS>Где отдельные улья предстовляют собой файлы.

Нет. HKCU — не отдельный файл, а только ссылка. HKCR — тоже.
HKPD и прочая ерунда про производительность — вообще просто "реестроподобное API", исключительно для возможности удаленного доступа.
Итак, есть файлы, которые не становятся корневыми разделами реестра, но загружаются в реестр (HKLM\Software). Есть корневые разделы, не являющиеся файлами (примеры я привел).
Собственно, "отдельные улья представляют собой файлы" — для NT это верно разве что для HKU.
Все это можно увидеть в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.


ZS>Хотя, часть реестра существует только виртуально.

Точнее, часть данных реестра строится при загрузке, так как бессмысленно ее хранить постоянно, либо это связано с техническим решением поддержки нескольких версий настроек/оборудования (Last known good и все такое прочее).

Чтение файлов реестра не может в общем случае быть равносильно чтению реестра даже в том плане, что увидишь в реестре, так как можно загрузить в реестр в качестве hive принесенный с работы файл ...
Васкецов Сергей
http://registry.km.ru
Re[4]: Файлы реестра Windows
От: vasketsov Россия http://ntprog.by.ru
Дата: 06.12.03 22:17
Оценка:
Здравствуйте, vasketsov, Вы писали:


V>для NT это верно разве что для HKU.

Да, совсем заработался...
Вообще ни один корневой раздел файлу не соответствует.
Васкецов Сергей
http://registry.km.ru
Re[4]: Файлы реестра Windows
От: zz-sergant Россия https://bitbucket.org/zzsergant/hgsccpackage/wiki/Home
Дата: 07.12.03 21:03
Оценка:
Здравствуйте, vasketsov, Вы писали:

ZS>>Где отдельные улья предстовляют собой файлы.

V>Нет. HKCU — не отдельный файл, а только ссылка. HKCR — тоже.
V>HKPD и прочая ерунда про производительность — вообще просто "реестроподобное API", исключительно для возможности удаленного доступа.
V>Итак, есть файлы, которые не становятся корневыми разделами реестра, но загружаются в реестр (HKLM\Software). Есть корневые разделы, не являющиеся файлами (примеры я привел).
V>Собственно, "отдельные улья представляют собой файлы" — для NT это верно разве что для HKU.
V>Все это можно увидеть в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.

Это все так. Просто нет необходимости объяснять все тонкости организации реестра в одном сообщении.
Я просто дал информацию для затравки и ссылку на статью, которая поясняет это в деталях
-- team zz
Re[5]: Файлы реестра Windows
От: Valerio Россия linkedin.com/in/boronin
Дата: 08.12.03 06:06
Оценка:
ZS>Это все так. Просто нет необходимости объяснять все тонкости организации реестра в одном сообщении.
ZS>Я просто дал информацию для затравки и ссылку на статью, которая поясняет это в деталях
уже вот здесь
Автор: Valerio
Дата: 04.12.03
все для затравки было дано, причем по-русски

однако Ваши ссылки выше вероятно лишними не будут
... << RSDN@Home 1.1.0 stable >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[5]: Файлы реестра Windows
От: Аноним  
Дата: 08.12.03 06:21
Оценка:
Здравствуйте, fiatik, Вы писали:

F>Здравствуйте, vasketsov, Вы писали:


V>>Глупости, это. Одно только, что не все в реестре берется из файлов, уже свидетельствует, что спорить тут нечего.


F>хм

F>а что, реестр что-то из биоса получает?
F>или ты имеешь в виду, что не все ульи лежат в специальных файлах?
F> не ради спора, просто любопытно

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