Все выпуски  

Секреты Windows: статьи о реестре, rundll32.exe, программах Книга Недокументированные возможности Windows XP. Часть 2


Книга "Недокументированные возможности Windows XP. Библиотека пользователя", Глава 1. Rundll32.exe, Часть 2.

Продолжение, начало в выпусках: 4

Desk.cpl

Данный апплет, наверное, знаком каждому пользователю Windows — именно он и является диалогом СВОЙСТВА: ЭКРАН, доступ к которому можно получить, если выбрать команду СВОЙСТВА из контекстного меню рабочего стола. С помощью данного апплета можно выполнить такие действия, как настройка некоторых параметров оболочки Windows, изменение обоев рабочего стола, изменение заставки и параметров энергопотребления, изменение разрешения, глубины цвета или частоты обновления экрана.

Конечно, всех этих действий командами rundll32.exe заменить не получится, но некоторые из них можно выполнить и с помощью rundll32. Например, давайте рассмотрим наиболее интересные команды.

rundll32.exe desk.cpl, DisplayTestSettingsW. Данная команда выполняет тестирование настроек монитора. Во время этого тестирования монитор на время отключается, а потом включается с новыми настройками. Конечно, новые настройки придется изменять посредством реестра, а вообще, эта команда может быть использована не только для тестирования настроек, но и для скрытия деструктивных или других функций скрипта.

rundll32.exe desk.cpl, InstallScreenSaver «путь к новому файлу заставки». с помощью данной команды можно выполнить автоматическую смену используемой по умолчанию заставки, отображаемой при простое системы в течение некоторого времени. Также данную команду rundll32.exe можно использовать и без пути к файлу заставки. В этом случае она будет отображать диалог СВОЙСТВА: ЭКРАН, открытый на вкладке ЗАСТАВКА.

rundll32.exe desk.cpl, UpdateUIfontsDueToDPIchange. Это очень опасная команда, особенно, если применять ее без параметров. Ее действия непредсказуемы, но в основном, они направлены на обновление параметров настройки оболочки из ветвей реестра HKEY_CURRENT_USER\CONTROL PANEL\DESKTOP и HKEY_CURRENT_USER\CONTROL PANEL\COLORS. При этом если не указывать параметров вызова команды, значения параметров, которые она устанавливает в приведенных ветвях реестра, являются случайными.

Конечно, приведенное выше описание команды условно и наиграно, поэтому для примера результата действий команды хотелось бы предоставить рисунок 1.07. Приведенные на рисунке настройки оболочки были получены после нескольких последовательных вызовов команды rundll32.exe desk.cpl, UpdateUIfontsDueToDPIchange.

Рисунок 1 Рис. 1.07. Оказывается, поиск команд rundll32, это очень опасное занятие

firewall.cpl

Данный апплет служит для настройки встроенного брандмауэра Windows — работает ли брандмауэр, за работой в сети каких программ он не следит, а также данный апплет позволяет изменить некоторые другие настройки брандмауэра. Как и для других апплетов, окно этого апплета можно вызвать с помощью команды rundll32.exe firewall.cpl, ShowControlPanel.

Кроме вызова окна настройки брандмауэра Windows, файл firewall.cpl позволяет вызвать другое окно — окно извещения о том, что функциональность заданной программы будет ограничена. Для этого применяется команда rundll32.exe firewall.cpl, ShowNotificationDialog «название программы». Например, результат вызова команды rundll32.exe firewall.cpl, ShowNotificationDialog "c:\windows\system32\cmd.exe" (можно просто указать название программы — cmd.exe, в этом случае в поле ИМЯ вместо описания программы будет отображено ее название) можно увидеть на рисунке 1.08.

Рисунок 2 Рис. 1.08. Результат выполнения команды rundll32 firewall.cpl, ShowNotificationDialog c:\windows\system32\cmd.exe

Вызванное нами окно является мнимым — то есть, вызов данного окна ни к какому результату не приведет и никак не повлияет на возможность работы указанной в диалоговом окне программы.

inetcpl.cpl

Данный апплет является диалогом СВОЙСТВА: ИНТЕРНЕТ, предназначенным для настройки параметров конфигурации браузера Internet Explorer. Доступ к этому диалогу можно получить как с помощью панели управления, так и с помощью команды СВОЙСТВА ОБОЗРЕВАТЕЛЯ меню СЕРВИС браузера INTERNET EXPLORER. Уже стало традицией, что доступ к апплету можно получить не только с помощью его названия, но и с помощью команды rundll32.exe — в данном случае для этого применяется команда rundll32.exe inetcpl.cpl, LaunchInternetControlPanel. Кроме этой команды, апплет inetcpl.cpl поддерживает довольно много команд rundll32, поэтому давайте для их описания воспользуемся списком.

rundll32.exe inetcpl.cpl, DisplayPopupWindowManagementDialog. Выполнение данной команды выводит на экран диалог ПАРАМЕТРЫ БЛОКИРОВКИ ВСПЛЫВАЮЩИХ ОКОН, предназначенный для настройки сайтов, на которые не будут действовать параметры блокировки. При этом в поле АДРЕС РАЗРЕШЕННОГО ВЕБ-УЗЛА будет установлено нечитаемое значение. К сожалению, изменить это значение невозможно.

Также с помощью данного окна можно определить, будут ли подаваться звуковые сигналы при блокировке всплывающего окна, и будет ли отображаться к строке статуса браузера панель информации при блокировке окна.

rundll32.exe inetcpl.cpl, DllInstall. Из следующей главы книги, описывающей интересные ветви и параметры реестра, вы узнаете о том, что содержимое списка на вкладке ДОПОЛНИТЕЛЬНО диалога СВОЙСТВА: ИНТЕРНЕТ хранится в реестре. При этом его можно редактировать или вообще удалить, чтобы пользователь не смог изменить настройки браузера. Если вы все-таки удалили содержимое списка на вкладке ДОПОЛНИТЕЛЬНО (Рис.1.09), тогда, выполнив данную команду rundll32, вы всегда сможете его восстановить (восстанавливается список по умолчанию, то есть, если вы добавили к списку свои элементы, то они будут утеряны).

Рисунок 3 Рис. 1.09. Командой rundll32 inetcpl.cpl, DllInstall всегда можно восстановить удаленные элементы списка

  • rundll32.exe inetcpl.cpl, LaunchConnectionDialog. Данная команда вызывает диалог СВОЙСТВА: ИНТЕРНЕТ, открытый на вкладке ПОДКЛЮЧЕНИЯ.
  • rundll32.exe inetcpl.cpl, LaunchPrivacyDialog. Если предыдущая команда открывала диалог СВОЙСТВА: ИНТЕРНЕТ на вкладке ПОДКЛЮЧЕНИЯ, то эта команда открывает вкладку КОНФИДЕНЦИАЛЬНОСТЬ диалога СВОЙСТВА: ИНТЕРНЕТ.
  • rundll32.exe inetcpl.cpl, LaunchSecurityDialogEx. Данная команда открывает вкладку БЕЗОПАСНОСТЬ, как независимый от диалога СВОЙСТВА: ИНТЕРНЕТ элемент системы. То есть, если две предыдущие команды не смогли бы выполниться, если с помощью административных шаблонов было запрещено отображать соответствующие вкладки или сам диалог, то эта команда не зависит от настроек групповых политик.
  • Рисунок 4 Рис. 1.10. Результат выполнения команды rundll32 inetcpl.cpl, LaunchSecurityDialogEx

  • rundll32.exe inetcpl.cpl, LaunchSiteCertDialog. Данная команда отображает диалог СЕРТИФИКАТЫ, с помощью которого вы сможете импортировать, экспортировать или просто просмотреть список личных сертификатов, а также доверенных издателей, доверенных центров сертификатов и многое другое.
  • rundll32.exe inetcpl.cpl, OpenLanguageDialog. Если два предыдущих диалога не влияли ни на одну программу операционной системы, то этот диалог отображается при нажатии на кнопку ЯЗЫКИ на вкладке ОБЩИЕ диалога СВОЙСТВА ОБОЗРЕВАТЕЛЯ.
  • rundll32.exe inetcpl.cpl, SiteCert_RunFromCmdLine «путь к файлу корневого сертификата». Данная команда применяется для запуска установки файла корневого сертификата.
joy.cpl

С помощью данного апплета можно отобразить маленькое окно настройки или установки нового игрового манипулятора — джойстика, руля и т.д. Поскольку, диалоговое окно данного апплета действительно маленькое, не удивительно, что оно поддерживает только одну команду rundll32.exe — rundll32.exe joy.cpl, ShowJoyCPL. Как вы уже догадались, с помощью данной команды можно отобразить диалоговое окно апплета joy.cpl.

mmsys.cpl

В этом подразделе мы рассмотрим несколько команд rundll32, предназначенных для отображения той или иной части диалога СВОЙСТВА: ЗВУК И АУДИОУСТРОЙСТВА. Данный диалог используется для настройки событий системы, которые требуют звукового сопровождения, а также для настройки некоторых возможностей колонок и микрофона. Чтобы отобразить диалог СВОЙСТВА: ЗВУК И АУДИОУСТРОЙСТВА с помощью команды rundll32, необходимо воспользоваться командой rundll32.exe mmsys.cpl, ShowFullControlPanel. А можно еще воспользоваться командой rundll32.exe mmsys.cpl, ShowDriverSettingsAfterFork. В этом случае отображаемый диалог будет открыт на вкладе ОБОРУДОВАНИЕ.

Также существует возможность вызова отдельных диалогов, используемых для построения диалога СВОЙСТВА: ЗВУК И АУДИОУСТРОЙСТВА. Например, можно отобразить диалог СВОЙСТВА АУДИО (Рис.1.11), являющийся вкладкой АУДИО диалога СВОЙСТВА: ЗВУК И АУДИОУСТРОЙСТВА. Для этого применяется команда rundll32.exe mmsys.cpl, ShowAudioPropertySheet.

Рисунок 5 Рис. 1.11. Результат выполнения команды rundll32 mmsys.cpl, ShowAudioPropertySheet

nusrmgr.cpl

Данный апплет отображает новый диалог Windows XP, предназначенный для настройки учетных записей пользователей. Данный диалог имеет очень много интересных возможностей, которые вы можете использовать в том случае, если аутентификация пользователя, при его входе в систему, на вашем компьютере выполняется с помощью нового стиля оформления Windows XP. Например, вы можете изменить изображение, которое будет отображаться напротив учетной записи конкретного пользователя (Рис.1.12). Также с помощью этого диалога можно настроить параметры паспорта .NET, а также имя, пароль или тип учетной записи конкретного пользователя.

Рисунок 6 Рис. 1.12. Изменение изображения, отображаемого напротив учетной записи пользователя

К сожалению, с помощью команд rundll32.exe нельзя вызвать диалог УЧЕТНЫЕ ЗАПИСИ ПОЛЬЗОВАТЕЛЕЙ или одну из его составляющих, хотя вы можете воспользоваться параметрами вызова апплета nusrmgr.cpl, описанными в приложении к книге, чтобы вызвать ту или иную страницу данного диалога.

Несмотря на то, что данный диалог нельзя вызвать с помощью команд rundll32, некоторые возможности апплет nusrmgr.cpl все-таки предоставляет. Например, с его помощью можно удалить из реестра все сведения о диалоге УЧЕТНЫЕ ЗАПИСИ ПОЛЬЗОВАТЕЛЕЙ, в результате чего данный диалог больше не будет работать. Для этого применяется команда rundll32.exe nusrmgr.cpl, DllUnregisterServer. Конечно, изменения, сделанные предыдущей командой, обратимы. Например, чтобы восстановить в реестре все сведения о диалоге УЧЕТНЫЕ ЗАПИСИ ПОЛЬЗОВАТЕЛЕЙ, нужно воспользоваться командой rundll32.exe nusrmgr.cpl, DllRegisterServer. Теперь диалог УЧЕТНЫЕ ЗАПИСИ ПОЛЬЗОВАТЕЛЕЙ опять будет работать.

wuaucpl.cpl

Последний апплет, команды rundll32.exe которого мы с вами рассмотрим. Данный апплет предназначен для настройки автоматического обновления Windows и определяет способы его работы — будет ли работать, если автоматическое обновление все-таки будет работать, то в какое время будет происходить подключение к сайту обновления, а также данный апплет определяет параметры загрузки и установки обновлений. Чтобы отобразить диалоговое окно апплета wuaucpl.cpl с помощью команды rundll32, необходимо воспользоваться командой rundll32.exe wuaucpl.cpl, ShowAUControlPanel.

Кроме отображения окна апплета существует еще одна возможность — отображение справки по использованию автоматического обновления. Для этого используется команда rundll32.exe wuaucpl.cpl, OpenAUHelpTopic. При этом следует учитывать, что данная команда работает корректно только если диалог автоматического обновления отображается, иначе, возможно, придется несколько раз вызвать данную команду.

Также существует возможность установки переключателя ЗАГРУЖАТЬ ОБНОВЛЕНИЯ; ПОЛЬЗОВАТЕЛЬ НАЗНАЧИТ ВРЕМЯ УСТАНОВКИ в диалоговом окна автоматического обновления Windows. Для этого применяется команда rundll32.exe wuaucpl.cpl, SaveAUApprovalOptions. Данная команда не всегда работает. Скажем даже так, в большинстве случаев она вызывает ошибку, но если несколько раз подряд вызвать данную команду, не закрывая сообщения об ошибках предыдущих команд, то существует большая вероятность того, что переключатель будет установлен. Вы спросите, зачем это нужно (столько мучаться)? Все дело в том, что данная команда выполняется даже тогда, когда соответствующий диалог (или его настройки) заблокирован администратором (Рис.1.13) (конечно, если у вас есть права на изменение параметров ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINDOWSUPDATE\AUTO UPDATE).

Рисунок 7 Рис. 1.13. Установка второго переключателя несмотря на блокировку апплета

Rundll32.exe wuaucpl.cpl, SaveConfigVerToRegistry. Это еще одна команда, которой можно воспользоваться благодаря апплету wuaucpl.cpl. Данная команда устанавливает значение параметра DWORD-типа CONFIGVER, расположенного в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINDOWSUPDATE\AUTO UPDATE, равным 1. Слава богу, эта команда работает чаще, чем ей предшествующая.

Продолжение следует

Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=93

В избранное