Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Секреты Windows: статьи о реестре, rundll32.exe, программах


Глава 4. Команды Rundll32. 4.4. Другие возможности команд rundll32
Дата: 16 августа 2009, воскресенье

В конец записи

И напоследок давайте рассмотрим другие возможности, которые предоставляет нам программа rundll32.exe.

Работа с сертификатами

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

Таблица 4.35. Функции библиотеки CRYPTEXT.dll

CryptExtAddCER «файл» Добавляет сертификат безопасности.
CryptExtAddCRL «файл» Добавляет список отзыва сертификатов.
CryptExtAddCTL «файл» Добавляет список доверия сертификатов.
CryptExtAddP7R «файл» Добавляет файл ответа на запрос сертификата.
CryptExtAddPFX «файл» Добавляет файл обмена личной информацией.
CryptExtAddSPC «файл» Добавляет сертификат PCKS #7.
CryptExtOpenCAT «файл» Открывает каталог безопасности.
CryptExtOpenCER «файл» Открывает сертификат безопасности.
CryptExtOpenCRL «файл» Открывает список отзыва сертификатов.
CryptExtOpenCTL «файл» Открывает список доверия сертификатов.
CryptExtOpenP10 «файл» Открывает запрос на сертификат.
CryptExtOpenP7R «файл» Открывает файл ответа на запрос сертификата.
CryptExtOpenPKCS7 «файл» Открывает сертификат PCKS #7.
CryptExtOpenSTR «файл» Открывает хранилище сериализированных сертификатов.

Библиотека user32.dll

При помощи библиотеки user32.dll (многопользовательская библиотека клиента USER API Windows) реализуется очень большое количество функций, некоторые из которых можно вызвать при помощи программы rundll32.exe. Наверное, самой интересной из этих функций является LockWorkStation — с ее помощью можно заблокировать компьютер.

Также интересной возможность данной библиотеки является функция SwapMouseButton. С ее помощью назначение кнопок мыши меняется местами (левая кнопка выполняет действие правой, а правая, соответственно, левой).

А если вы воспользуетесь командой rundll32.exe user32.dll WinHelpA, тогда перед вами отобразится окно программы СПРАВКА И ПОДДЕРЖКА.

Остальные функции библиотеки user32.dll представлены в таблице ниже.

Таблица 4.36. Библиотека user32.dll

DisplayExitWindowsWarnings Вызвать диалог перезагрузки компьютера
MessageBoxA «заголовок» Вызвать окно сообщения с указанным заголовком.
mouse_event Отобразить контекстное меню.
SetCursorPos Установить курсор в правый нижний угол экрана.
SetPhysicalCursorPos Установить курсор в правый нижний угол экрана.
SetDeskWallpaper Удаляет обои рабочего стола пользователя.

Библиотека ADVPACK.dll

Библиотека ADVPACK.dll реализует основные функции по работе с реестром, а также установке расширенных inf-файлов. Для установки inf-файлов применяется функция LaunchINFSectionEx, способ использования которой представлен ниже.

  • Rundll32.exe ADVPACK.dll LaunchINFSectionEx «inf-файл», «начальный раздел inf-файла», «cab-файл с дополнительными файлами», «флаг». Флаг является битовой маской и может принимать следующие значения: 4 (не выводить промежуточные результаты установки), 8 (не преобразовывать группы), 16 (после установки обновить оболочку), 32 (выполнить архивацию перед установкой), 64 (отменить установку inf-файла), 128 (выполнить валидизацию), 256 (не строить список файлов), 512 (задерживать регистрацию ActiveX-объектов).

Примером использования функции LaunchINFSectionEx может быть команда rundll32 advpack.dll, LaunchINFSectionEx %11%\ieuinit.inf,Install,,36. Данная команда начинает процесс установки файла ieuinit.inf, расположенного в каталоге %systemroot%\inf (числовое представление этого каталога — %11%), выполняя команды, указанные в разделе Install данного файла.

Помимо установки inf-файла с помощью библиотеки ADVPACK.dll можно выполнить установку ActiveX-объектов. Для этого достаточно воспользоваться командой Rundll32.exe ADVPACK.dll RegisterOCX «файл .ocx».

Кроме описанных выше команд для установки inf-файлов и ActiveX-объектов библиотека ADVPACK.dll поддерживает еще несколько интересных возможностей. В первую очередь, это возможность с помощью команды вида Rundll32.exe ADVPACK.dll DelNodeRunDLL32 «файл или каталог» удалить указанный файл либо весь каталог.

И еще одной возможностью библиотеки ADVPACK.dll являются функции работы с ветвью реестра HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components.

  • Rundll32.exe ADVPACK.dll UserInstStubWrapper «каталог». Выполнить команду, записанную в параметре строкового типа RealStubPath, который расположен в ветви реестра HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\«каталог». С помощью параметра RealStubPath запускаются команды, которые не требуют взаимодействия с пользователем — даже если вы запустите с помощью этого параметра какую-либо программу с графической оболочкой, вы не сможете увидеть окно этой программы, хотя процесс программы будет создан.
  • Rundll32.exe ADVPACK.dll UserUnInstStubWrapper «каталог». Выполнить команду, записанную в параметре строкового типа RealStubPath, который расположен в ветви реестра HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\«каталог».Restore.

Служба фонового обновления

Для работы со службой фонового обновления dfsvc.exe можно применять функции библиотеки dfshim.dll (Application Deployment Support Library). Например, вызов функции KillService приведет к завершению работы процесса dfsvc.exe.

Также вы можете воспользоваться следующими командами.

  • rundll32 dfshim.dll ShOpenVerbApplication «путь URL». Выполнить соединение со службой обновления для передачи программы.
  • rundll32 dfshim.dll ShOpenVerbShortcut «путь URL». Выполнить соединение со службой обновления на основе данного ярлыка.
  • rundll32 dfshim.dll ShArpMaintain. Выполнить соединение со службой обновления.

Возможности программы VmWare

Известный всем эмулятор операционных систем использует для своей работы библиотеку MSI39.dll, в которой содержатся несколько функций, которые можно вызвать при помощи rundll32.exe. В первую очередь следует обратить внимание на функцию VMAskDisableAutorun. После вызова данной функции перед вами отобразится диалог, позволяющий отключить автоматический запуск дисков.

Если же необходимо выполнить обратное действие, тогда достаточно воспользоваться командой rundll32.exe MSI39.dll VMRestoreRegistry, чтобы автоматический запуск дисков был включен.

Также в библиотеке MSI39.dll присутствует ряд функций, которые выполняют удаление VMWare.

  • rundll32.exe MSI39.dll VMCleanFiles. Удалить из каталога %systemroot%\SYSTEM32\DRIVERS драйверы wmnetuserif.sys, wmnetbridge.sys, wmnetadapter.sys, wmnet.sys.
  • rundll32.exe MSI39.dll VMDeleteFiles. Удалить все файлы VMWare и все сведения о ней из реестра.
  • rundll32.exe MSI39.dll VMDeleteRegistry. Удалить все сведения о VMWare из реестра.

Библиотека shSetup.dll

Библиотека shSetup.dll (Shell setup helper) используется для работы стандартного средства развертывания sysprep.exe. Данная библиотека поддерживает следующие возможности.

  • rundll32.exe shSetup.dll Sysprep_Cleanup_Shell. Очистить корзину, списки MRU, а также отключить автоматический вход в систему и все панели инструментов, и, кроме того, удалить параметры из ветвей реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE и HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OOBE.
  • rundll32.exe shSetup.dll Sysprep_Generalize_Shell. Удалить ветвь реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OOBE.

Служба времени Windows

Для работы со службой времени Windows применяется библиотека w32time.dll (Служба времени Windows). Она поддерживает следующие возможности.

  • rundll32.exe w32time.dll W32TimeVerifyJoinConfig. Присвоить параметрам DWORD-типа MaxNegPhaseCorrection и MaxPosPhaseCorrection, расположенным в ветви реестра HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config, значения 0xffffffff. Также параметру строкового типа Type, расположенному в ветви реестра HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters, присваивается значение NT5DS.
  • rundll32.exe w32time.dll W32TimeVerifyUnjoinConfig. Присвоить параметрам DWORD-типа MaxNegPhaseCorrection и MaxPosPhaseCorrection, расположенным в ветви реестра HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config, значения 0xD2F0. Также параметру строкового типа Type, расположенному в ветви реестра HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters, присваивается значение NTP.

Механизм восстановления системы

При помощи функций библиотеки SRCORE.dll (библиотека ядра восстановления системы Microsoft Windows) можно выполнить некоторые задачи управления стандартным механизмом восстановления системы. Для этого применяются следующие команды.

  • rundll32.exe SRCORE.dll SysprepGeneralize. Отключить механизм восстановления системы на всех дисках.
  • rundll32.exe SRCORE.dll SysprepCleanup. Удалить все созданные ранее точки восстановления.

Генератор библиотек типов

В поставку операционной системы Windows Vista входит библиотека scrobj.dll (Windows Script Component Runtime), которая поддерживает функцию GenerateTypeLib. Данная функция предназначена для создания библиотек типов. Синтаксис ее использования можно узнать при помощи команды Rundll32.exe scrobj.dll GenerateTypeLib /? (рис. 4.12).


Рис. 4.12. Результат выполнения команды Rundll32.exe scrobj.dll GenerateTypeLib /?

Другие возможности

В таблице ниже представлены последние команды rundll32.exe, которые мы с вами рассмотрим в данной главе.

Таблица 4.37. Другие варианты использования программы rundll32.exe

  • CABVIEW.dll Uninstall. Удалить стандартный компонент чтения cab-файлов.
  • DwmApi.dll #102. Запускает процесс dwm.exe (то есть включает интерфейс Windows Aero)
  • DwmApi.dll DwmEnableComposition. Запускает процесс dwm.exe, тем самым включая интерфейс Windows Aero
  • KERNEL32.dll FatalAppExit. Отобразить диалог Неустранимая ошибка приложения.
  • msi.dll MsiMessageBox «заголовок». Отобразить сообщение с указанным заголовком.
  • MSORCL32.dll ConfigDSN. Выполнить конфигурацию DSN ODBC для Oracle.
  • MSUTB.dll SetRegisterLangBand. Присвоить параметру DWORD-типа ShowDeskBand значение 1 (расположен в ветви HKCU\Software\Microsoft\CTF\MSUTB).
  • newdev.dll,pDiDeviceInstallAction «именованный канал» «ID оборудования». Выполнить установку оборудования с указанным ID. Пример команды: rundll32.exe newdev.dll,pDiDeviceInstallAction \\.\pipe\PNP_Device_Install_Pipe_1.{1f9151df-eebf-486c-96b3-b386c5e699bd} "USB\VID_0BB4&PID_00CF\5&f4079a3&0&1". Сведения об установленном оборудовании (и команде rundll32.exe, используемой для этого), содержатся в файле setupapi.app.log каталога %systemroot%\inf.
  • powrprof.dll SetSuspendState. Перейти в спящий режим.
  • RASAPI32.dll RasSetSharedAutoDial. Присвоить параметру DWORD-типа SharedAutoDial значение 1 (расположен в ветви HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters).
  • sdengin2.dll ExecuteScheduledBackup /d. Выполнить запланированное задание архивирования.
  • setupapi.dll InstallHinfSection «начальный раздел», «флаг», «inf-файл». Установить inf-файл. Флаг может принимать значения: 0 (после установки не перезагружать компьютер), 1 (перезагружать компьютер), 2 (спрашивать о перезагрузке), 3 (перезагружать, если нужно), 4 (спрашивать о перезагрузке, если нужно)
  • syssetup.dll UpdatePnpDeviceDriversEx. Переустановить драйверы устройств, поддерживающие Plug`n`Play.
  • slcc.dll OpenPackage «файл». Установить файл лицензий при помощи мастера Коммерческий клиент лицензирования программного обеспечения.
  • syssetup.dll SetupInfObjectInstallActionW. Отобразить диалог Установка не выполнена.
  • UxTheme.dll EnableTheming. Присвоить параметру строкового типа ThemeActive значение 1 (расположен в ветви HKCU\Software\Microsoft\Windows\CurrentVersion\ThemeManager).
  • shell32.dll,SHCreateLocalServerRunDll «CLSID-номер». Установить локальный сервер с указанным GUID.
  • /d srrstr.dll,ExecuteScheduledSPPCreation. Создать запланированную точку отката.

4.5. Заключение

В этом разделе мы рассмотрели только основные команды rundll32.exe, которые можно использовать в операционной системе Windows Vista. Как их, так и другие команды rundll32.exe можно будет просмотреть в специальной базе данных, поставляемой вместе с данной книгой.

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

Рейтинг: 0 
Оцените: 1 2 3 4 5
moemesto.ru bobrdobr.ru - добавить в социальные закладки
В начало записи
Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=619

В избранное