Параметр shell в реестре windows
Здесь необходимо рассказать о том, какие из разделов и конкретные ветви реестра вашего компьютера наиболее подвержены изменению при вирусной атаке. Специалисты нередко заучивают их наизусть с тем, чтобы вручную просматривать последствия «работы» зловреда в системе. С этими ветками работают и всевозможные программы-анлокеры-антивирусы, спасающие вас от обрушенной усилиями хакера системы. Будет рассказано и про отдельные ветви реестра , создание или удаление которых может вызвать проблемы в работе операционной системы.
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Desktop/NameSpace/ — об этом разделе уже упоминалось не раз — если он окажется удаленным, то диалоговое окно «Поиск» работать не будет.
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Desktop/NameSpace/ — это еще один раздел, без которого не будет работать диалоговое окно «Поиск».
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon. Вообще эти ветви реестра могут включать в себя множество параметров, за содержимым которых необходимо следить. Например, к ним можно отнести следующие параметры строкового типа.
• System — определяет программы, которые будут запускаться с правами системы процессом WINLOGON.EXE при инициализации. Программы пишутся через запятую, то есть параметр может содержать вызов сразу нескольких программ. По умолчанию он ничему не равен.
• Userinit — указывает программы, которые будут запускаться с правами пользователя при его регистрации процессом WINLOGON.EXE. Программы пишутся через запятую, это опять-таки означает, что в данной ветви могут находиться сразу несколько вызовов программ. По умолчанию значение данного параметра равно %systemroot%system32userinit.exe.
• Shell — указывает файлы оболочки, которые будут запускаться при входе пользователя. Он как раз и определяет, что вы используете стандартную оболочку Windows explorer.exe — именно эта строка является значением параметра Shell по умолчанию. Но если вы измените значение этого параметра, например, на explorer.exe, notepad.exe, то наряду с оболочкой Windows при вашем входе в систему будет запускаться и Блокнот. Этот параметр может находиться как в корневом разделе HKEY_CURRENT_USER, так и в разделе HKEY_LOCAL_MACHINE.
Опасные ветви реестра
HKEY_LOCAL_MACHINE SYSTEM
• GinaDLL — определяет путь к библиотеке msgina.dll, которая запускается вместе с системой по умолчанию и необходима для взаимодействия с оболочкой Windows. Если изменить значение этого параметра на вызов какой-нибудь программы, а не библиотеки, то при инициализации процесса
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/ CurrentVersion/Windows.
Может содержать несколько потенциально опасных параметров, среди которых можно выделить следующие параметры строкового типа:
• Run — определяет программы, которые будут запускаться с правами пользователя при его входе. Как и рассмотренные выше параметры, он может вызывать сразу несколько программ — в этом случае они пишутся через запятую. Параметр может находиться как в корневом разделе реестра HKEY_CURRENT_USER, так и в корневом разделе HKEY_LOCAL_MACHINE.
• Load — указывает программы, которые будут запускаться с правами системы при входе любого пользователя. Как и рассмотренные выше параметры, он может вызывать сразу несколько программ — в этом случае они пишутся через запятую.
• AppInit_DLLs — определяет библиотеки, необходимые для совместимости с каким_нибудь оборудованием или программой. Все описанные в данном параметре библиотеки будут запускаться перед запуском любой программы.
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Browser/Helper/Objects — определяет все CLSID, но мера ActiveX_объектов (в виде разделов, названных в честь CLSID_номера ActiveX_объекта), которые будут запускаться при каждом запуске браузера
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session/Manager — содержит REG_MULTI_SZ_параметр BootExecute, его значением являются команды, которые будут запускаться при каждой перезагрузке компьютера. Он используется системой для запуска таких системных программ работы с дисками, как автопроверка диска (значение этого параметра autocheck autochk *) или преобразование файловой системы диска FAT в NTFS (значение данного параметра autoconv DosDevicex: /FS:NTFS).
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/Current/Version/Image/File/Execution/Options — используется для возможности определения программ, при выполнении которых происходит утечка памяти. Но можно воспользоваться этой ветвью и для других целей. Например, если создать в ней раздел explorer.exe, а в нем создать DWORD-параметр ShutdownFlags и присвоить ему значение 3, то после выгрузки оболочки Windows существует вероятность, хотя и малая, что вы не сможете ее загрузить. Система может не дать вам этого сделать. Но даже если вы и сможете загрузить оболочку, то, скорее всего, увеличится количество ошибок неправильной адресации к памяти, выдаваемых различными программами.
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/SafeBootoption — определяет, в каком режиме будет загружаться операционная система — обычном или безопасном. Именно поэтому возможен такой режим — создайте в этой ветви реестра DWORD_параметр OptionValue и присвойте ему значение, равное 1. Теперь вы всегда будете загружаться в режиме, в чем-то подобном безопасному, т.е. будет загружаться лишь минимальный набор сервисов, но драйверы устройств, таких как видеокарта, будут использоваться обычные, устанавливаемые вместе с устройством (а не стандартные, как при полноценном безопасном режиме). При этом, даже если вы являетесь администратором компьютера, вам будет запрещено запускать такие службы, как, например, Windows Audio, которые нельзя запускать в безопасном режиме. Раздел «option» создается только в безопасном режиме.
Опасные ветви реестра: здесь могут быть трояны
За автозапуск служб и приложений операционной системы ответственность можно возложить на следующие ветви, которые разделю на несколько групп:
При заражении компьютера вирусы поступают таким образом, чтобы при загрузке операционной системы они тоже загружались, либо загружалась их самая основная необходимая часть. Для этого они обычно вносят изменения в реестр Windows.
В зависимости от продвинутости создателя вируса это может быть реализовано по-разному. Рассмотрим самые распространенные случаи, где прячутся вирусы:
1. В автозагрузке операционной системы
Проверить это можно с помощью команды msconfig, запущенной через меню Пуск - Выполнить
В столбце "Команда" не должно быть подозрительных элементов, например C:\Program Files\novirus.exe
Команда msconfig позволяет только отображать и отключать ненужные программы из автозагрузки, для полного удаления следов необходимо почистить соответствующие ветки реестра (посмотреть в столбце "Расположение").
Как альтернативe команде msconfig можно использовать программу XPTweaker.
В разделе "Система" перейти на закладку "Загрузка системы", прокрутить скроллом немного вниз до заголовка "Автозагрузка". Также просмотреть внимательно список загружаемых вместе с операционной системой приложений и при необходимости удалить ненужные. Программа удаляет информацию сразу и в реестре Windows.
Внимание! Для того, чтобы случайно не удалить важный системный процесс Windows - уточните предварительно у компьютерных гуру или найдите ответ через поисковую систему Яндекс или Гугл о неизвестных вам загружаемых приложений, например RTHDCPL.EXE
Данный способ загрузки вируса - самый элементарный. Он легко обнаруживается, и вирус удаляется. Так действовали вирусы 5-10-летней давности.
Дополнительно:
Если вы словили порно-баннер, и нет возможности посмотреть автозагрузку, то, загрузившись с любого загрузочного диска удалите все файлы из директорий C:\Temp, C:\WINDOWS\Temp, C:\Documents and Settings\user\Local Settings\Temp, т.к. существует очень большая вероятность загрузки вируса из этих папок.
Если загрузочный диск позволяет подключиться к удаленному реестру операционной системы (к вашей) - типа ERD, то можно проверить ключи реестра, отвечающие за автозагрузку. Для операционной системы Windows XP это:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run и
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
При нахождении в них подозрительных элементов - мочить гадов! :)
2. Вместо проводника
Это очень распространенный случай при заражении вирусами, особо часто он был замечен при установке порно-баннеров на операционную систему. Вирус в этом случае грузится вместо проводника Windows, заменив запись в реестре:
В ветке HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Параметр Shell (reg_sz) вместо значения "explorer.exe" заменяется вирусом на свой, например C:\WINDOWS\system32\h6d8dn.exe или подобную хрень.
Более действенный и быстрый способ - загрузившись с загрузочного диска запустить программу редактирования реестра с возможностью подключения к удаленному реестру. Для этого идеально подходит сборка ERD.
3. Вместе с userinit.exe или uihost.exe
В этом случае рабочий стол может отображаться и компьютер может вроде бы нормально работать, но могут быть заблокированы некоторые функции браузера по умолчанию или всех браузеров, невозможность отрыть сайты антивирусных программ и др.
Userinit.exe - программа, которая открывает Рабочий стол и активирует сетевые функции после запуска Windows. Находится он по адресу C:\WINDOWS\system32\userinit.exe. Размер оригинального файла составляет 26,0 КБ (26 624 байт), на диске: 28,0 КБ (28 672 байт).
Некоторые вирусы могут изменить запись в реестре у трех параметров (у всех или только некоторых) Userinit, UIHost и Shell, расположенных по адресу:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Оригинальные параметры записи в реестре должны быть следующими :
Userinit = C:\WINDOWS\system32\userinit.exe
UIHost = logonui.exe
Shell = explorer.exe
Вирус может прописать себя например так :
В данном примере файл gertinw.exe - это 100% вирус! Обязательно запомнить путь к файлу вируса и удалить его!
После удаления нужно заменить файлы userinit.exe, logonui.exe (находятся в C:\WINDOWS\system32\) и explorer.exe (находится в C:\WINDOWS\) на аналогичные файлы из дистрибутива виндовса (найдете поиском), т.к. остатки червя могут находиться в файлах ключей. Или скачайте отсюда.
После нужно проверить файл hosts (открыть любым тестовым редактором) на наличие запретов на известные сайты антивирусных программ: C:\windows\system32\drivers\etc\hosts. Удалить все после строки 127.0.0.1 localhost
Также запрет на загрузку сайтов может быть прописан в реестре по следующим адресам:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet \Services\Tcpip\Parameters \PersistentRoutes
Удалить их содержимое полностью кроме строки "По умолчанию" с неприсвоенным значением.
Начиная с Windows версии 98, Microsoft поставляет утилиту "MSConfig.exe", предоставляющую удобный интерфейс для управления файлами, запускающимися при загрузке Windows. Она находится в каталоге установки Windows. Ее можно запустить из диалогового окна "Выполнить". В ней нет возможности добавлять новый элемент с именем приложения или документа для автозапуска, но можно отключать, не удаляя, любой пункт из находящихся в списках. Есть еще одна интересная возможность — проверка правильности пути, соответствующего элементу автозапуска, и удаление из списков элементов, пути к которым не верны. Возможности этого приложение достаточно убогие и годятся для пользователей системы, но никак не для администраторов. Далее в статье я, по необходимости, буду ссылаться на эту утилиту.
Изложение мест автозапуска будет вестись в хронологическом порядке, начиная с первых версий Windows и устаревших технологий. Файлы инициализации достались в наследство от 16-битных версий Windows 3.x. Microsoft несколько раз декларировала, что она избавляется от устаревших файлов, но на самом деле они до сих пор обрабатываются при запуске.
В файле "Win.ini" в разделе "[windows]" есть два параметра, которые могут служить местом для автозапуска. Первый параметр это "load", второй — это "run". Содержимое по умолчанию для них — это пустая строка. Имена файлов в них не должны содержать пробелов, указание полного имени файла в двойных кавычках не допускается. В них можно перечислить несколько имен файлов через запятую. Обычно они используются для загрузки драйверов, но могут загружать "троянских коней" или "клавиатурных шпионов".
Еще один файл инициализации, который может быть использован для автоматического запуска программ, — это файл "System.ini". В этом файле в разделе "[boot]" есть параметр "shell", который хранит имя оболочки Windows. Значение по умолчанию этого параметра — "Explorer.exe". Значение "shell" может содержать список приложений для автоматического запуска как параметры командной строки "Explorer.exe". Приложение "Explorer.exe" обрабатывает командную строку и пытается запускать приложения или документы, перечисленные в командной строке. Требования к формату параметра "shell" такие же, как и у вышеупомянутых параметров файла "Win.ini". В последнее время этот параметр начал широко использоваться для запуска сетевых червей. Это делает локализацию трудно обнаруживаемой, т.к. администраторы забывают просматривать этот параметр как место для запуска деструктивных приложений.
Утилита "MSConfig.exe" позволяет просматривать состояние и редактировать содержимое этих трех параметров: "load", "run", "shell", находящихся в файлах инициализации.
Папки автозапуска
Первая папка, которая отрабатывается после завершения загрузки Windows, — это папка "Автозагрузка", которая может хранить список ярлыков (*.lnk) приложений или документов. Ее состояние можно увидеть, выйдя из меню "Пуск" в подменю "Программы". Это — папка, относящаяся к "Текущему пользователю".
Чтобы найти ее размещение, сначала надо найти в системном реестре ключ "HKEY_CURRENT_USER\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Explorer\ User Shell Folders", хранящий размещение всех измененных папок, и отыскать там параметр "Startup" строкового типа. Если искомый параметр отсутствует, то ее размещение по умолчанию на жестком диске прописано в системном реестре в параметре "Startup" ключа "HKEY_CURRENT_USER\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Explorer\ Shell Folders".
Ярлыки к приложениям, находящимся в папке "Автозагрузка", отображаются в программе для настройки системы "MSConfig.exe". Если отключить автоматический запуск какого-нибудь элемента через "MSConfig.exe", то в папке "Программы" (она же и подменю в меню "Пуск") будет создана папка с названием "Отключенные элементы запуска", куда "MSConfig.exe" и переместит отключенный элемент. Для того чтобы временно исключить ярлык из автоматической загрузки, я прибегаю к более простому способу: у необходимого ярлыка я выставлю атрибут "скрытый" и при следующей загрузке он пропускается.
Следующая папка — это "Общая" для всех пользователей папка "Автозагрузки" (Common Startup Folder), которая также отрабатывается после загрузки Windows в поисках ярлыков с документами или приложениями. Увидеть ее в подменю "Пуск" можно в Windows NT или 2000. В Windows 9.x, ME ее содержимое не отображается. Она должна хранить ярлыки общие для профилей всех пользователей. В документации Microsoft (MSDN) сказано, что эта папка создавалась для Windows. Однако ее содержимое отрабатывается, даже если Windows 95, 98, ME работают в однопользовательском режиме.
В системном реестре ее размещение на жестком диске прописано в строковом параметре "Common Startup" ключа "HKEY_LOCAL_MACHINE\ SOFTWARE\ Micro-soft\ Windows\ CurrentVersion\ Explorer\ Shell Folders", который хранит измененные пути папок. При отсутствии этого параметра следует посмотреть размещение этой папки по умолчанию в параметре "Common Startup" ключа "HKEY_LOCAL_MA-CHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Explorer\ Shell Folders".
Список исполнимых файлов, находящихся в "Общей" (для профилей всех пользователей) папке "Автозагрузка" также показываются "MSConfig.exe". Если отключить автоматический запуск какого-нибудь элемента через "MSConfig.exe", то в той же папке, где находится папка "Общего запуска", будет создана папка с названием "Отключенные элементы запуска", куда утилитой "MSConfig.exe" будут перемещены отключенные элементы запуска.
Администраторам следует обращать внимание на содержимое этой папки как место для возможного запуска приложений.
Системный реестр: автозапуск, общий для всех версий Windows
В системном реестре Windows есть ветвь "SOFTWARE\ Microsoft\ Windows\ CurrentVersion", содержащая несколько групп для автоматического запуска приложений. Все эти группы могут быть как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_CURRENT_USER. Изложение будет общим, и все может быть экстраполировано на оба этих раздела. Если Windows используется как многопользовательская среда, другими словами, это либо Windows версий NT/2000/XP, либо 95, 98, ME с задействованными профилями пользователей, то группы запуска следует искать также в разделе "HKEY_USERS\ .Default". Это раздел общий для всех пользователей системы. Если Windows 95, 98, ME работают в однопользовательском режиме, то раздел "HKEY_USERS\ .Default" идентичен разделу HKEY_CURRENT_USER.
Итак, я приведу полные пути к ключам: "SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Run", "SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ RunOnce", "SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ RunOnceEx", "SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ RunOnce\ Setup", "SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ RunServices", "SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ RunServicesOnce", которые могут содержать строковые параметры, с именами приложений или документов запускающиеся при старте системы. Раздел реестра "RunOnce" не поддерживается в Windows NT 3.5. Имена строковых параметров, содержащихся в этих ключах, могут быть произвольными.
Далее я приведу несколько правил, ориентируясь на которые можно лучше понять процесс и очередность запуска приложений, прописанных в тех или иных местах автозапуска:
Ключи, содержащиеся в разделе HKEY_LOCAL_MACHINE, отрабатываются раньше соответствующих ключей, находящихся в разделе HKEY_CURRENT_USER.
Содержимое ключей системного реестра "RunServices", "RunServicesOnce" обрабатывается раньше параметров ключей "Run", "RunOnce".
Запуск "RunServices" и "RunServicesOnce" происходит до выдачи окна регистрации пользователя, далее идет асинхронно с диалогом регистрации и может продолжаться и после успешно проведенной регистрации. Приложения, прописанные в параметры системного реестра, содержащиеся в ключах "RunServices" и "RunServicesOnce", запускаются асинхронно, и поэтому может возникнуть ситуация, когда они будут работать одновременно.
Запуск приложений или документов, как это следует из самого названия, прописанных в ключах "RunOnce" и "RunServicesOnce", происходит один раз, независимо от того, был он успешным или нет. Параметр, находящийся в ключе "RunOnce" или "RunServicesOnce", удаляется до запуска приложения, имя которого он содержит.
Параметры, содержащиеся в ключах "Run", "RunOnce", запускаются синхронно и в неопределенном порядке, но после того, как закончило загрузку содержимое "RunServices" и "RunServicesOnce".
Ключи системного реестра обрабатываются в следующем порядке. Первыми отрабатывается содержимое "RunServices" и "RunServicesOnce" раздела HKEY_LOCAL_MACHINE. Далее выдается окно регистрации пользователя в системе. После этого операционная система переходит к обработке ключей "RunOnce" и "Run" раздела HKEY_LO-CAL_MACHINE, далее "Run" раздела HKEY_CURRENT_USER. Следующими запускаются элементы, содержащиеся в папке "Автозагрузка". После этого наступает очередь параметров ключа "RunOnce" раздела HKEY_CURRENT_USER.
Списками параметров, автоматически запускающих приложения при старте Windows, находящихся в ключах "RunServices" и "Run", можно управлять с помощью приложения для настройки системы "MSConfig.exe". Если отключить какой-либо элемент из списка, то "MSConfig.exe" переместит этот элемента в ключ "RunServices-" или "Run-" соответственно.
Следует обратить внимание на ключ "Setup", который может содержаться в ключе "RunOnce" как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_CURRENT_USER. Этот ключ используется как мастером установки Windows, так и мастером "установки — удаления" программ. При отработке параметров, содержащихся в этом ключе, отображается диалоговое окно с индикатором прогресса. Имя параметра используется как имя пункта в диалоговом окне. Аналогично содержимому ключа "RunOnce", пункты ключа "RunOnce\ Setup" удаляются и запускаются один раз.
Еще один ключ системного реестра, на который следует обратить внимание, — это "RunOnceEx". Приведу отличия запуска параметров, находящихся в "RunOnceEx" от запуска параметров, содержащихся в ключах системного реестра "RunOnce" и "Run".
Параметры, находящиеся в ключе "RunOnceEx", запускаться не будут. Для автоматической отработки необходимо создать в нем ключ реестра, и уже в нем должны быть параметрами с именами приложений. Ключи и параметры, находящиеся в ключе "RunOnceEx", сортируются в алфавитном порядке для того, чтобы принудительно придать им строго определенный порядок запуска. Другими словами, элемент, находящийся выше по алфавиту, будет запущен раньше, независимо от того, когда он был добавлен в ключ "RunOnceEx". Приложения или файлы сценариев должны или сами себя завершать, или не требовать отдельного вмешательства для завершения, пока не завершится один элемент запуска или остановится дальнейшая отработка списка, или загрузка Windows остановится в ожидании принудительного завершения запущенного приложения. Для приложений, запущенных из ключа "RunOnceEx", в отличие от ключей "RunOnce" и "Run", отдельные процессы не создаются.
Содержимое ключей "RunOnce", "RunOnceEx", "RunOnce\ Setup" и "RunServicesOnce" приложением настройки системы "MSConfig.exe" не отображается.
В добавление к вышеперечисленным ключам, для Windows версий NT, 2000 и XP специфичен еще один ключ системного реестра — "Software\ Microsoft\ Windows NT\ CurrentVersion\ Windows\ Run", который может находиться в разделах LO-CAL_MACHINE или HKEY_CURRENT_USER.
В ключе "Software\ Microsoft\ Windows NT\ CurrentVersion\ Windows" могут находиться два строковых параметра "Load" и "Run", которые могут хранить списки приложений для автоматического запуска.
Эти параметры аналогичны одноименным параметрам из файла инициализации "Win.ini". При установке Windows NT (2000) поверх Windows 95, 98 значения параметров из "Win.ini" раздела "[windows]" переносятся в соответствующие параметры ключа "Software\ Microsoft\ Windows NT\ CurrentVersion\ Windows". Если в параметре указывается несколько файлов, то имена должны быть разделены пробелами. Поэтому в них невозможно прописать путь к файлу, содержащим пробелы, — двойные кавычки не принимаются. "Значение по умолчанию" для этих параметров — пробел. Программы, запущенные из параметра "Load", минимизируются при запуске.
Особенности автозапуска в Windows ME/2000/XP
У Windows версий ME, 2000 и XP появляется еще один список автозагрузки программ или документов, запускающихся после регистрации пользователя в системе, который может размещаться как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_CURRENT_USER. Он размещается в строковых параметрах ключа "Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer\ Run". Имена параметров для этого ключа имеют особенность: они должны быть представлены в виде порядковых номеров, начиная с "1". Список, находящийся в разделе HKEY_LOCAL_MACHINE, будет отработан раньше списка раздела HKEY_CURRENT_USER.
Автозапуск при отработке Windows Logon
Отдельная группа Windows Logon для управления инициализацией при регистрации пользователя появляется в Windows NT и далее развивается Microsoft для Windows версий 2000 и XP. Параметры Winlogon находятся в системном реестре в ключе "SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ Winlogon" раздела HKEY_LOCAL_MACHINE. Все описываемые в статье параметры, относящиеся к Winlogon, имеют строковый тип.
Параметр Shell
Параметр "Shell", отвечающий за программную оболочку, присутствует в ветви реестра "Winlogon" в версиях Windows NT, 2000 и XP.
Этот строковый параметр определяет список исполнимых файлов, обеспечивающих для операционной системы интерфейс пользователя и которые должны быть запущены вместе с программной оболочкой.
По умолчанию Windows запускает программы, перечисленные в параметре "Userinit", расположенном в ветви "Winlogon", включая и сам "Userinit.exe". Если же по какой-то причине "Winlogon" процесс не смог запустить программы, определенные в параметре "Userinit", тогда "Winlogon" переходит непосредственно к обработке исполнимых файлов, имена которых записаны в параметре "Shell".
Значение по умолчанию параметра "Shell" может варьироваться. Это — "taskman, progman, wowexec" для Windows NT и "Explorer.exe" для Windows 2000, XP.
Параметр System
Этот параметр присутствует в Windows версий NT, 2000 и XP. Он содержит список имен исполнимых файлов, запускаемых Winlogon в системном контексте во время инициализации системы. Этот список можно варьировать, редактируя значение этого параметра.
Значение по умолчанию этого параметра — "lsass.exe, spoolss.exe" для Windows NT, и "lsass.exe" для Windows 2000, XP. Интересно замечание Microsoft, приведенное в MSDN: "Этот параметр появляется, но не используется самой Windows 2000".
Параметр VmApplet
Параметр "VmApplet", запускающий приложение "Панели управления" для настройки конфигурации системы, специфичен для Windows версий 2000 и XP.
Он содержит список или один исполнимый файл, которые Winlogon-процесс запускает для того, чтобы пользователь мог скорректировать настройки виртуальной памяти, если на системном томе отсутствует страничный файл подкачки. В этом параметре не обязательно указывать расширения для имен файлов.
Значение по умолчанию этого параметра — "rundll32 shell32, Control_RunDLL "sysdm.cpl"". Не стоит без нужды и изменять значение этого параметра, потому что это может привести к изменению настроек виртуальной памяти в Windows 2000, XP.
Параметр Userinit
"Userinit" (инициализация пользователя) специфичен для версий Windows NT, 2000 и XP.
Значение этого параметра содержит исполнимые файлы, которые запускаются процессом WinLogon в контексте пользователя, при регистрации пользователя в системе.
По умолчанию Winlogon запускает "Userinit.exe", который ответственен за запуск программной оболочки и исполняет файлы сценариев для регистрации, переустанавливает сетевые соединения и затем запускает "Explorer.exe".
Значение по умолчанию параметра "Userinit": "userinit, nddeagnt.exe" для Windows NT, "userinit" для Windows 2000, XP. Приложение "nddeagnt.exe" необходимо для запуска NetDDE — сетевого динамического обмена данными.
Расширения в именах файлов, перечисленных в этом параметре, не обязательны.
Вы, наверное, знакомы с командами shell, которые позволяют открывать различные системные и пользовательские расположения. Например, команда shell:Libraries в Windows 7 открывает библиотеки. Я предлагаю вам посмотреть, откуда они берутся и как их применять для ускорения работы.
Чем удобны команды
Поскольку тема явно не новая, я предлагаю вам взглянуть на ее практическое применение в этой и следующей статьях. С помощью команд shell вы можете:
- быстро переходить к папкам, вводя их в поиск меню «Пуск», диалоговое окно «Выполнить» (WIN+R), адресную строку проводника
- создавать ярлыки к часто используемым расположениям
- использовать в реестре в качестве путей для команд
Запуск элементов ActiveX
Сначала я расскажу о реже упоминаемом источнике команд, а заодно и менее распространенном (но иногда очень нужном) способе их запуска.
содержит список апплетов ActiveX, которые можно определить по наличию подраздела ShellFolder, Видите словесную связь с командой shell? Название подраздела реестра (GUID) можно использовать в качестве кода запуска, поставив после команды shell три двоеточия. Например, команда:
открывает папку Недавние места. Она отличается от папки Недавние документы тем, что в ней не отображаются недавно открытые файлы, а только список мест (папок, поисков, элементов панели управления), которые вы недавно открывали в проводнике и диалоговых окнах. К этой папке мы вернемся в следующей статье, в рамках рассказа о тонкой настройке окон «Открыть» и «Сохранить как».
Проводник Windows (explorer) понимает команды shell в качестве параметров командной строки, что можно использовать для команд в реестре. Так, в контекстные меню папки, рабочего стола и компьютера можно добавлять команды для открытия элементов панели управления, системных и пользовательских папок.
Получение списка элементов ActiveX
Получить список элементов проще всего с утилитой CLSID Dump. Она как раз и фильтрует нужный раздел реестра, извлекая сведения обо всех элементах ShellFolder и отображая список апплетов ActiveX.
С помощью утилиты очень удобно находить нужные элементы, поскольку она отображает как английское, так и русское название, а также позволяет отсортировать их по алфавиту. Элемент можно сразу запустить и посмотреть, и если он полезен, тут же создать ярлык, не прилагая усилий. Вы также можете скопировать GUID в буфер обмена, что пригодится при использовании команд в реестре. Наконец, можно экспортировать список в HTML.
Переход в известные папки
Более известный способ запуск команд основан на использовании кодовых слов, т.е. текстовых идентификаторов папок, которые понятны системе. Например, избранное проводника можно создать открыть так.
Владея английским, кодовые слова легче запомнить, конечно, но зачастую проще посмотреть их в справочнике ниже. Команды удобно использовать для:
- быстрого перехода в скрытую или системную папку, если их отображение отключено в проводнике
- объяснений, как добраться до какой-либо папки, что экономит время при оказании помощи (удобство, например, заключается в том, что нужная пользовательская папка открывается вне зависимости от имени учетной записи)
- создания ярлыков к часто используемым папкам
Все кодовые слова для команд можно найти в разделе реестра
Заглянув в его подразделы, можно подметить два момента:
- значение параметра Name является кодовым словом для запуска
- некоторые подразделы содержат параметр ParsingName, и его значение также можно использовать для запуска
Во втором случае мы как раз имеем дело с элементами ActiveX, а GUID в значении параметра указывает на подраздел в HKLM\SOFTWARE\Classes\CLSID, o котором шла речь выше. Теперь вы видите, почему при запуске команд путем вызова GUID используется дополнительная пара двоеточий.
Список известных папок для команд shell
Ниже приводится список этих команд для Windows Vista и Windows 7:
- выделенные красным команды работают только в Windows 7
- * перед путем означает, что папка является скрытой, т.е. не видна в проводнике, если отключено отображение скрытых файлов и папок (что, впрочем, не мешает переходить в нее командой)
Вадим - владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.
Вас также может заинтересовать:
Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.
комментариев 19
Надо в грид добавить ещё один столбец, с отображением Shell. command
И, наконец, привести утилиту в божеский вид. Делов на 5 минут
А смысл? Все GUIDы ActiveX и так уже перечислены в утилите.
Аналогично можно открыть, например, корзину, а вот команда для IE:
Ваша оценка: 0 Ваша оценка: 0 Ваша оценка: 0Ту программу что вы предлагаете CLSID Dump
Вы уже извините за прямоту не программа а поделка какаято
alex, если у вас есть конкретные предложения по улучшению программы, либо вы хотите сообщить о баге, свяжитесь с ее автором (сайт указан).
Если у вас есть конкретные предложения по извлечению CLSIDs другим путем, я весь внимание.
Ваша оценка: 0Vadim Sterkin, подскажите, пожалуйста, почему CSLID Dump запускается под Windows 8.1, x64 с ошибкой? Автору утилиты я отписался, но может вам известно решение.
Ваша оценка: 0 Ваша оценка: 0 Ваша оценка: 0 Ваша оценка: 0 Ваша оценка: 0Во-вторых, проверьте, прописаны ли команды в
В разделе поиском ищите, например, Links. Должно выглядеть так.
Ваша оценка: 0написал как-то сумбурно. Но меня ждет основная работа. Засим откланяюсь до вечера, когда смогу на практике опробовать Ваши советы
Ваша оценка: +3Во давно искал этот сайт))
Ваша оценка: 0 Ваша оценка: 0 Ваша оценка: 0 Ваша оценка: 0 Ваша оценка: 0Удаление ярлыков происходит и на Windows 7 и на Windows 10 при поступлении в них обновлений (которые запускаются автоматически).
Да, я думаю можно организовать в планировщике, чтобы каждый раз после загрузки компьютера копировать (или перезаписывать существующие) ярлыки. Но мне казалось, что можно один раз где-то прописать для их сохранения (для сохранения содержимого папки SendTo).
Читайте также: