Читаем без скачивания Недокументированные и малоизвестные возможности Windows XP - Роман Клименко
Шрифт:
Интервал:
Закладка:
■ ErrorControl — параметр DWORD-типа, определяет поведение системы при возникновении ошибок в работе службы и может принимать такие значения:
• 0 — игнорировать ошибку;
• 1 — предупреждать пользователя об ошибке;
• 2 — перезагрузить компьютер.
■ ImagePath — этот параметр строкового типа определяет путь к файлу службы, который и будет запускаться системой. В оснастке services.msc параметр определяет содержимое поля Исполняемый файл диалога Свойства для соответствующей службы (это поле позволяет лишь просмотреть путь к файлу службы, но не отредактировать его).
■ Start — параметр DWORD-типа, определяет момент загрузки системы, в который будет запущена данная служба. Он может принимать следующие значения:
• 0 — служба будет запускаться загрузчиком операционной системы перед началом этапа инициализации ядра;
• 1 — данная служба будет запускаться при инициализации ядра (подсистемой ввода/вывода);
• 2 — служба будет запускаться диспетчером сервисов (smss.exe) при входе пользователя в систему;
• 3 — данная служба запускается вручную в тот момент, когда она понадобится какой-нибудь программе;
• 4 — служба не будет запускаться никогда.
■ Type — этот параметр DWORD-типа указывает на то, к какому типу относится служба, и может принимать следующие значения:
• 1 — служба определяет устройства уровня ядра;
• 2 — служба определяет драйвер файловой системы;
• 4 — служба является аргументом для адаптера;
• 8 — служба относится к службам файловой системы;
• 10 — служба является программой, запускающей свой процесс;
• 20 — служба является программой, запускающей общий процесс;
• 100 — если данная битовая маска присутствует в параметре Туре, то система будет разрешать соответствующей службе взаимодействие с Рабочим столом (иначе служба не сможет вывести диалоговое окно, окно сообщения или свое окно).
Для примера попробуем зарегистрировать в системе свою собственную службу. Для этого достаточно только создать свой раздел в ветви HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices, а в этом разделе создать такие параметры, как ImagePath, DisplayName, Description, Group. Результат можно видеть на рис. 8.1.
Рис. 8.1. Создание своей службы
Потенциально опасные ветви и параметры реестра
Данным разделом заканчивается знакомство с реестром Windows XP и параметрами, которые в нем могут находиться, поэтому сейчас хотелось бы перечислить некоторые из ветвей реестра и параметров, которые если еще не используются, то скоро могут быть использованы вирусами, троянскими конями или просто различными программами-шутками для своей работы. В этом разделе будут также перечислены некоторые ветви реестра, создание или удаление которых может вызвать проблемы в работе операционной системы.
■ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlMiniNT — раздел не предназначен для операционной системы Windows XP, поэтому если он будет присутствовать в системе, то при каждой загрузке система будет выводить сообщение о нехватке размера файла подкачки pagefile.sys и создавать новый файл.
■ HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerDesktopNameSpace{e17d4fc0-5564-11d1-83f2-00a0c90dc849} — об этом разделе уже упоминалось — если он окажется удаленным, то диалоговое окно Поиск работать не будет.
■ HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerDesktopNameSpace{1f4de370-d627-11d1-ba4f-00a0c91eedba} — это еще один раздел, без которого не будет работать диалоговое окно Поиск.
■ HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon — эта ветвь реестра может включать в себя множество параметров, за содержимым которых необходимо следить. Например, к ним можно отнести следующие параметры строкового типа.
• System — определяет программы, которые будут запускаться с правами системы процессом WINLOGON.EXE при инициализации. Программы пишутся через запятую, то есть параметр может содержать вызов сразу нескольких программ. По умолчанию он ничему не равен.
• Userinit — указывает программы, которые будут запускаться с правами пользователя при его регистрации процессом WINLOGON.EXE. Программы пишутся через запятую, это опять-таки означает, что в данной ветви могут находиться сразу несколько вызовов программ. По умолчанию значение данного параметра равно %systemroot%system32userinit.exe.
• VmApplet — определяет программы, которые будут запускаться для настройки параметров виртуальной памяти процессом WINLOGON.EXE. Программы пишутся через запятую. По умолчанию значение данного параметра равно rundll32 shell32, Control_RunDLL "sysdm.cpl".
• Shell — указывает файлы оболочки, которые будут запускаться при входе пользователя. Он как раз и определяет, что вы используете стандартную оболочку Windows explorer.exe — именно эта строка является значением параметра Shell по умолчанию. Но если вы измените значение этого параметра, например, на explorer.exe, notepad.exe, то наряду с оболочкой Windows при вашем входе в систему будет запускаться и Блокнот. Этот параметр может находиться как в корневом разделе HKEY_CURRENT_USER, так и в разделе HKEY_LOCAL_MACHINE.
• GinaDLL — определяет путь к библиотеке msgina.dll, которая запускается вместе с системой по умолчанию и необходима для взаимодействия с оболочкой Windows. Если изменить значение этого параметра на вызов какой-нибудь программы, а не библиотеки, то при инициализации процесса WINLOGON.EXE будет выдано сообщение об ошибке и вы не сможете войти в систему.
■ HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionWindows — может содержать несколько потенциально опасных параметров, среди которых можно выделить следующие параметры строкового типа.
• Run — определяет программы, которые будут запускаться с правами пользователя при его входе. Как и рассмотренные выше параметры, он может вызывать сразу несколько программ — в этом случае они пишутся через запятую. Параметр может находиться как в корневом разделе реестра HKEY_CURRENT_USER, так и в корневом разделе HKEY_LOCAL_MACHINE.
• Load — указывает программы, которые будут запускаться с правами системы при входе любого пользователя. Как и рассмотренные выше параметры, он может вызывать сразу несколько программ — в этом случае они пишутся через запятую.
• AppInit_DLLs — определяет библиотеки, необходимые для совместимости с каким-нибудь оборудованием или программой. Все описанные в данном параметре библиотеки будут запускаться перед запуском любой программы.
■ HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects — определяет все CLSID-номера ActiveX-объектов (в виде разделов, названных в честь CLSID-номера ActiveX-объекта), которые будут запускаться при каждом запуске браузера Internet Explorer.
■ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager — содержит REG_MULTI_SZ-параметр BootExecute, его значением являются команды, которые будут запускаться при каждой перезагрузке компьютера. Он используется системой для запуска таких системных программ работы с дисками, как автопроверка диска (значение этого параметра autocheck autochk *) или преобразование файловой системы диска FAT в NTFS (значение данного параметра autoconv DosDevicex: /FS:NTFS).
■ HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImage File Execution Options — используется для возможности определения программ, при выполнении которых происходит утечка памяти. Но можно воспользоваться этой ветвью и для других целей. Например, если создать в ней раздел explorer.exe, а в нем создать DWORD-параметр ShutdownFlags и присвоить ему значение 3, то после выгрузки оболочки Windows существует вероятность, хотя и малая, что вы не сможете ее загрузить. Система может не дать вам этого сделать. Но даже если вы и сможете загрузить оболочку, то, скорее всего, увеличится количество ошибок неправильной адресации к памяти, выдаваемых различными программами.
■ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSafeBootoption — определяет, в каком режиме будет загружаться операционная система — обычном или безопасном. Именно поэтому возможна такая шутка — создайте в этой ветви реестра DWORD-параметр OptionValue и присвойте ему значение, равное 1. Теперь вы всегда будете загружаться в режиме, в чем-то подобном безопасному, — будет загружаться лишь минимальный набор сервисов, но драйверы устройств, таких как видеокарта, будут использоваться обычные, устанавливаемые вместе с устройством (а не стандартные, как при полноценном безопасном режиме). При этом, даже если вы являетесь администратором компьютера, вам будет запрещено запускать такие службы, как, например, Windows Audio, которые нельзя запускать в безопасном режиме. Раздел option создается только в безопасном режиме.
■ HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints«значок диск» и HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2«значок диск» — хранят настройки контекстного меню, значков дисков, а также описание файла autorun.inf, применявшегося ранее для запуска содержимого компакт-диска. В практике автора книги был такой случай, когда записи данных ветвей реестра постоянно приводили к отказу в доступе к приводу DVD. Другими словами, при попытке открытия содержимого диска, установленного в приводе DVD, отображался отказ в доступе к диску. При этом проблема решалась именно удалением раздела, названного в честь буквы диска, доступк которому был отклонен (решалась до следующей попытки доступа к приводу). Поэтому, если у вас возникли подобные проблемы, просто попробуйте удалить соответствующие ветви реестра, а потом установить для них только доступ на чтение.