Секреты Windows: статьи о реестре, rundll32.exe, программах Реестр Windows Vista. Подсистемы Windows
С Новым годом!!!
Огромный тебе привет и отличного Нового Года. А в Новом Году много счастья, радости, хороших минут, всех благ и сбывшихся надежд. Надеюсь, ты найдешь под елкой чемодан с деньгами? Не бойся, никто его не терял - это подарок для тебя и только для тебя. Там же, где-то рядом, есть огромный мешок улыбок, комплиментов и любви. Это тоже для тебя. Пользуйся им почаще, но помни - такие подарки раскрывают всю свою ценность в компании верных и преданных друзей. Так что не забывай
о нас =)
Книга "Реестр Windows Vista. На 100%", Глава 6. Настройка операционной системы,
6.4. Подсистемы Windows.
В рамках операционной системы Windows реализовано несколько подсистем.
Подсистемой можно назвать исполняемый файл и набор библиотек, позволяющих запускать программы, созданные для операционной системы, которой соответствует подсистема.
Настройки подсистем
Сведения обо всех подсистемах операционной системы Windows содержатся в параметрах ветви HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems. Данная ветвь реестра содержит в себе как параметры, определяющие настройки одной подсистемы, так и параметры, доступные для всех подсистем.
Например, в данной ветви реестра могут присутствовать следующие параметры типа REG_MULTI_SZ.
optional Данный параметр определяет все необязательные подсистемы, которые могут использоваться приложениями операционной системы. По умолчанию значение данного параметра равно Posix.
Значение параметра optional можно изменить при помощи элемента ПАРАМЕТРЫ СИСТЕМЫ: НЕОБЯЗАТЕЛЬНЫЕ ПОДСИСТЕМЫ подраздела КОНФИГУРАЦИЯ КОМПЬЮТЕРА/КОНФИГУРАЦИЯ WINDOWS/ПАРАМЕТРЫ БЕЗОПАСНОСТИ/ЛОКАЛЬНЫЕ ПОЛИТИКИ/ПАРАМЕТРЫ БЕЗОПАСНОСТИ оснастки РЕДАКТОР ОБЪЕКТОВ ГРУППОВОЙ ПОЛИТИКИ.
Required Данный параметр определяет все подсистемы, которые обязательно запускаются при старте операционной системы.
По умолчанию при старте операционной системы запускаются подсистема Windows и отладочная подсистема Debug.
Debug Данный параметр имеет расширенный строковый тип. Он определяет отладочную подсистему, запускаемую при старте операционной системы и используемую для внутреннего тестирования работы Windows.
По умолчанию значение данного параметра не указано.
Другие настройки
Также некоторые настройки работы необязательных подсистем операционной системы содержатся в параметрах REG_DWORD типа ветви реестра HKLM\System\CurrentControlSet\Control\Session Manager\Kernel.
ObCaseInsensitive Если значение данного параметра равно 1, тогда регистр будет учитываться для таких объектов необязательных подсистем, как каталоги, символические ссылки, а также объекты ввода-вывода.
Значение данного параметра можно изменить при помощи элемента СИСТЕМНЫЕ ОБЪЕКТЫ: УЧИТЫВАТЬ РЕГИСТР ДЛЯ ПОДСИСТЕМ, ОТЛИЧНЫХ ОТ WINDOWS подраздела КОНФИГУРАЦИЯ КОМПЬЮТЕРА/КОНФИГУРАЦИЯ WINDOWS/ПАРАМЕТРЫ БЕЗОПАСНОСТИ/ЛОКАЛЬНЫЕ ПОЛИТИКИ/ПАРАМЕТРЫ БЕЗОПАСНОСТИ оснастки РЕДАКТОР ОБЪЕКТОВ ГРУППОВОЙ ПОЛИТИКИ.
Служба Сервер упорядочения потоков
Тип запуска: вручную.
Учетная запись: локальная служба.
Дополнительные привилегии: нет.
Файлы службы: mmcss.dll.
Исполняемый файл: svchost.exe -k LocalService.
Подраздел реестра: THREADORDER.
Службы, необходимые для работы данной: нет.
Обеспечивает упорядоченное выполнение для групп и потоков в определенный промежуток времени.
Подсистема Posix
Подсистема Posix предназначена для запуска в операционной системе Windows программ, созданных для операционных систем семейства Unix (и в дальнейшем специальным образом подготовленных для запуска в Windows). Она запускается по требованию. То есть, в тот момент, когда пользователь пытается запустить программу, работающую на основе подсистемы Posix.
Настройки подсистемы Posix содержатся в следующих параметрах строкового типа.
Posix Данный параметр определяет файл, реализующий работу подсистемы Posix. Чтобы отключить подсистему Posix, достаточно удалить или переименовать этот параметр.
Подсистема Posix реализована на основе файла psxss.exe.
Подсистема Windows
Обязательной подсистемой, которая запускается при старте операционной системы, является подсистема Windows. Данная подсистема управляет работой клавиатуры, мыши и экрана.
Подсистема Windows состоит из таких элементов, как подсистема окружения csrss.exe, драйвер режима ядра win32k.sys, библиотеки подсистемы (транслируют документированные API-функции в функции сервисов), драйверы графических устройств.
Настройка подсистемы
Файлы подсистемы Windows определяются при помощи следующих параметров расширенного строкового типа.
Kmode Определяет драйвер подсистемы Windows, который управляет работой операционной системы в режиме ядра.
Для работы в режиме ядра операционной системы используется драйвер win32k.sys.
Операционная система поддерживает два режима доступа: пользовательский (кольцо 3) и режим ядра (кольцо 0).
На программы и компоненты, работающие в пользовательском режиме, действует ряд ограничений, связанных с безопасностью операционной системы.
Например, каждая виртуальная страница памяти помечается специальным флагом, определяющим, разрешено ли выполнять запись в нее. Этот флаг учитывается только программами и компонентами, работающими в пользовательском режиме — в режиме ядра защиту данного флаг можно обойти.
Windows Определяет исполняемый файл подсистемы Windows и опции его запуска.
Подсистема Windows реализована в виде файла csrss.exe. Данный файл управляет поддержкой консольных окон, DOS-машин, а также созданием и удалением процессов и потоков. Кроме того, файл csrss.exe используется драйвером режима ядра win32k.sys для создания в нем системных потоков.
По умолчанию для ее запуска используется команда %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16.
Подраздел Session Manager
Настройки работы подсистемы Windows разбросаны по многим параметрам реестра. Например, часть из них находится в подразделе HKLM\SYSTEM\CurrentControlSet\Control\Session Manager и его дочерних разделах.
Объекты исполнительной системы
Объекты исполнительной системы можно представить в виде элементов конструктора, на основе которых подсистемой окружения создаются более сложные версии объектов и ресурсов.
К объектам исполнительной системы относятся символьные ссылки, процессы, потоки, разделы, файлы, маркеры доступа, семафоры, мьютексы, события и т.д.
Операционная система позволяет усилить или снизить уровень защиты этих объектов при помощи элемента СИСТЕМНЫЕ ОБЪЕКТЫ: УСИЛИТЬ РАЗРЕШЕНИЯ ПО УМОЛЧАНИЮ ДЛЯ ВНУТРЕННИХ СИСТЕМНЫХ ОБЪЕКТОВ (НАПРИМЕР, СИМВОЛИЧЕСКИХ ССЫЛОК) подраздела КОНФИГУРАЦИЯ КОМПЬЮТЕРА/КОНФИГУРАЦИЯ WINDOWS/ПАРАМЕТРЫ БЕЗОПАСНОСТИ/ЛОКАЛЬНЫЕ ПОЛИТИКИ/ПАРАМЕТРЫ БЕЗОПАСНОСТИ оснастки РЕДАКТОР ОБЪЕКТОВ ГРУППОВОЙ ПОЛИТИКИ.
Усиление защиты приведет к установке значения 1 параметру REG_DWORD типа ProtectionMode, расположенному в ветви реестра HKLM\System\CurrentControlSet\Control\Session Manager.
IRP
Блок, который хранит в себе все сведения об одной операции ввода-вывода, называется IRP.
При помощи параметра REG_DWORD типа LargIRPStackLocations ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\I/O System можно определить количество блоков стека, из которого состоит IRP ассоциированного списка больших IRP.
По умолчанию используется 8 блоков.
Подсистема MS-DOS
Отдельно от других подсистем описана подсистема MS-DOS. Данная подсистема реализована на основе файла ntvdm.exe и запускается при запуске первого 16-разрядного приложения. Точнее, приложения MS-DOS не могут работать без запуска образа поддержки ntvdm.exe.
Настройка подсистемы
Настройки данной подсистемы хранятся в параметрах REG_DWORD типа ветви реестра HKLM\System\CurrentControlSet\Control\WOW.
DisallowedPolicyDefault Если значение данного параметра равно 1, тогда запуск всех 16-разрядных приложений будет запрещен (а также 32-разрядных приложений с 16-разрядными установщиками или другими компонентами), а подсистема MS-DOS не будет подгружаться в память операционной системы. То есть, это повышает количество свободной ресурсов компьютера.
Также отключить подсистему MS-DOS можно при помощи параметра REG_DWORD типа VDMDisallowed, расположенного в ветви реестра Software\Policies\Microsoft\Windows\AppCompat. Если значение данного параметра равно 1, тогда запуск подсистемы MS-DOS будет запрещен.
DefaultSeparateVDM Данный параметр имеет строковый тип. Если его значение равно yes, тогда каждый процесс MS-DOS будет запускаться в отдельном процессе VDM (виртуальная DOS-машина).
Драйверы устройств
Информация о виртуальных драйверах устройств, которые используются при работе подсистемы NTVDM, хранится в параметре REG_MULTI_SZ типа VDD, ветви HKLM\System\CurrentControlSet\Control\VirtualDeviceDrivers.
Виртуальные драйверы используются при эмуляции 16-разрядных приложений MS-DOS. Они выполняют перехват обращений этих программ к портам ввода-вывода, после чего передают эти обращения драйверам устройств операционной системы.