Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.

Читать: Недокументированные и малоизвестные возможности Windows XP - Роман Александрович Клименко на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

Несмотря на то, что данное окно нельзя вызвать с помощью команд 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.



Поделиться книгой:

На главную
Назад