Тонкости реестра Windows Vista. Трюки и эффекты
Шрифт:
Ветвь реестра HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logon подобна предыдущей, но программы, запускаемые с ее помощью, имеют права пользователя.
Запуск native-программ
Ветвь реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager включает в себя параметр BootExecute, имеющий тип REG_MULTI_SZ. Данный параметр должен содержать названия лишь специальных программ, называемых native-программами. Они работают только с функциями Native API, большинство из которых описано в библиотеке ntldr.dll. Такие
Известные библиотеки
Ветвь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs содержит список известных операционной системе библиотек (в виде параметров строкового типа, значение которых определяет название библиотеки). Известные операционной системе библиотеки всегда проецируются в оперативную память (не выгружаются в файл подкачки), и их запрещено замещать локальными библиотеками, имеющими те же названия, но расположенными в папке запускаемой программы.
В данной ветви реестра также находится параметр расширенного строкового типа DllDirectory. Он задает путь к каталогу, в котором хранятся библиотеки, определенные в ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs.
Заметьте, что исключить определенные библиотеки из списка известных библиотек можно достаточно простым способом. Для этого нужно указать библиотекиисключения в значении параметра REG_MULTI_SZ-типа ExcludeFromKnownDlls, расположенного в ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager.
Службы
Ветвь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services содержит все сведения о сервисах и службах, установленных на компьютере. Кроме того, она хранит сведения о том, будет ли служба автоматически загружаться при входе в систему (чтобы просмотреть информацию обо всех службах и способах их загрузки, введите в окне Запуск программы команду services.msc). Рассмотрим формат содержимого подразделов данной ветви.
• Description – данный параметр строкового типа определяет строку описания для соответствующей службы. Строка отображается в поле Описание окна, вызываемого двойным щелчком кнопки мыши на соответствующей службе в окне Службы.
• DisplayName – этот параметр строкового типа задает строку названия службы. Строка отображается в поле Имя службы окна свойств службы.
• ObjectName – данный параметр строкового типа определяет, от чьего имени будет выполняться запуск программы. Если значение этого параметра равно LocalSystem, то вход будет выполняться с правами системы. Если значение этого параметра равно NT Authority\NetworkService, то вход будет произведен от имени сетевой службы. Если же нужно предоставить службе вход от имени какого-нибудь пользователя данного компьютера, то этому параметру нужно присвоить строку .\логин пользователя.
• ErrorControl – этот REG_DWORD-параметр задает поведение системы при возникновении ошибок в работе службы. Если значение данного параметра равно 0, то ошибки будут игнорироваться. При значении параметра равном 1 пользователь будет
• ImagePath – данный параметр строкового типа определяет путь к файлу службы. Именно этот файл будет запускаться при входе пользователя в систему. Чтобы данный файл запускался, он действительно должен быть службой, то есть должен корректно ответить на запросы системы. Например, если таким образом запускать какую-нибудь программу, например regmon.exe, то она сначала запустится (вы сможете увидеть ее окно, если в параметре Type, о котором будет рассказано ниже, будет присутствовать битовая маска 0х00000100), а через некоторое время появится сообщение, что служба не отвечает на запросы, и после этого regmon.exe прекратит свою работу.
Внимание!
Описанным способом можно легко запускать вирусы, даже если они не оформлены как службы, ведь некоторое время перед тем, как система завершит не отвечающую службу вируса, она будет работать. Этого хватит, чтобы заразить половину компьютера. К тому же такой вирус будет намного сложнее найти, ведь система сама выгружает его процесс.
• Start – этот REG_DWORD-параметр задает, в какой момент загрузки системы будет запускаться указанная служба. Например, если значение этого параметра равно 0, то служба будет запускаться при загрузке операционной системы. При значении 1 служба будет запускаться при инициализации операционной системы. Если значение данного параметра равно 2, то служба будет запускаться автоматически при входе в систему. При значении 3 служба должна запускаться вручную; значение 4 означает, что эта служба отключена.
• Type – данный REG_DWORD-параметр указывает, к какому типу программ относится эта служба. Он может принимать следующие значения:
– 1 – определяет устройства уровня ядра;
– 2 – задает драйвер файловой системы;
– 4 – является аргументом для адаптера;
– 8 – относится к службам файловой системы;
– 10 – является программой, запускающей свой процесс;
– 20 – является программой, запускающей общий процесс.
К значению этого параметра может также добавляться битовая маска 0х00000100. Если она присутствует, то система будет разрешать данной службе взаимодействие с Рабочим столом.
• Group – этот строковый параметр определяет группу, к которой будет относиться служба. Именно от группы зависит, как быстро будет запущена служба – сначала запускаются все службы одной группы, потом все службы другой и т. д. Например, в системе могут быть определены следующие группы: Primary disk, SCSI miniport, Event log, Video, Base, File system и др.
• DependOnGroup – данный параметр строкового типа определяет группы, которые должны быть запущены перед запуском данной службы.
• DependOnService – этот параметр строкового типа позволяет указать зависимость не от всей группы служб, а только от одной службы (или нескольких, перечисленных через точку с запятой). Указанные в параметре службы должны быть запущены перед тем, как будет запущена данная служба. Значение этого параметра отображается на вкладке Зависимости окна свойств службы.