Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Операционные системы »   Windows NT/2K/XP »   Реестр - только навигация.
RSS
Реклама: В интернет-бутике сошли с ума - ferre. Ferre со скидкой.

Реестр - только навигация.

Собираем инфу, строим map для реестра, кусты рулють!

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: wsxПечать
 
semiono
Долгожитель форума

semiono
Откуда: Арзамас
Всего сообщений: 383
Рейтинг пользователя: 2





Дата регистрации на форуме:
2 сен. 2006
Реестр является частью исполняемого кода приложений Windows доступного для чтения из Regedit.
Regedit целесообразно использовать для установки и настройки выполнения програм.
Для этого предпочтительно иметь карту реестра в Regedit, чтобы можно было иметь лёгкую навигацию
внутри кустов реестра. Я попробую здесь дать некоторое описание этого, но продолжить которое
следует Вам.
Все типы данных в файле с расширением reg можно создать используя инструкцию
hex(x):, где x - любое 0x00 число начиная с нуля и помните, что REG_DWORD_LITTLE_ENDIAN
не должен быть более 32 бит, а REG_QDWORD более 64 и т.п.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Windows Registry Editor Version 5.00

/ Следующие разделы имеют отношение к выполняемым действиям проводника доступным из контекстного
/ меню мышки.
HKEY_CLASSES_ROOT\*
/ контекст для файлов
HKEY_CLASSES_ROOT\Folder
/ конекст для папок
HKEY_CLASSES_ROOT\Directory
/ почему их два, трудно сказать :)
HKEY_CLASSES_ROOT\Drive
/ для дисков
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}
/ Мой компьютер - значёк на столе.

/ Здесь имеет место пользовательские настройки для оболочки.
HKEY_CURRENT_USER\Console
/ Настройки консоли CMD - цвет, шрифт, позиция на экране. Для Far только позиция и шрифт.
HKEY_CURRENT_USER\Control Panel
/ Настройки оболочки - цвет, размер, шрифты, реакция ответов мыши и клавиатуры...
HKEY_CURRENT_USER\Environment
/ Часть окружения PATH для пользователя
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
/ Здесь находятся личные данные пользователя имя компьютера и собственно автоrun оболочки,
например, Explorer.exe

/ Далее следуют ещё прочие настройки проводника.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies
/ здесь находятся главные регулирующие ключи влияющие на всю оболочку в том числе и меню пуск
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies
/ это вторая часть этой полицейской политики, или может быть первая :)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
/ это место для запуска программ пользователя
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
/ это место для запуска программ компьютера, очень удобно для автозапуска вирусов.

/ Всё это более менее не так уж важно и интересно, однако есть другие хорошие разделы
/ Продолжим!...
HKEY_CURRENT_USER\Software
HKEY_LOCAL_MACHINE\SOFTWARE
/ несмотря на то, что названия разделов указывают на явное их использование, производители
/ софта размещают настройки своих программ в них на своё усмотрение, впрочем это не важно.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
/ я не совсем уверен, надо ли регистрировать здесь библиотеки, которые находятся в пути.
/ А если библиотека зарегистрированна как %SystemRoot%\TEMP\, то это уже совсем наглость
/ и с этим надо бороться :). Adobe любит этот ключ )
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
/ здесь надо регить свои приложения и удалять чужие, чтобы запускались из меню Run,
/ я очень люблю этот ключ!
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
/ offtop: может не в тему, но вот ещё один очень интересный ключ касающийся работы Windows,
/ в нём можно запретить автозапуск CHCKDSK и не менее интересный его подключ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
/ в нём можно запретить PageFile и даже его переименовать :)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
/ здесь же рядом видим библиотеки, возможно являющиеся частью ядра, хотя HALL.DLL
/ я тут не видел :)
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
/ Ну и чтоб покончить с windows ещё пару разделов - здесь смонтированны все диски,
которые видимы из проводника... для мазохизма их можно монтировать тут.
HKEY_LOCAL_MACHINE\SYSTEM\LastKnownGoodRecovery
/ тут собирается всякий мусор - откаты, надо удалять.
HKEY_LOCAL_MACHINE\SYSTEM\Select
/ Здесь можно видеть какой из HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00# сейчас
текущий, и вообщем-то испоьзовать как-то это :)
/ Кстати, в Windows XP HKEY_CLASSES_ROOT это уже более чем прямое отображение
/ ссылки HKEY_LOCAL_MACHINE\SOFTWARE\Classes, но я пока этого не ощутитил,
/ просто в любом случае он более удобен, с него и начнём.
HKEY_CLASSES_ROOT\CLSID
/ Он уже встречался Нам в начале обсуждения и далее будет тоже интересен.
HKEY_CLASSES_ROOT\Filter
/ Здесь регистрируются различные аудио кодеки, причём здесь они обычно ссылаются на
/ одноимённый CLSID, поэтому для самостоятельной установки или изменения кодека этих
/ записей достаточно, однако часто бывает нужен ещё один CLSID в котором отображается
/ Property Page - страница в GUI

/ В общем случае установка аудио плагина Waves выглядит как:

[HKEY_CLASSES_ROOT\Filter\{3A4B9C20-C211-11CF-8A58-0800099D420E}]
"Process"="Native"
"UniqueID"=dword:53544153
/ это место похоже для инициализации и легализации плагина.

[HKEY_CLASSES_ROOT\CLSID\{3A4B9C20-C211-11CF-8A58-0800099D420E}]
@="[AudioTrack Stereo]"
"Merit"=dword:00200000
/ Здесь можно редактировать имя плагина отображаемое в хосте

[HKEY_CLASSES_ROOT\CLSID\{3A4B9C20-C211-11CF-8A58-0800099D420E}\InprocServer32]
@="C:\\Waves\\AudioTrack.dll"
"ThreadingModel"="Both"
/ Мне бы очень хотелось понимать, что значит "InprocServer32" в теории?
....
[HKEY_CLASSES_ROOT\CLSID\{3A4B9C20-C211-11CF-8A58-0800099D420E}\Pins\In\\
Types\{73647561-0000-0010-8000-00AA00389B71}\{00000000-0000-0000-0000-000000000000}]
....
[HKEY_CLASSES_ROOT\CLSID\{3A4B9C20-C211-11CF-8A58-0800099D420E}\Pins\Out\\
Types\{73647561-0000-0010-8000-00AA00389B71}\{00000000-0000-0000-0000-000000000000}]
/ Очень интересные ключи, потому что встречаются довольно часто причём без изменений...
/ Я бы хотел знать больше о них.

[HKEY_CLASSES_ROOT\CLSID\{F6FCEB81-D75B-11CF-8A58-0800099D420E}\InprocServer32]
@="C:\\Waves\\AudioTrack.dll"
"ThreadingModel"="Both"
/ А это собственно Property Page, CLSID которой заметте отличается, что осложняет его поиск.
/ Мне было бы интересным узнать, что ещё обозначает "ThreadingModel", "Apartment" и прочее.

/ Ещё так же я встретил два характерных ключа
HKEY_CLASSES_ROOT\Interface
/ С загадочными ссылками ProxyStubClsid, ProxyStubClsid32, впрочем загадка лишь в их
/ названиях...
HKEY_CLASSES_ROOT\TypeLib
/ Вообщем вот такая часть архитектуры толи win32 толи DirectX...
/ Хотелось бы знать, что я тут пропустил, как это ещё используется и где почитать
/ об этом не погружаясь с головой в VisualC++
/ :)

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Windows Registry Editor Version 5.00

/ А вот самые продвинутые места в реестре!
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
/ На самом деле я лишь интересующийся и если это будет возможным Мы вместе продолжим
/ исследование этого раздела и его полезных возможностей.
/ Все знания в этом тексте любой может продолжать, развивать, изменять и использовать в
/ любых некомерческих целях по своему усмотрению под свою ответственность на свой страх и риск :)
/ et.c.

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Patch]
"ImagePath"=hex(2):53,00~
...
/ Ну здесь понятно он регистрирует свою службу "Services", которая связана с драйвером
/ в System32\DRIVERS\zzzz.sys, и как мне кажется "services" - это и есть основная точка
/ инициализации всяких подобных девайсов.
/ offtop: Вы также можете удалить не нужные Вам службы из \CurrentControlSet\Services

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Patch\Enum]
"0"="Root\\SYSTEM\\0032"
/ Здесь же он вызывает другой ключ из ещё одного замечательного раздела Enum!

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\SYSTEM\0032]
"Driver"="{4D36E97D-E325-11CE-BFC1-08002BE10318}\\0020"
...
/ в котором есть линк встречающийся в
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\\
{d50f1fe3-64e1-4ce7-aac3-410dc6b98b2d}\##?#ROOT#SYSTEM#0032#{d50f1fe3-64e1-4ce7-aac3-410dc6b98b2d}]
"DeviceInstance"="Root\\SYSTEM\\0032"
/ здесь я уже затрудняюсь сказать кто кого вызывает :)

/ Вдобавок присутствует ещё один странный девайс, начинающийся здесь
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Unknown\Patch\081]
"Driver"="{4D36E97D-E325-11CE-BFC1-08002BE10318}\\0021"
...
/ В итоге имеем ещё два принадлежащих ключа
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\\
{5c69eefe-3c1e-44ef-8501-f475f902fca7}\##?#Unknown#Patch#081#{5c69eefe-3c1e-44ef-8501-f475f902fca7}]
/ и
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\\
{d50f1fe3-64e1-4ce7-aac3-410dc6b98b2d}\##?#ROOT#SYSTEM#0032#{d50f1fe3-64e1-4ce7-aac3-410dc6b98b2d}]
/ с не очень понятными константами "DeviceInstance" и "SymbolicLink"

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase
/ этого не было прежде, однако это явная ветка PnP устройств
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}
/ это то что видно из DeviceManager /SystemDevices или весь
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class
/ здесь не всё видно в DeviceManager, поэтому можно предположить, что не всё и работает :)
/ либо информация для консоли берётся из INF~
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName
/ =)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SW
/ Здесь похоже рулится звуковая карта или звук и midi windows...
/ Вообще в Enum есть все важные девайсы ACPI, DISPLAY, FDC, SCSI, однако не ясно вся картина зависимостей
/ других ключей с этими...

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls
/ Навсякий случай тут codepage бывает, ...патч "1252"="c_1251.nls"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
/ А тут временная зона
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
/ Настройки и драйверы клавиатуры.
/ и очень много медиа ключей, похоже что звук всётаки больше здесь локализирован!
/ Всё что медиа - это #звук# :)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaCategories
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaInterfaces
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaProperties
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaResources

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot
/ судя по названиям это защищённый режим, однако воздействовать на него
/ дело неперспективное, так как Microsoft всегда всё запутает, что другим не разобрать.
/ Я думаю мой бравый тон, помогает Вам воспринимать написанное тут, признаюсь эту
/ манеру я позаимствовал у многих крутых программистов в интернете :)
/ Однако контент пытался написать своей головой, что наверное тоже заметно :)

Цель написания этого текста упростить навигацию по реестру, но не показать готовые настройки.
Ибо типичное поведение пользователя установить какой либо патч и потом забыть где это было.
Но для меня более важным является установка программ и драйверов с помощью reg-файлов.

---
a peoples must know what is cost an opium for the race?
semiono
Долгожитель форума

semiono
Откуда: Арзамас
Всего сообщений: 383
Рейтинг пользователя: 2





Дата регистрации на форуме:
2 сен. 2006
Хотелось бы немного систематизировать знания в отношении
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
И ещё я люблю делать инсталлеры для программ, но когда приложение бывает зависимым от пути, то уже невозможно это установить в другую папку без предварительного редактирования. Как бы это можно было автоматизировать, хоть бы с помощью ява скрипт, и желательно чтоб эти временные скрипты удалялись затем? Я даже в InnoSetup вроде не нашёл, как выбрать путь в ходе инсталяции, чтоб это не противоречило предопределённым ссылкам на реестр...

---
a peoples must know what is cost an opium for the race?
semiono
Долгожитель форума

semiono
Откуда: Арзамас
Всего сообщений: 383
Рейтинг пользователя: 2





Дата регистрации на форуме:
2 сен. 2006
Вот ещё нашёл некоторые связи библиотек с приложениями...

Windows XP Apps Depends List:

AntiVir 6.32.0.50
mfc42.dll 6.2.4131.0
psapi.dll 5.1.2600.2180

CDRoller 6.40.4.0
msacm32.dll 5.1.2600.2180

MiniHost 1.0.0.0
msacm32.dll 5.1.2600.2180

Nero 7.2.3.2 (lite)
mfc71.dll 7.10.3077.0
msvcp71.dll 7.10.3052.4
msvcr71.dll 7.10.3077.0

Outpost 3.5.462.6330
mfc42.dll 6.2.4131.0

Power MP3 WMA Converter 3.4.0.0
wmasf.dll 11.0.5721.5145
wmvcore.dll 11.0.5721.5145

RegSnap 5.6.0.1896
mfc42.dll 6.2.4131.0

VirtualDub 1.6.15.0
avifil32.dll 5.2.3790.1433
msacm32.dll 5.1.2600.2180
msvfw32.dll 5.2.3790.1433

VMware 5.5.0.18463
msvcp71.dll 7.10.3052.4
msvcr71.dll 7.10.3077.0

VPlayer 1.0.0.0
HHCtrl.ocx 5.2.3790.1194

XMPlay 3.3.0.5
in_la.dll for Winamp
in_mpc.dll for Winamp
msacm32.dll 5.1.2600.2180
msvcp71.dll 7.10.3052.4
msvcr71.dll 7.10.3077.0
wmasf.dll 11.0.5721.5145
wmvcore.dll 11.0.5721.5145

ZPlayer 5.0.0.0
devenum.dll 6.5.3790.1433
dsound.dll 5.3.3790.1433
ksuser.dll 5.3.3790.1433
qasf.dll 11.0.5721.5145
qdvd.dll 6.5.3790.1433
quartz.dll 6.5.3790.1433
wmasf.dll 11.0.5721.5145
wmadmod.dll 11.0.5721.5145
wmvcore.dll 11.0.5721.5145
wmvdecod.dll 11.0.5721.5145

Предлагаю продолжить :)

А вот самое важное из SideBySide
WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
WinSxS\x86_policy.6.0.Microsoft.Windows.Common-Controls_6595b64144ccf1df_x-ww_5ddad775
WinSxS\86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9.Manifest

остальное можно немножко удалить :biggrin

---
a peoples must know what is cost an opium for the race?
semiono
Долгожитель форума

semiono
Откуда: Арзамас
Всего сообщений: 383
Рейтинг пользователя: 2





Дата регистрации на форуме:
2 сен. 2006
Причём в некоторых особо тяжких случаях программа не ищет библиотеки в установленной директории, пример тому - http://sourceforge.net/projects/console/
зависит от msvcp71.dll, msvcr71.dll
но так же и от msxml3.dll, msxml3r.dll
которые напрочь не хочет читать кроме как только из system32
---
некоторые библиотеки и фильтры регистрируются в реестре, напр. quartz.dll, xvid.ax
другие должны просто быть в пути, как wmvcore.dll или xvidcore.dll, xvidvfw.dll...
---
я тут налабал избранное для реестра, можем пользовать
http://semiono.mylivepage.ru/file/258/1309_Regedit.exe

---
a peoples must know what is cost an opium for the race?
<<Назад  Вперед>>Модератор: wsxПечать
Объединенный Открытый Проект »   Операционные системы »   Windows NT/2K/XP »   Реестр - только навигация.
RSS
Быстрый переход в раздел:
Реклама: перчатки
Мы рекомендуем вебиком отзывы от клиентов


Время выполнения скрипта: 0.8392. Количество выполненных запросов: 18, время выполнения запросов 0.2769
Rambler's Top100