semiono
Долгожитель форума
 Откуда: Арзамас Всего сообщений: 383 Рейтинг пользователя: 2 Дата регистрации на форуме: 2 сен. 2006
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 26 октября 2006 23:49 Сообщение отредактировано: 27 октября 2006 0:43
Реестр является частью исполняемого кода приложений 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?
|