Аналогично предыдущей, запуск программ из этой ветви также можно запретить. Для этого используются REG_DWORD-параметры DisableCurrentUserRunOnce и DisableLocalMachineRunOnce. Первый из них запрещает рассматриваемую ветвь из корневого раздела HKEY_CURRENT_USER, а второй – из корневого раздела HKEY_LOCAL_MACHINE.
Ветвь HKEY_KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx отличается от предыдущей лишь более широкими возможностями. Например, в ней можно указать последовательность, в которой будут загружаться программы.
Использование групповых политик
Ветвь реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run определяет программы, которые будут автоматически запускаться при входе пользователя в систему. Она содержит параметры строкового типа, имена которых формируются в такой последовательности: 1, 2, 3, 4, 5 и т. д. Значения этих параметров соответствуют именам запускаемых программ и путям к ним. Особенность данной ветви заключается в том, что запускаемые с ее помощью приложения нельзя увидеть в окне программы msconfig.exe.
Ветвь HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\scripts\Startup предназначена для запуска программ и сценариев с правами системы при входе пользователя. В этой ветви могут содержаться подразделы, имеющие названия в формате 1, 2, 3, 4, 5 и т. д. В каждом из этих подразделов должны содержаться подразделы, имеющие такой же формат названия (1, 2, 3, 4 и т. д.). В данных подразделах, кроме других, могут находиться два строковых параметра – Script и Parameters. Первый параметр определяет путь к программе, которая будет запускаться, а второй задает список параметров для запуска этой программы. Эту ветвь реестра использует GPO [1].
Ветвь реестра HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logon подобна предыдущей, но программы, запускаемые с ее помощью, имеют права пользователя.
Ветвь реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager включает в себя параметр BootExecute, имеющий тип REG_MULTI_SZ. Данный параметр должен содержать названия лишь специальных программ, называемых native-программами. Они работают только с функциями Native API, большинство из которых описано в библиотеке ntldr.dll. Такие функции позволяют работать с файловой системой компьютера и жестким диском, однако не могут использовать графическую подсистему Windows. Что, в общем-то, не удивительно, ведь эти программы работают на этапе запуска компьютера, на котором операционная система еще не загружена.
Ветвь 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, то вход будет произведен от имени сетевой службы. Если же нужно предоставить службе вход от имени какого-нибудь пользователя данного компьютера, то этому параметру нужно присвоить строку .\логин пользователя.
Читать дальше
Конец ознакомительного отрывка
Купить книгу