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?
|