Недокументированные и малоизвестные возможности Windows XP — страница 1 из 28

Введение

Книга, которую вы держите в руках, содержит сведения о таких малоизвестных возможностях Windows, как работа с программой rundll32.exe, с реестром операционной системы, а также описание оснасток и работы с консолью управления mmc.exe. Кроме того, с ее помощью вы сможете лучше узнать предназначение отдельных папок, файлов журнала и библиотек, используемых компонентами операционной системы Windows XP. В книге будут также рассмотрены некоторые примеры создания сценариев сервера сценариев Windows и INF-файлов.

Эта книга предназначена скорее для опытных пользователей и администраторов, не использующих Active Directory, которым интересно узнать о нестандартных возможностях Windows, а также о некоторых простых способах ее взлома. Однако она может быть интересна и простым пользователям. В общем, автор охарактеризовал бы круг читателей так: для всех, кто хочет знать больше.

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

■ Часть 1. «Программа rundll32.exe» — первая часть книги посвящена гениальной программе от Microsoft rundll32.exe, входящей в стандартную поставку Windows. Функциональность этой программы можно охарактеризовать так — она предназначена для выполнения библиотечных и API-функций программ напрямую из Windows, без участия самой программы. К сожалению, об этой программе уже стали забывать даже сами программисты Microsoft, иначе как объяснить тот факт, что с ее помощью можно обойти некоторые ограничения, которые устанавливаются с помощью административных шаблонов Windows. Но об этом далее.

Конечно, это описание ничего пока не говорит, но автор уверен, что после прочтения первой части книги вы разделите его восхищение этой программой.

■ Часть 2. «Реестр Windows XP» — вторая часть посвящена системному реестру Windows XP. В ней будут рассмотрены возможности настройки операционной системы, доступ к которым нельзя получить с помощью диалоговых оконоперационной системы. Описаны также некоторые настройки конфигурации системы, с помощью которых можно повысить ее общую производительность.

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

■ Часть 3. «Консоль управления Microsoft» — третья часть описывает консоль управления Microsoft. Это программа, которая содержит всю функциональную составляющую Windows, направленную на администрирование системы. Здесь рассмотрены следующие вопросы: общая работа с консолью управления, работа с отдельными ее оснастками, параметры реестра, которые изменяются оснастками и некоторыми административными шаблонами, а также более узконаправленные вопросы работы отдельных оснасток консоли.

■ Часть 4. «Другие возможности Windows XP» — в четвертой части рассмотрены другие интересные возможности операционной системы, о которых вы можете не знать. Здесь описаны принципиальные различия между версиями операционной системы Windows XP, некоторые интересные особенности INF-файлов, возможности нестандартной настройки Windows XP, сказано несколько слов о безопасности компьютера и роли в этой безопасности учетной записи системы. В этой части рассмотрены также каталоги файловой системы Windows XP, и вы сможете узнать, что же в них хранится и для чего они вообще нужны.

Кроме того, книга содержит шесть приложений, из которых вы узнаете о наиболее интересных ActiveX-объектах, используемых в операционной системе, а также о содержимом некоторых справочных файлов, входящих в состав операционной системы.

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

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты gurski@minsk.piter.com (издательство «Питер», компьютерная редакция).

Часть 1Программа rundll32.exe

Глава 1Работа с оболочкой

Rundll32.exe — это небольшая программа, поставляемая со всеми версиями Windows.

Она была создана программистами Microsoft для своих нужд и способна выполнять любую Wind32 API-функцию, описанную в библиотеке, как будто эта функция вызывается из программы или сама является полноценной программой. Rundll32.exe создавалась для вызова различных функций из файлов сценариев или INF-файлов, с ее помощью можно выполнить очень много интересных и полезных трюков, описание которых приведено в данной главе.

Перед описанием команд, доступных при работе с rundll32.exe, хотелось бы еще сузить рамки функций, которые необходимо понимать под «любыми» функциями, выполняемыми с помощью данной программы.

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

Еще хуже ситуация может обстоять в том случае, когда функция не принимает никаких параметров, но при своей работе использует содержимое регистров или памяти компьютера. В этом случае вызов данной функции может быть подобен игре в кости — если вам повезет и все необходимые данной функции параметры окажутся корректными, то она сможет выполниться.

Синтаксис программы rundll32.exe довольно прост:

rundl32 «путь к библиотеке и ее имя», «имя функции в данной библиотеке», «список необходимых параметров через запятую»

Но как же можно вызвать данную программу? Помимо использования вызова в коде сценария, о чем будет рассказано в следующих главах книги, программу можно вызвать и с помощью диалога Запуск программы (Пуск►Выполнить) или в поле команды при создании ярлыка. Например, в окне Запуск программы введите команду rundll32 shell32.dll, ShellAboutA и вы сможете увидеть диалог, подобный приведенному на рис. 1.1.

Рис. 1.1. Окно с информационными сведениями об операционной системе


ВНИМАНИЕ

Если регистр, в котором вы вводите команду, для названия параметров функции и библиотек не важен, то для названия функции следует внимательно следить за его написанием как с точки зрения ошибок, так и с точки зрения регистра каждого отдельного символа, иначе программа rundll32.exe не сможет найти необходимую вам функцию. Например, если вы вместо названия функции ShellAboutA введете название ShellaboutA, то rundll32.exe выведет сообщение о невозможности вызова функции, так как ее нет в соответствующей библиотеке.

CPL-файлы

Из нескольких предыдущих абзацев вы узнали практически все теоретические выкладки, которые необходимы для работы с программой rundll32.exe. Сейчас же будут перечислены те возможности, которые данная программа может предоставить пользователю. Начнем с описания функций CPL-файлов.

ПРИМЕЧАНИЕ

Перед тем как будут рассмотрены различные функции, которые могут выполняться с помощью программы rundll32.exe, хотелось бы уточнить способ записи некоторых функций. Чуть выше рассмотрена команда, выполняющая функцию ShellAboutA. Как можно заметить, эта функция заканчивается каким-то совершенно ненужным символом — A. Он говорит системе о том, что функция использует для своей работы символы кодировки ASCII (использование одного байта для представления одного символа). Существует еще один символ, которым может заканчиваться функция — символ W. Он говорит системе о том, что функция использует для своей работы символы в кодировке Unicode (для представления одного символа используются два байта). Так вот, эти символы совершенно не обязательны (хотя в очень редких случаях они необходимы) — если вы введете название функции без последнего символа (А или W), то система сама попробует определить, какая кодировка должна использоваться.

Хотя раньше говорилось, что программа rundll32.exe может вызывать функции библиотек, на самом деле ее возможности намного обширнее — она может вызвать функцию отовсюду, где она указана, будь то библиотека, CPL-файлы или сам исполняемый файл программы.

CPL-файл — это специальный файл (их еще называют апплетами), являющийся диалоговым окном, которое вызывается с помощью Панели управления и предназначено для настройки какого-то отдельного компонента операционной системы. Большую часть ссылок на CPL-файлы можно встретить в папке Панель управления, которую можно открыть либо с помощью меню Пуск, либо с помощью вызова команды control или команды shell:ControlPanelFolder. Но операционная система Windows позволяет вызывать CPL-файлы и с помощью ввода их названия в окне Запуск программы (в этом случае расширение CPL указывать обязательно).

В контексте данной книги содержимое СPL-файлов рассматриваться не будет, предполагается, что читатель уже пользовался ими. Исключением могут быть только те случаи, когда соответствующая команда rundll32.exe зависит от установки тех или иных параметров, доступ к которым можно получить из CPL-файла.

Access.cpl

Апплет предназначен для редактирования различных специальных параметров настройки клавиатуры, звука, мыши или оболочки Windows. Все эти параметры разрабатывались программистами Microsoft специально для людей с ограниченными физическими возможностями, хотя некоторые из представленных в апплете параметров могут быть полезны и в повседневной работе всех пользователей операционной системы Windows XP.

Чтобы вызвать данный апплет с помощью программы rundll32.exe, необходимо использовать команду rundll32 Access.cpl, DebugMain. Вот, в принципе, и все команды, которые поддерживает апплет access.cpl.

Appwiz.cpl

Эта команда открывает диалоговое окно Установка и удаление программ. С его помощью можно как удалять или изменять составляющую различных установленных в системе программ, так и заменять составляющие компоненты самой операционной системы.

В отличие от рассмотренного ранее апплета access.cpl, апплет appwiz.cpl не позволяет вызвать себя с помощью команды программы rundll32.exe. Зато он дает возможность выполнить некоторые действия, другими способами не выполняющиеся. Но перед тем как рассмотреть возможные действия, которые разрешает выполнить апплет appwiz.cpl, скажем несколько слов о работе самого апплета — это поможет нам в понимании работы рассматриваемых далее команд.

Как уже сказано, апплет appwiz.cpl содержит список всех установленных в системе приложений — для его отображения применяется список Установленные программы (рис. 1.2). Но как формируется данный список? Можно подумать, что это происходит при каждом запуске апплета appwiz.cpl путем сканирования файловой системы Windows, но все намного проще. На самом деле данный список расположен в реестре Windows. Для его хранения используется ветвь HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, включающая набор разделов, каждый из которых определяет один элемент списка Установленные программы. Названия этих разделов идентифицируют установленную программу для апплета appwiz.cpl, но при этом не используются в списке Установленные программы. Для указания названия элемента в списке применяется строковый параметр DisplayName, расположенный в каждом из разделов рассматриваемой ветви (см. рис. 1.2).

Рис. 1.2. Формирование списка Установленные программы апплета appwiz.cpl


Здесь не будет полностью рассказано о параметрах разделов ветви реестра Windows HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall — это не является главной темой книги. Поэтому читателям, которым интересна данная тема, рекомендуется купить дополнительную книгу, посвященную только ей. Мы же сейчас займемся тем, для чего и был затеян рассказ о способе хранения списка установленных программ апплетом appwiz.cpl, — описанием команды rundll32.exe, с помощью которой можно удалить программу, указанную в данном списке.

Для того чтобы удалить программу, ссылка на которую содержится в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, необходимо воспользоваться следующей командой:

rundll32 appwiz.cpl, WOW64Uninstall_RunDLL ,,,«название раздела в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, идентифицирующего программу»

Например, если вы хотите удалить программу EVEREST Professional v1.50, раздел которой в рассматриваемой ветви назван EVEREST Professional_is1 (рис. 1.3), то необходимо использовать следующую команду:

rundll32 appwiz.cpl, WOW64Uninstall_RunDLL ,,,EVEREST Professional_is1

После ее вызова запустится команда удаления, которая записана в параметре строкового типа UninstallString раздела ветви реестра EVEREST Professional_is1 (рис. 1.3).

Рис. 1.З. Раздел удаляемой программы назван EVEREST professional_is1


Но, кроме удаления программ, апплет appwiz.cpl позволяет выполнять некоторые другие интересные команды, используемые оболочкой Windows. Первой из них является команда rundll32 appwiz.cpl, ConfigStartMenu, позволяющая очистить содержимое вашего меню Пуск. После ее вызова перед вами появится диалог, отображенный на рис. 1.4. С помощью этого диалога можно удалить те из элементов меню Пуск, которые находятся в папке %userprofile%\Главное меню (такие папки, как Администрирование, Стандартные или Автозагрузка удалить нельзя).

Другой командой, которую можно вызвать благодаря апплету appwiz.cpl, является команда rundll32 appwiz.cpl, NewLinkHere «путь к кaтaлогу». С ее помощью можно создать ярлык в каталоге, который вы укажете. Для этого будет вызван специальный мастер создания ярлыков. Доступ к нему можно также получить из списка Создать контекстного меню Рабочего стола или папки, если выбрать в этом списке команду Ярлык.

Рис. 1.4. Результат выполнения команды rundll32 appwiz.cpl, ConfigStartMenu

Bthprops.cpl

Bthprops.cpl — это апплет, предназначенный для настройки работы и взаимодействия устройств, подключаемых при помощи беспроводного соединения Bluetooth. По умолчанию, если в системе не установлено (или не зарегистрировано) ни одного устройства, работающего с помощью Bluetooth, то апплет bthprops.cpl и все настраиваемые им параметры недоступны. Если же вы хотите посмотреть, что это за апплет, то можно попытаться воспользоваться некоторыми командами rundll32.exe, использующими файл апплета для своей работы. К сожалению, с помощью таких команд нельзя вызвать само окно апплета, но зато можно воспользоваться некоторыми функциями, которые оно предоставляет. Например, можно вызвать агента подключений Bluetooth, с помощью которого можно подключить устройство Bluetooth, передать или отправить файлы, а также настроить конфигурацию уже подключенных устройств Bluetooth. Для этого необходимо выполнить несколько действий. Во-первых, нужно присвоить DWORD-параметру Notification Area Icon, расположенному в ветви системного реестра HKEY_CURRENT_USER\Control Panel\Bluetooth, значение, равное 1. Это необходимо для того, чтобы мы могли взаимодействовать с агентом подключений посредством его значка, отображаемого на Панели задач. Во-вторых, необходимо воспользоваться командой rundll32.exe для запуска агента: rundll32 bthprops.cpl , , ,BluetoothAuthenticationAgent. После ввода данной команды на Панели задач в области уведомлений появится значок, подобный изображенному на рис. 1.5.

Рис. 1.5. Результат выполнения команды rundll32 bthprops.cpl ,,,BluetoothAuthenticationAgent


ПРИМЕЧАНИЕ

После закрытия агента подключений значение параметра Notification Area Icon автоматически становится равным 0.

Еще одной возможностью, которую предоставляет апплет bthprops.cpl, является возможность вызова диалогового окна свойств подключенного устройства Bluetooth. Для этого используется следующая команда: rundll32 bthprops.cpl , , ,BluetoothDisplayDeviceProperties. Эта команда будет вызывать диалог, подобный приведенному на рис. 1.6. 

 Рис. 1.6. Результат выполнения команды rundll32 bthprops.cpl ,,,BluetoothDisplayDeviceProperties


ПРИМЕЧАНИЕ

Аналогичные команды можно применить и для апплета irprops.cpl. В этом случае нужно в команде rundll32.exe вместо апплета bthprops.cpl указать апплет irprops.cpl. Несмотря на то, что используются два разных апплета, результат команд будет один и тот же.

Desk.cpl

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

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

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

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

■     rundll32 desk.cpl, UpdateUIfontsDueToDPIchange — это очень опасная команда, особенно если применять ее без параметров. Ее действия непредсказуемы, но в основном они направлены на обновление параметров настройки оболочки из ветвей реестра HKEY_CURRENT_USER\Control Panel\Desktop и HKEY_CURRENT_USER\Control Panel\Colors. При этом если не указывать параметры вызова команды, то значения параметров, которые она устанавливает в приведенных ветвях реестра, являются случайными.

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

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

Firewall.cpl

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

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

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

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

Inetcpl.cpl

Апплет является диалогом Свойства: Интернет, предназначенным для настройки параметров конфигурации браузера Internet Explorer. Доступ к этому диалогу можно получить как через Панель управления, так и с помощью команды Свойства обозревателя меню Свойства браузера Internet Explorer. Уже стало традицией, что доступ к апплету можно получить не только при помощи его названия, но и используя команду rundll32.exe — в данном случае для этого применяется команда rundll32 inetcpl.cpl, LaunchInternetControlPanel. Кроме этой команды, апплет inetcpl.cpl поддерживает довольно много команд rundll32.exe, поэтому для их описания воспользуемся списком.

■ rundll32 inetcpl.cpl, DisplayPopupWindowManagementDialog — позволяет вывести на экран диалог Параметры блокировки всплывающих окон, предназначенный для настройки сайтов, на которые не будут действовать параметры блокировки. При этом в поле Адрес разрешенного Веб-узла будет установлено нечитаемое значение. К сожалению, изменить это значение невозможно. C помощью данного окна можно также определить, будут ли подаваться звуковые сигналы при блокировке всплывающего окна и будет ли отображаться в строке статуса браузера панель информации при блокировке окна.

■ rundll32 inetcpl.cpl, DllInstall — из следующей части, описывающей интересные ветви и параметры реестра, вы узнаете о том, что содержимое списка на вкладке Дополнительно окна Свойства: Интернет хранится в реестре.

При этом его можно редактировать или вообще удалить, чтобы пользователь не смог изменить настройки браузера. Если вы все-таки удалили содержимое списка на вкладке Дополнительно, то, выполнив данную команду rundll32.exe, вы всегда сможете его восстановить (восстанавливается список по умолчанию, то есть если вы добавили к списку свои элементы, то они будут утеряны).

■ rundll32 inetcpl.cpl, LaunchConnectionDialog — позволяет вызвать окно Свойства: Интернет, открытый на вкладке Подключения.

■ rundll32 inetcpl.cpl, LaunchPrivacyDialog — если с помощью предыдущей команды можно было открыть диалог Свойства: Интернет на вкладке Подключения, то с помощью этой команды можно открыть его на вкладке Конфиденциальность.

■ rundll32 inetcpl.cpl, LaunchSecurityDialogEx — позволяет открывать вкладку Безопасность как независимый от диалога Свойства: Интернет элемент системы (рис. 1.9). Другими словами, если две предыдущие команды несмогли бы выполниться в случае, когда с помощью административных шаблонов запрещено отображать соответствующие вкладки или сам диалог, то эта команда не зависит от настроек групповых политик.

Рис. 1.9. Результат выполнения команды rundll32 inetcpl.cpl, LaunchSecurityDialogEx


■ rundll32 inetcpl.cpl, LaunchSiteCertDialog — благодаря этой команде можно вывести диалог Сертификаты, с помощью которого вы сможете импортировать, экспортировать или просто просмотреть список личных сертификатов, а также доверенных издателей, доверенных центров сертификатов и многое другое.

■ rundll32 inetcpl.cpl, OpenLanguageDialog — если два предыдущих диалога не влияли ни на одну программу операционной системы, то диалог, открываемый с помощью этой команды, отображается при нажатии кнопки Языки на вкладке Общие окна Свойства обозревателя.

■ rundll32 inetcpl.cpl, SiteCert_RunFromCmdLine «путь к файлу корневого сертификата» — применяется для запуска установки файла корневого сертификата.

Joy.cpl

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

Mmsys.cpl

В этом разделе будут рассмотрены несколько команд rundll32.exe, предназначенных для отображения той или иной части диалога Свойства: Звук и аудиоустройства. Этот диалог используется для настройки событий системы, которые требуют звукового сопровождения, а также для настройки некоторых возможностей колонок и микрофона. Чтобы отобразить диалог Свойства: Звук и аудиоустройства с помощью rundll32.exe, необходимо воспользоваться командой rundll32 mmsys.cpl, ShowFullControlPanel. Можно также использовать команду rundll32 mmsys.cpl, ShowDriverSettingsAfterFork. В этом случае отображаемый диалог будет открыт на вкладе Оборудование.

Существует возможность вызова отдельных диалогов, используемых для построения диалога Свойства: Звук и аудиоустройства. Например, можно отобразить диалог Свойства аудио (рис. 1.10), являющийся вкладкой Аудио диалога Свойства: Звук и аудиоустройства. Для этого применяется команда rundll32 mmsys.cpl, ShowAudioPropertySheet.

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


Nusrmgr.cpl

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

К сожалению, с помощью команд rundll32.exe нельзя вызвать диалог Учетные записи пользователей или одну из его составляющих, хотя вы можете воспользоваться параметрами вызова апплета nusrmgr.cpl, описанными в приложении 2, чтобы вызвать ту или иную страницу данного диалога.

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


Несмотря на то, что данное окно нельзя вызвать с помощью команд rundll32.exe, некоторые возможности апплет nusrmgr.cpl все-таки предоставляет. Например, с его помощью можно удалить из реестра все сведения о диалоге Учетные записи пользователей, в результате чего этот диалог больше не будет работать. Для этого применяется команда rundll32 nusrmgr.cpl, DllUnregisterServer. Конечно, произведенные изменения обратимы. Например, чтобы восстановить в реестре все сведения о диалоге Учетные записи пользователей, нужно воспользоваться командой rundll32 nusrmgr.cpl, DllRegisterServer. Теперь диалог Учетные записи пользователей опять будет работать.

Wuaucpl.cpl

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

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

Существует возможность установки переключателя Загружать обновления; пользователь назначит время установки в диалоговом окне автоматического обновления Windows. Для этого применяется следующая команда: rundll32 wuaucpl.cpl, SaveAUApprovalOptions. Но она не всегда работает. Скажем даже, что в большинстве случаев она вызывает ошибку, но если несколько раз подряд вызвать данную команду, не закрывая сообщения об ошибках предыдущих команд, то существует большая вероятность того, что переключатель будет установлен. Вы спросите, зачем нужно столько мучиться? Все дело в том, что команда выполняется даже тогда, когда соответствующий диалог (или его настройки) заблокирован администратором (рис. 1.12) (конечно, если у вас есть права на изменение параметров ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ WindowsUpdate\Auto Update).

Команда, которой также можно воспользоваться благодаря апплету wuaucpl.cpl, — rundll32 wuaucpl.cpl, SaveConfigVerToRegistry. Она устанавливает значение DWORD-параметра ConfigVer, расположенного в ветви системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update, равным 1. К счастью, эта команда работает чаще, чем ей предшествующая.

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

ActiveX-объекты

ActiveX-объекты — это специальные программы, которые не могут быть выполнены непосредственно двойным щелчком кнопкой мыши на файле ActiveX-объекта, но могут быть выполнены под руководством операционной системы Windows. Для этого применяются либо операции вставки и внедрения, либо команда rundll32 . exe. Да, несмотря на то, что ActiveX-объекты не являются полноценными программами, некоторые из них также возможно вызвать как программы. Например, попробуем выполнить команду rundll32 amovie.ocx, RunDll / play /close E:\music\Мультфильмы\Музыка звезд\5.wma (не забудьте изменить путь и имя музыкального файла на свои). Результат выполнения этой команды можно увидеть на рис. 1.13.

Рис. 1.13. Пример вызова ActiveX-объекта


ПРИМЕЧАНИЕ

Плюсом таких вызовов является то, что каждый вызванный ActiveX-объект выполняется как отдельная программа. Другими словами, если вы несколько раз вызовете один и тот же ActiveX-объект, то будет открыто несколько ActiveX-объектов (в данном случае проигрывателей), а не только один.

Рассмотрим приведенный выше вызов ActiveX-объекта детальней: rundll32 amovie.ocx, RunDll /play /close E:\music\Мультфильмы\Музыка звезд\5.wma. Как можно заметить, он практически ничем не отличается от вызова функций из библиотек — amovie.ocx является файлом, из которого берется функция, RunDll является самой функцией, а путь к музыкальному файлу — ее аргументом. Кроме пути к музыкальному файлу, используется еще два аргумента функции — /play и /close. Первый из них говорит о том, что данный ActiveX-объект необходимо вызвать и начать проигрывать, а второй аргумент означает, что после выполнения своей задачи ActiveX-объект должен быть автоматически закрыт.

Кроме функции RunDll, ActiveX-объект amovie.ocx (да и большинство других ActiveX-объектов) поддерживает еще две функции — DllRegisterServer и DllUnregisterServer. Первая из них регистрирует ActiveX-объект в реестре операционной системы, а вторая удаляет из реестра всю информацию об ActiveX-объекте.

ПРИМЕЧАНИЕ

Даже если ActiveX-объект не будет зарегистрирован в системе, его все равно возможно вызвать с помощью функции RunDll или другой подобной функции. 

ActiveX-объект amovie.ocx также поддерживает функцию LoadFilterGraph, которая используется для загрузки графического фильтра, но, по мнению автора, данной функции нельзя передать сам путь к фильтру.

Теперь вкратце рассмотрим функции некоторых ActiveX-объектов, которые могут находиться в вашей операционной системе (не забывайте, что эти ActiveX-объекты, как и все остальные, поддерживают и такие функции, как DllRegisterServer и DllUnregisterServer).

■ rundll32 HHCTRL.OCX, doWinMain — выполнение этой команды приводит к вызову диалога HTML Help, приведенного на рис. 1.14. Содержимое диалога (файлы connect.inf и т.д.) находится в каталоге %userprofile%\MZ. Если же данная папка отсутствует в системе, то будет выводиться ошибка о невозможности загрузки страницы.

Этот ActiveX-объект расположен в каталоге %systemroot%\SYSTEM32.

■ rundll32 msdxm.ocx, RunDll /play /stop «путь к музыкальному файлу» — вызов данной функции воспроизводит указанный музыкальный файл с помощью Проигрывателя Windows Media.

Этот ActiveX-объект расположен в каталоге %systemroot%\SYSTEM32.

Рис. 1.14. Вызов программы HTML Help


Вот и все стандартные ActiveX-объекты, которые, кроме DllRegisterServer и DllUnregisterServer, поддерживают дополнительные функции.

Драйверы

Драйверы — это специальные программы, управляющие работой оборудования, для которого они были написаны. Сейчас практически каждое устройство — от оптической мыши до видеокамеры — требует для своего взаимодействия с компьютером отдельный драйвер. Конечно, не все из этих устройств поставляются со своим собственным драйвером — и это неудивительно, ведь операционная система Windows XP уже включает в себя очень много различных драйверов для многих устройств известных производителей. Все они хранятся на установочном диске (а также в локальной файловой системе) в архиве driver.cab и устанавливаются только при нахождении системой нового оборудования.

Как и ActiveX-объекты, драйверы также могут хранить вызов функций, но использование этих функций оказывается не всегда возможным. Во-первых, некоторые драйверы написаны для операционной системы MS-DOS, поэтому применение их функций в операционной системе Windows XP невозможно. Во-вторых, вызов функции уже загруженного драйвера не всегда срабатывает — в большинстве случаев система просто выведет сообщение, подобное приведенному на рис. 1.15. 

 Рис. 1.15. Как правило, уже загруженные драйверы команды не поддерживают


У себя на компьютере автор книги нашел только одну доступную команду, предоставляемую драйвером WINSPOOL.DRV. Это стандартный драйвер Windows, расположенный в каталоге %systemroot%\system32. Он управляет подключением к принтеру (а также передачей ему заданий) и поддерживает такую команду rundll32.exe:rundll32 WINSPOOL.DRV, ConnectToPrinterDlg. Она выводит диалог для подключения к сетевому принтеру и передачи ему задания. Результат выполнения данной команды будет подобным приведенному на рис. 1.16. 

Рис. 1.16. Результат выполнения команды rundll32 WINSPOOL.DRV, ConnectToPrinterDlg


ПРИМЕЧАНИЕ

Это диалоговое окно также можно вызвать с помощью команды rundll32.exe PRINTUI.dll, ConnectToPrinterDlg.

Библиотеки

Библиотеки — это специальные файлы с расширением DLL, описывающие все функции, применяемые программой, для которой данная библиотека написана.

Именно библиотеки содержат большинство функций, используемых операционной системой или программой. При этом библиотеки могут применяться как в программах (даже если данная библиотека не была специально написана для соответствующей программы), так и в драйверах, CPL-файлах, ActiveX-объектах и других исполняемых файлах Windows.

Раньше были рассмотрены команды rundll32.exe по файлам, в которых они описаны. Это было более эффективно по той причине, что стандартных CPL-файлов или файлов ActiveX-объектов на компьютере не очень много. Другая картина предстает при взгляде на количество библиотек, зарегистрированных в системе. Чтобы в этом убедиться, достаточно просто заглянуть в каталог %systemroot%\system32 — именно он содержит стандартные библиотеки Windows, которых в этом каталоге можно насчитать сотни. А ведь с каждой программой поставляются еще и свои собственные библиотеки, которые могут находиться как в каталоге, в котором была установлена программа, так и в %systemroot%\system32. Поэтому на этот раз команды rundll32.exe будут рассмотрены не по библиотекам, в которых они описаны, а по действиям, которые они выполняют.

Окна работы с сетью

Первым рассмотренным вопросом будет вопрос вызова различных мастеров, предназначенных для установки тех или иных сетевых компонентов компьютера. Автор знает по своему опыту, как иногда бывает сложно найти в файловой системе Windows ссылки на вызовы тех или иных мастеров настройки не только сетевых компонентов, но и любых других частей Windows. Особенно это актуально после преднамеренного удаления данных ссылок на диалоговые окна — когда пользователь хочет минимизации содержимого Windows и удаляет из меню Пуск или из других мест файловой системы все подряд, что ему кажется ненужным.

Рассмотрим команду вызова Мастера установки оборудования. Для его вызова достаточно выполнить команду rundll32.exe ccfgnt.dll, IcfgInstallModem, результат действия которой можно увидеть на рис. 1.17.

Аналогичное окно можно вызвать и с помощью следующей команды: rundll32.exe modemui.dll, InvokeControlPanel.

Рис. 1.17. Результат выполнения команды rundll32.exe ccfgnt.dll, IcfgInstallModem


Если модем уже настроен, то можно вызвать диалог отображения свойств модемов, являющийся апплетом Телефон и модем (telephon.cpl) (рис. 1.18). Для этого применяется команда rundll32.exe TAPI32.dll, internalConfig.

С помощью данного диалога можно настроить дополнительные параметры инициализации модема или используемые им драйверы — для этого применяется вкладка Модемы. Но, кроме вкладки Модемы, данный диалог содержит еще две вкладки. С помощью вкладки Набор номера можно настроить параметры доступа к поставщику услуг Интернета, а с помощью вкладки Дополнительно можно добавить, настроить или удалить службы, которые используются при работе модемов.

Рис. 1.18. Результат выполнения команды rundll32.exeTAPI32.dll, internalConfig


ПРИМЕЧАНИЕ

Если вам необходима только вкладка Набор номера, то можно воспользоваться командой rundll32.exe TAPI32.dll, LOpenDialAsst. С ее помощью можно вывести приведенное выше диалоговое окно, в котором будет доступна только вкладка Набор номера.

Можно вызвать Мастер настройки сети, предназначенный для создания и настройки сетевого соединения между несколькими компьютерами. Для этого необходимо воспользоваться командой rundll32. exe hnetwiz.dll, HomeNetWizardRunDll. Можно также обратиться к другому мастеру для создания сети — Мастеру новых подключений. С его помощью можно подключиться к Интернету, частной сети или сконфигурировать свою сеть. Для вызова этого мастера достаточно воспользоваться командой rundll32.exe netshell.dll, StartNCW. Можно также выполнить команду rundll32.exe RASAPI32.dll, RasCreatePhonebookEntryA. С ее помощью отображается мастер с названием, аналогичным предыдущему (Мастер новых подключений), но немного другой функциональностью. На рис. 1.19 можно увидеть два этих мастера (справа находится мастер, вызываемый командой rundll2.exe RASAPI32.dll, RasCreatePhonebookEntryA, а слева приведено окно второго шага мастера, вызываемого командой rundll32.exe netshell.dll, StartNCW).


Рис. 1.19. Окна мастера подключения к сети


Но это еще не все, ведь кроме обычных сетей — с помощью подключения нескольких компьютеров к одному кабелю — существуют еще и беспроводные сети. Мастер их создания также можно вызвать. Для этого применяется команда rundll32.exe wzcdlg.dll, FlashConfigCreateNetwork. Этот же мастер можно вызвать и с помощью следующей команды: rundll32.exe wzcdlg.dll, FlashConfigRunWizard.

Но если сетевое соединение уже имеется, то можно воспользоваться командой rundll32.exe netplwiz.dll, AddNetPlaceRunDll для вызова Мастера добавления в сетевое окружение. С его помощью можно создать ярлык для веб-узла, FTP-узла, удаленного компьютера и т.д.

Еще одной интересной возможностью является вызов диалога установки дополнительных сетевых компонентов (рис. 1.20), с помощью которого можно установить службы печати для UNIX, различные сетевые службы (одноранговую сеть, слушатель RIP и т.д.), а также средства для наблюдения за сетевыми подключениями (например, WMI-поставщик SNMP и сам протокол SNMP). Чтобы вызвать данный диалог, достаточно воспользоваться командой rundll32.exe netshell.dll, HrLaunchNetworkOptionalComponents.

Рис. 1.20. Результат выполнения команды rundll32.exe netshell.dll, HrLaunchNetworkOptional Components


Кроме различных мастеров установки или работы с сетью, операционная система Windows предоставляет множество других диалогов, которые косвенно или явно относятся к работе с сетевыми компонентами Windows. К таким диалогам можно отнести диалог Настройка автономных файлов, который является вкладкой Автономные файлы диалога Свойства папки. С его помощью можно определить, будут ли использоваться автономные файлы (файлы удаленного компьютера, доступ к которым можно получить даже тогда, когда соответствующий компьютер отключен), и если будут, то когда будут синхронизироваться автономные файлы. Можно также определить место на диске, отводимое для автономных файлов и т.д. Чтобы вызвать диалог Настройка автономных файлов, достаточно воспользоваться командой rundll32.exe cscui.dll, CSCOptions_RunDLL.

Существует возможность вызова диалога Параметры синхронизации, с помощью которого можно определить, какие файлы будут синхронизироваться при входе/выходе или простое системы, а также с помощью какого сетевого подключения они будут синхронизироваться (рис. 1.21). Для этого применяется команда rundll32.exe mobsync.dll, DisplayOptions.

Рис. 1.21. Результат выполнения команды rundll32.exe mobsync.dll, displayoptions


Операционная система Windows позволяет создавать не только автономные файлы. В ней существуют папки, общий доступ к которым можно открыть по сети. По умолчанию в Windows существует стандартный набор скрытых папок общего доступа, определяющих логические диски компьютера, а также два скрытых общих ресурса ADMIN$ и IPCS$ (знак $ в конце общего ресурса как раз и говорит о том, что он является скрытым), предназначенных для администрирования компьютера. Кроме стандартных папок общего доступа, Windows позволяет создать свои открытые папки. Для этого можно воспользоваться несколькими способами — либо создать папку с помощью вкладки Доступ диалога Свойства для папки (нельзя создавать папки общего доступа, если отключена служба Сервер), либо с помощью соответствующей оснастки. Если вы выбрали второй способ, то диалог для создания общего ресурса можно вызвать с помощью команды rundll32.exe ntlanman.dll, ShareCreate. Его же можно вызвать и с помощью команды rundll32.exe ntlanui.dll, ShareCreate, являющейся аналогом предыдущей.

Если же вы выбрали первый способ, то для быстрого доступа к вкладке Доступ диалога Свойства можно воспользоваться следующей командой — rundll32.exe ntshrui.dll, SharingDialog «путь к папке». После ее вызова перед вами отобразится довольно экзотический диалог (если посмотреть на расположение кнопок ОK и Отмена), но тем не менее, несмотря на некоторые недостатки, он работает (рис. 1.22).

Рис. 1.22. Конечно, диалог с небольшими дефектами, но зато работает


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

ПРИМЕЧАНИЕ

Диалог можно вызвать и с помощью команды rundll32.exe ntlanui.dll, ShareManage, являющейся аналогом предыдущей команды. 

Мастера установки других компонентов Windows

Как можно было заметить, в операционной системе Windows существует очень много мастеров работы с сетью. Это связано с тем, что настройка сети считается сложной задачей, a Microsoft с каждой версией своей операционной системы пытается все больше упростить функции администрирования Windows. Хотя, глядя на такое разнообразие мастеров настройки сети, легко запутаться в том, для чего они применяются и какой из них лучше использовать. Совершенно по-другому обстоят дела с мастерами настройки других компонентов Windows — их не очень много и можно пересчитать по пальцам. Тем не менее они есть, и уже ради этого стоит рассмотреть способы их вызова. Этим мы сейчас и займемся.

■ rundll32.exe sti_ci.dll, AddDevice — с помощью данной команды можно вызвать Мастер установки сканера или цифровой камеры. То же самое делает команда rundll32.exe wiashext.dll, AddDeviceWasChosen.

■ rundll32.exe TCPMonUI.dll, LocalAddPortUI — позволяет вызвать Мастер добавления стандартного порта TCP/IP принтера (рис. 1.23), с помощью которого можно подключиться к удаленному принтеру. 

Рис. 1.23. Результат выполнения команды rundll32.exe TCPMonUI.dll, LocalAddPortUI


■ rundll32.exe upnpui.dll, InstallUPnPUI — при вызове данной команды в сетевом окружении появляются значки сетевых UPnP-устройств. Существует также команда и для удаления сетевых UPnP-устройств — rundll32.exe upnpui.dll, UnInstallUPnPUI.

Другие мастера

Теперь поговорим о различных мастерах, не относящихся к настройке сети или каких-нибудь компонентов Windows. Например, к таким мастерам можно отнести Мастер сброса паролей (рис. 1.24). С его помощью можно сбросить текущий пароль учетной записи пользователя, предоставив данному мастеру дискету с информацией о пароле. Чтобы вызвать окно данного мастера, достаточно воспользоваться командой rundll32.exe KEYMGR.dll, PRShowRestoreFromMsginaW. Можно также применить следующую команду: rundll32.exe KEYMGR.dll, PRShowRestoreWizardExW. Она выполняет аналогичные действия. 

 Рис. 1.24. Результат выполнения команды rundll32.exe KEYMGR.dll, PRShowRestoreFromMsginaW


Конечно, необходимость данного мастера немного спорна, ведь если вы вошли в систему, то и так знаете пароль учетной записи данного пользователя и сбросить его можно и без предоставления дискеты с информацией о пароле. Кстати, если у вас нет дискеты с паролем, то данным мастером будет довольно сложно воспользоваться. Поэтому предлагаю сейчас же ее создать. Для этого применяется диалог Мастер забытых паролей (рис. 1.25), отобразить который можно с помощью команды rundll32.exe KEYMGR.dll, PRShowSaveFromMsginaW. Аналогичные действия выполняет следующая команда: rundll32.exe KEYMGR.dll, PRShowSaveWizardExW. 

Рис. 1.25. Результат выполнения команды rundll32.exe keymgr.dll, PRShowSaveFromMsginaW


Следующий мастер, который можно вызвать, — Мастер паспорта .NET (рис. 1.26). Такой паспорт может требоваться при посещении некоторых сайтов Интернета (например, сайта почтовой службы Hotmail). Чтобы вызвать данный мастер, достаточно воспользоваться командой rundll32.exe NETPLWIZ.dll, PassportWizardRunDll. Паспорт .NET позволяет использовать один и тот же логин и пароль на всех сайтах, которые поддерживают работу с ним. В паспорте также можно указать дополнительную информацию, тогда ее не придется вводить в формах сайтов. Программисты Microsoft утверждают, что для защиты вашего паспорта .NET используется мощная система шифрования, поэтому взломать его практически невозможно.

Рис. 1.26. Результат выполнения команды rundll32.exe NETPLWIZ.dll, PassportWizardRunDll


Можно вызвать Мастер веб-публикаций, с помощью которого можно опубликовать различные файлы в Интернете или в локальной сети. После этого данные файлы можно будет просмотреть с помощью браузера. Чтобы вызвать данный мастер, достаточно выполнить команду rundll32.exe NETPLWIZ.dll, PublishRunDll.

Диалоги завершения работы Windows

Еще одной разновидностью диалогов, которые используются в Windows, являются различные диалоги-предупреждения, применяемые при попытке выхода пользователя из системы или при необходимости перезагрузки. Большая их часть является обычными окнами, не несущими никакой функциональности, хотя попадаются и такие, которые действительно перезагружают компьютер.

Одним из таких «полнофункциональных» диалогов является окно Мастера настройки Internet Explorer 6 (рис. 1.27), отображаемое при выполнении команды rundll32.exe IEAKENG.dll, DoReboot. После нажатия кнопки Да компьютер действительно начнет перезагружаться. 

Рис. 1.27. Результат выполнения команды rundll32.exe IEAKENG.dll, DoReboot


Существует возможность перезагрузить компьютер без вывода каких-либо диалогов. Для этого применяется следующая команда: rundll32.exe IUENGINE.dll, EngRebootMachine, используемая службой Windows Update. После ее выполнения система автоматически закроет все работающие приложения и начнет перезагрузку компьютера.

Вот, в принципе, и все команды rundll32.exe, которые действительно перезагружают компьютер. Но, кроме них, существует еще несколько интересных команд, которые не перезагружают компьютер, но угрожают это сделать. К таким командам можно отнести rundll32.exe MSGINA.dll, ShellShutdownDialog, вызывающую диалоговое окно завершения работы компьютера, в списке которого доступны команды перезагрузки, выключения и перехода в спящий режим (рис. 1.28).

С помощью команды rundll32.exe SHELL32.dll, RestartDialogEx можно вызвать диалоговое окно Изменение параметров системы, в котором говорится, что после произведенных изменений системы необходимо перезагрузить компьютер. 

Рис. 1.28. Результат выполнения команды rundll32.exe MSGINA.dll, ShellShutdownDialog

Еще одним «нефункциональным» диалоговым окном, которое можно вызвать, является окно с сообщением Данный компьютер используется другим пользователем. Для вызова этого окна необходимо выполнить команду rundll32.exe USER32.dll, DisplayExitWindowsWarnings.

Другие диалоговые окна

В Windows XP присутствуют не только диалоговые окна и мастера для работы с сетью — есть и много других диалоговых окон, некоторые стоят того, чтобы их рассмотреть. Например, существует возможность открытия диалогового окна Сертификаты, предназначенного для просмотра сведений о различных типах сертификатов, установленных на компьютере. Для этого можно выполнить команду rundll32.exe CRYPTUI.dll, CryptUIStartCertMgr, результат чего представлен на рис. 1.29.

Для открытия диалога Сертификаты можно применить еще несколько команд. Первой является команда rundll32 .exe IEAKENG.dll, ModifySiteCert. Вызов ее эквивалентен вызову предыдущей команды. Этот же диалог можно вызвать и с помощью следующей команды: rundll32.exe wintrust.dll, OpenPersonalTrustDBDialog.

Существует возможность вызова диалога Сертификаты, открытого на вкладке Доверенные издатели (в диалоге будет присутствовать только эта вкладка). Для этого необходимо воспользоваться командой rundll32.exe IEAKENG.dll, ModifyAuthCode.

Кроме диалога Сертификаты, команды rundll32.exe позволяют вызвать еще и окно Диспетчера устройств. Для этого достаточно воспользоваться командой rundll32.exe devmgr.dll, DeviceManager_Execute. Это же действие можно выполнить с помощью команды rundll32.exe devmgr.dll, DevicePropertiesA. 

 Рис. 1.29. Результат выполнения команды rundll32.exe CRYPTUI.dll, CryptUIStartCertMgr


Но и это еще не все. Операционная система Windows XP позволяет открывать следующие диалоговые окна.

■ Rundll32.exe diskcopy, DiskCopyRunDll — позволяет открыть диалоговое окно копирования содержимого одной дискеты на другую (рис. 1.30). После нажатия кнопки Начать будет произведено копирование в память компьютера содержимого дискеты, установленной в дисковод А:. После этого система попросит вставить новую дискету в дисковод А:, на которую будут скопированы данные из памяти компьютера. 

Рис. 1.30. Результат выполнения команды Rundll32.exe diskcopy, DiskCopyRunDll


■ rundll32.exe dsquery.dll, OpenQueryWindow — вызов данной команды открывает диалог для поиска в каталоге Active Directory. Если у вас не установлен Active Directory, то диалог все равно будет вызываться, но пользоваться им будет нельзя.

■ rundll32.exe FldrClnr.dll, Wizard_RunDLL ALL — позволяет вызвать Мастер очистки рабочего стола, с помощью которого можно перенести неиспользуемые ярлыки Рабочего стола в специальную папку Неиспользуемые ярлыки. Доступ к этому мастеру также можно получить, нажав кнопку Очистить рабочий стол на вкладке Общие диалога Элементы рабочего стола. Диалог вызывается нажатием кнопки Настройка рабочего стола на вкладке Рабочий стол окна Свойства: Экран.

■ rundll32.exe IEAKENG.dll, BrowseForFolderA «текст» — вызов данной команды отображает диалог, подобный представленному на рис. 1.31. Окно используется для выбора папки, но в нашем случае выбранную папку будет некуда передать, поэтому выполнение данной команды в конечном итоге будет приводить к ошибке. Этот диалог можно вызвать и с помощью команды rundll32.exe IUENGINE.dll, EngBrowseForFolder. 

Рис. 1.31. Результат выполнения команды rundll32.exe IEAKENG.dll, BrowseForFolderA «текст»


■ rundll32.exe IEAKENG.dll, ShowDeskCpl — позволяет вывести диалог Свойства: Экран, в котором будет присутствовать только одна вкладка — Рабочий стол. Все остальные вкладки будут скрыты с помощью групповых политик при запуске данной команды (если пользователь не имеет прав на изменение параметров групповых политик, то отображаемый диалог будет содержать все вкладки). После закрытия диалогового окна Свойства: Экран все настройки групповых политик, которые были изменены данной командой, будут удалены.

■ rundll32.exe KEYMGR.dll, KRShowKeyMgr — вызов данной команды отображает диалоговое окно Сохранение имен пользователей и паролей (рис. 1.32).

С помощью этого диалога можно указать или удалить имена пользователей и пароли к различным серверам домена или сети Интернет. После указания этих паролей операционная система Windows будет автоматически их использовать, не спрашивая у вас пароль. 

Рис. 1.32. Результат выполнения команды rundll32.exe KEYMGR.dll, KRShowKeyMgr


■ rundll32.exe MSCTF.dll, TF_RunInputCPL — с помощью данной команды вызывается диалог Языки и службы текстового ввода. Благодаря ему можно определить конфигурации клавиш для смены раскладки клавиатуры, раскладку клавиатуры по умолчанию, а также определить настройки языковой панели и дополнительных служб текстового ввода. Доступ к этому диалогу можно получить и после нажатия кнопки Подробнее на вкладке Языки окна Язык и региональные стандарты (intl.cpl).

■ rundll32.exe netplwiz.dll, UsersRunDll — вызов данной команды отображает диалоговое окно для редактирования списка учетных записей пользователей, зарегистрированных в системе (рис. 1.33). С помощью данного диалога можно указать учетную запись пользователя, с правами которого всегда будет выполняться автоматический вход в систему. Для этого достаточно просто снять флажок Требовать ввод имени пользователя и пароля. После этого система попросит вас ввести логин пользователя, с правами которого будет выполняться вход в систему, и его пароль.

ПРИМЕЧАНИЕ

Возможность автоматического входа в систему с правами конкретного пользователя можно установить с помощью реестра. Для этого применяются следующие параметры строкового типа из ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon: AutoAdminLogon — если значение данного параметра равно 1, то автоматический вход в систему с правами конкретного пользователя будет включен; DefaultDomainName — параметр определяет домен, к которому будет выполняться подключение; DefaultUserName — параметр определяет логин пользователя, от имени которого будет выполняться автоматический вход в систему; DefaultPassword — параметр определяет пароль для учетной записи, от имени которой будет выполняться вход в систему (внимание, этот пароль не шифруется, поэтому любой сможет его узнать, просмотрев данную ветвь реестра).

Рис. 1.33. Результат выполнения команды rundll32.exe netplwiz.dll, UsersRunDll


■ rundll32.exe newdev.dll, WindowsUpdateDriverSearchingPolicyUi — позволяет вызвать диалог подключения к Windows Update (рис. 1.34), с помощью которого можно указать, разрешено ли подключение компьютера к сайту Microsoft для скачивания обновлений операционной системы. Данный диалог также можно вызвать, нажав кнопку Узел Windows Update на вкладке Оборудование диалога Свойства системы.

Рис. 1.34. Результат выполнения команды rundll32.exe newdev.dll, WindowsUpdateDriverSearchingPolicyUi


Windows Update является простейшим средством для скачивания с узла Microsoft заплат и обновлений для операционной системы Windows или драйверов для различных устройств. Для своей работы сервер Windows Update использует 443 порт, поэтому он должен быть открыт. Перед тем как загрузить на ваш компьютер обновления, Windows Update проверяет версии установленных в операционной системе компонентов, языковые настройки, а также параметры реестра, описывающие лицензирование продукта; если версия операционной системы не является лицензионной (так называемая пиратская версия), то вам будет отказано в доступе к функции Windows Update. Вместе со скачиваемым обновлением будет загружен уникальный идентификатор, применяемый для идентификации вашего компьютера на сервере Windows Update. Корпорация Microsoft утверждает, что этот идентификатор не используется для вашей идентификации в сети Интернет.

■ rundll32.exe RASDLG.dll, RasAutodialDisableDlgA — вызов данной команды отображает диалог сбоя при автоматическом наборе номера (рис. 1.35).

Рис. 1.35. Результат выполнения команды rundll32.exe RASDLG.dll, RasAutodialDisableDlgA


Если нажать кнопку Да этого диалога, то DWORD-параметру 1 будет присвоено значение 1. Параметр расположен в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\RAS AutoDial\Control\Locations.

■ rundll32.exe shdocvw.dll, DoOrganizeFavDlg — позволяет вызвать диалог Упорядочить избранное, отображенный на рис. 1.36. С его помощью можно создавать, удалять или перемещать папки.

Рис. 1.36. Результат выполнения команды rundll32.exe shdocvw.dll, DoOrganizeFavDlg


■ rundll32.exe SHELL32.dll, Options_RunDLL 0 — вызов данной команды отображает диалоговое окно Свойства папки, с помощью которого можно изменить некоторые стандартные настройки оболочки пользователя, отредактировать параметры различных типов файлов, а также получить доступ к вкладке Автономные файлы. Данный диалог можно открыть, выбрав в меню Сервис пункт Свойства папки.

Возможно использование и другой разновидности данной команды, а именно rundll32.exe SHELL32.dll, Options_RunDLL 1. Она позволяет открыть диалоговое окно Свойства панели задач и меню Пуск. Его же можно открыть с помощью команды Свойства контекстного меню Панели задач.

■ rundll32.exe shell32.dll, SHFormatDrive — выполнение данной команды приводит к открытию диалога форматирования (рис. 1.37).

Рис. 1.37. Результат выполнения команды rundll32.exe shell32.dll, SHFormatDrive


■ rundll32.exe syncui.dll, Briefcase_Intro — с помощью данной команды можно отобразить диалог, появляющийся при создании папки Портфель на Рабочем столе с помощью функций оболочки Windows (рис. 1.38).

Рис. 1.38. Результат выполнения команды rundll32.exe syncui.dll, Briefcase_Intro


При этом сама папка Портфель на Рабочем столе создана не будет — для этого необходимо использовать следующую команду: rundll32.exe syncui.dll, Briefcase Create.

Глава 2