Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Всё о работе в Интернет" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Секреты Windows: статьи о реестре, rundll32.exe, программах Книга 'Недокументированные возможности Windows XP'. Часть 3
Продолжение, начало в выпусках: 4 6 Книга "Недокументированные возможности Windows XP. Библиотека пользователя", Глава 1. Rundll32.exe, Часть 3. ActiveX-объекты
ActiveX-объекты — это специальные программы, которые не могут быть непосредственно выполнены двойным нажатием на файле ActiveX-объекта, но могут быть выполнены под руководством операционной системы Windows. Для этого применяются либо операции вставки и внедрения, либо команда rundll32. Да, несмотря на то, что ActiveX-объекты не являются полноценными программами, некоторые из них также возможно вызвать как программы. Например, давайте попробуем выполнить команду rundll32.exe amovie.ocx, RunDll /play /close E:\music\Мультфильмы\Музыка звезд\5.wma (не забудьте изменить путь и имя музыкального файла на свои). Результат выполнения этой команды можно увидеть на рисунке 1.14. Рисунок 1 Рис. 1.14. Пример вызова ActiveX-объекта Плюсом таких вызовов является то, что каждый вызванный ActiveX-объект выполняется как отдельная программа. То есть, если вы несколько раз вызовете один и тот же ActiveX-объект, то будет открыто несколько ActiveX-объектов (в данном случае проигрывателей), а не только один. Давайте рассмотрим приведенный выше вызов ActiveX-объекта детальней: rundll32.exe 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).
Рисунок 2 Рис. 1.15. Вызов программы HTML Help Вот и все стандартные ActiveX-объекты, которые, кроме функций DLLREGISTERSERVER и DLLUNREGISTERSERVER, поддерживают дополнительные функции. Драйверы
Драйверы — это специальные программки, которые управляют работой оборудования, для которого они были написаны. Сейчас практически каждое устройство — от оптической мышки до видеокамеры — требует для своего взаимодействия с компьютером отдельный драйвер. Конечно, не все из этих устройств поставляются со своим собственным драйвером — и это не удивительно, ведь в операционной системе Windows XP уже содержится очень много различных драйверов для многих устройств известных производителей (все они хранятся на установочном диске (а также в локальной файловой системе) в архиве driver.cab и устанавливаются только при нахождении системой нового оборудования). Как и ActiveX-объекты, драйверы также могут содержать в себе вызов функций, но использование этих функций оказывается не всегда возможным. Во-первых, некоторые драйверы написаны для операционной системы MS-DOS, поэтому использование их функций в операционной системе Windows XP невозможно. А во-вторых, вызов функции уже загруженного драйвера не всегда срабатывает — в большинстве случаев система просто отобразит сообщение, подобное приведенному на рисунке 1.16. Рисунок 3 Рис. 1.16. Как правило, уже загруженные драйверы команды не поддерживают У себя на компьютере автор книги нашел только одну доступную команду, предоставляемую драйвером WINSPOOL.DRV. Это стандартный драйвер Windows, расположенный в каталоге %systemroot%\system32. Он управляет подключением к принтеру, а также передаче ему заданий, и поддерживает такую команду rundll32.exe — rundll32.exe WINSPOOL.DRV, ConnectToPrinterDlg. Данная команда отображает диалог для подключения к сетевому принтеру и передаче ему задания. Результат выполнения данной команды будет подобным приведенному на рисунке 1.17. Рисунок 4 Рис. 1.17. Результат выполнения команды rundll32.exe 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.18. Рисунок 5 Рис. 1.18. Результат выполнения команды rundll32.exe ccfgnt.dll, IcfgInstallModem Аналогичное окно можно вызвать и с помощью команды rundll32.exe modemui.dll, InvokeControlPanel, результат выполнения которой ничем не отличается от результата выполнения предыдущей команды. Если модем уже настроен, тогда можно вызвать диалог отображения свойств модемов, являющийся апплетом ТЕЛЕФОН И МОДЕМ (telephon.cpl) (Рис.1.19). Для этого применятся команда rundll32.exe TAPI32.dll, internalConfig. Рисунок 6 Рис. 1.19. Результат выполнения команды rundll32.exe TAPI32.dll, internalConfig С помощью данного диалога можно настроить дополнительные параметры инициализации модема или используемые им драйверы — для этого применятся вкладка МОДЕМЫ. Но кроме вкладки МОДЕМЫ данный диалог содержит еще две вкладки. С помощью вкладки НАБОР НОМЕРА можно настроить параметры доступа к поставщику услуг Интернет. А с помощью вкладки ДОПОЛНИТЕЛЬНО можно добавить, настроить или удалить службы, которые используются при работе модемов. Если вам необходима только вкладка НАБОР НОМЕРА, тогда можно воспользоваться командой rundll32.exe TAPI32.dll, LOpenDialAsst. С помощью данной команды можно отобразить приведенное выше диалоговое окно, в котором будет доступна только вкладка НАБОР НОМЕРА. А можно вызвать мастер настройки сети, предназначенный для создания и настройки сетевого соединения между несколькими компьютерами. Для этого необходимо воспользоваться командой rundll32.exe hnetwiz.dll, HomeNetWizardRunDll. Также можно воспользоваться другим мастером для создания сети — МАСТЕРОМ НОВЫХ ПОДКЛЮЧЕНИЙ. С его помощью можно подключиться к Интернет, частной сети или сконфигурировать свою сеть. Для вызова данного мастер достаточно воспользоваться командой rundll32.exe netshell.dll, StartNCW. Также можно воспользоваться командой rundll32.exe RASAPI32.dll, RasCreatePhonebookEntryA. С помощью этой команды отображается мастер с названием, аналогичным предыдущему (МАСТЕР НОВЫХ ПОДКЛЮЧЕНИЙ), но немножко другой функциональностью. На рисунке 1.20 можно увидеть два этих мастера (на рисунке справа находится мастер, вызываемый командой rundll32.exe RASAPI32.dll, RasCreatePhonebookEntryA, а слева на рисунке приведено окно второго шага мастера, вызываемого командой rundll32.exe netshell.dll, StartNCW). Рисунок 7 Рис. 1.20. Мастера подключения к сети Но это еще не все, ведь кроме обычных сетей — с помощью подключения нескольких компьютеров к одному кабели — существуют еще и беспроводные сети. Мастер их создания также можно вызвать. Для этого применятся команда rundll32.exe wzcdlg.dll, FlashConfigCreateNetwork. Также данный мастер можно вызвать с помощью команды rundll32.exe wzcdlg.dll, FlashConfigRunWizard. Но если сетевое соединение уже имеется, тогда можно воспользоваться следующей командой — rundll32.exe netplwiz.dll, AddNetPlaceRunDll для вызова мастера добавления в сетевое окружение. С помощью данного мастера можно создать ярлык для Веб-узла, FTP-узла, удаленного компьютера и т.д. Еще одной интересной возможностью является вызов диалога установки дополнительных сетевых компонентов (Рис.1.21), с помощью которого можно установить службы печати для Unix, различные сетевые службы (одноранговую сеть, слушатель RIP и т.д.), а также средства для наблюдения за сетевыми подключениями (например, WMI поставщик SNMP и сам протокол SNMP). Чтобы вызвать данный диалог, достаточно воспользоваться командой rundll32.exe netshell.dll, HrLaunchNetworkOptionalComponents. Рисунок 8 Рис. 1.21. Результат выполнения команды rundll32.exe netshell.dll, HrLaunchNetworkOptionalComponents Кроме различных мастеров установки или работы с сетью, операционная система Windows предоставляет множество других диалогов, которые косвенно или явно относятся к работе с сетевыми компонентами Windows. К таким диалогам можно отнести диалог НАСТРОЙКА АВТОНОМНЫХ ФАЙЛОВ, который является просто вкладкой АВТОНОМНЫЕ ФАЙЛЫ диалога СВОЙСТВА ПАПКИ. С помощью данного диалога можно определить, будут ли использоваться автономные файлы (файлы удаленного компьютера, доступ к которым можно получить даже тогда, когда соответствующий компьютер отключен), и если будут, то когда будет выполняться синхронизация автономных файлов, а также место на диске, отводимое для автономных файлов и т.д. Чтобы вызвать диалог НАСТРОЙКА АВТОНОМНЫХ ФАЙЛОВ, достаточно воспользоваться командой rundll32.exe cscui.dll, CSCOptions_RunDLL. Также существует возможность вызова диалога ПАРАМЕТРЫ СИНХРОНИЗАЦИИ, с помощью которого можно определить, какие файлы будут синхронизироваться при входе/выходе или простое системы, а также с помощью какого сетевого подключения они будут синхронизироваться (Рис.1.22). Для этого применяется команда rundll32.exe mobsync.dll, DisplayOptions. Рисунок 9 Рис. 1.22. Результат выполнения команды 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 «путь к папке». После вызова данной команды перед вами отобразится довольно экзотический диалог (если посмотреть на расположение кнопок ОК и ОТМЕНА), но, тем не менее, несмотря на некоторые недостатки, этот диалог работает (Рис.1.23). Рисунок 10 Рис. 1.23. Конечно, диалог с небольшими дефектами, но зато работает Также существует возможность просмотра списка всех общих ресурсов, доступных на данном компьютере. Для этого также применяется оснастка ОБЩИЕ ПАПКИ. Но более быстрым способ является непосредственный вызов диалога ОБЩИЕ ПАПКИ — для этого достаточно просто воспользоваться командой rundll32.exe ntlanman.dll, ShareManage. Кроме просмотра списка общих ресурсов, данный диалог позволяет создать новый общий ресурс, просмотреть свойства общего ресурса или прекратить доступ к общему ресурсу. Также данный диалог можно вызвать с помощью команды rundll32.exe ntlanui.dll, ShareManage, являющейся аналогом предыдущей команды. Мастера установки других компонентов Windows Как можно было заметить, в операционной системе Windows существует очень много мастеров работы с сетью. Это связано с тем, что настройка сети считается сложной задачей, а Microsoft с каждой версией своей операционной системы пытается все больше упростить функции администрирования Windows. Хотя, глядя на такое большое разнообразие различных мастеров настройки сети, не сложно и запутаться в том, для чего они применяются, и какой из них лучше использовать. Совершенно по другому обстоят дела с мастерами настройки других компонентов Windows — их не очень много, и их можно пересчитать на пальцах. Тем не менее, они есть, и уже ради этого способы их вызова стоит рассмотреть. Этим мы сейчас и займемся.
Рисунок 11 Рис. 1.24. Результат выполнения команды rundll32.exe TCPMonUI.dll, LocalAddPortUI Другие мастера А теперь давайте поговорим о различных мастерах, не относящихся к настройке сети или каких-нибудь компонентов Windows. Например, к таким мастерам можно отнести мастер сброса паролей, отображенный на рисунке 1.25. С его помощью можно сбросить текущий пароль учетной записи пользователя, предоставив данному мастеру дискету с информацией о пароле. Чтобы вызвать окно данного мастера, достаточно воспользоваться командой rundll32.exe KEYMGR.dll, PRShowRestoreFromMsginaW. Также можно воспользоваться командой rundll32.exe KEYMGR.dll, PRShowRestoreWizardExW — она выполняет аналогичные действия. Рисунок 12 Рис. 1.25. Результат выполнения команды rundll32.exe KEYMGR.dll, PRShowRestoreFromMsginaW Конечно, необходимость данного мастера немного спорна, ведь если вы вошли в систему, тогда вы и так знаете пароль учетной записи данного пользователя и сбросить его можно и без предоставления дискеты с информацией о пароле…Кстати, если у вас нет дискеты с паролем, тогда данным мастером также будет довольно сложно воспользоваться. Поэтому предлагаю сейчас же ее создать. Для этого используется диалог МАСТЕР ЗАБЫТЫХ ПАРОЛЕЙ (Рис.1.26), отобразить который можно с помощью команды rundll32.exe KEYMGR.dll, PRShowSaveFromMsginaW. Аналогичные действия выполняет команда rundll32.exe KEYMGR.dll, PRShowSaveWizardExW. Рисунок 13 Рис. 1.26. Результат выполнения команды rundll32.exe KEYMGR.dll, PRShowSaveFromMsginaW Еще одним мастером, который можно вызвать, является мастер создания паспорта .NET, который может требоваться при посещении некоторых сайтов Интернет (например, сайта почтовой службы Hotmail) (Рис.1.27). Чтобы вызвать данный мастер, достаточно воспользоваться командой rundll32.exe NETPLWIZ.dll, PassportWizardRunDll. Паспорт .NET позволяет использовать один и тот же логин и пароль на всех сайтах, которые поддерживают работу с паспортом .NET. Также в паспорте можно указать дополнительную информацию — тогда эту информацию не придется вводить в формах сайтов. Программисты Microsoft утверждают, что для защиты вашего паспорта .NET используется мощная система шифрования, поэтому взломать его практически невозможно. Рисунок 14 Рис. 1.27. Результат выполнения команды rundll32.exe NETPLWIZ.dll, PassportWizardRunDll Также можно вызвать мастер Веб-публикаций, с помощью которого можно опубликовать различные файлы в Интернет или в локальной сети. После этого данные файлы можно будет просмотреть с помощью браузера. Чтобы вызвать данный мастер, достаточно выполнить команду rundll32.exe NETPLWIZ.dll, PublishRunDll. Продолжение следует Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=95
|
В избранное | ||