Меню
Главная
Случайная статья
Настройки
|
Хост-процесс Windows (Rundll32) — компонент операционных систем семейства Microsoft Windows, запускающий программы, находящиеся в динамически подключаемых библиотеках[1]. Находится по адресу %WINDIR%\System32\rundll32.exe . Программа поддерживает параметры filename (название .DLL -файла), function_name (имя экспортированной функции в файле) и function-arguments (различные аргументы для выполнения)[2].
Содержание
Библиотека как программа
Динамически подключаемая библиотека (DLL) обычно является программным модулем для предоставления функций другим программам, однако, она не может запускаться в ОС Windows напрямую. RUNDLL же позволяет вызывать отдельные функции DLL, имя которых задаётся в командной строке. Выполнение осуществляется в отдельном процессе, поэтому вызовы RunDLL используются и другими программами, которые хотят защитить свой процесс от ошибок в вызываемой DLL. Точно так же могут вызываться и функции программ в исполняемых файлах системы (.exe-файлы).
Примеры:
RUNDLL32 SHELL32.DLL,Control_RunDLL hotplug.dll [3]
- Откроется функция Удалить или извлечь аппаратное устройство , например, подключённое к USB.
RunDll32.EXE SHELL32.DLL,SHExitWindowsEx 2 [4]
RunDll32.EXE USER.EXE,ExitWindowsExec [4]
- Перезагрузка (перезагрузка системы) (в Windows XP программа Reboot управляется файлом shutdown.exe.)
RunDll32.EXE URL.DLL,FileProtocolHandler "%1" [5]
- открывает файл под именем «%1» и связанное с ним приложение по умолчанию (автоматическое распознавание файла)
Панель управления
Файлы панели управления (CPL), которые обычно находятся в виртуальной папке панели управления, могут вызываться альтернативы методом, используя RUNDLL, вызванную с помощью командной строки вызовом Shell32.dll:
Код:[3]
RUNDLL32 SHELL32.DLL,Control_RunDLL filename.CPL,@n,t
filename.CPL имя CPL-файла панели управления.
- n… апплет в файле CPL
- t… Количество вкладок, когда апплет имеет их несколько.
Примеры:
RUNDLL32 SHELL32.DLL,Control_RunDLL TIMEDATE.CPL,@0,1 [3]
RUNDLL32 shell32.dll,Control_RunDLL access.cpl,,4 [4]
- Настройка мыши для пользователей с ослабленным зрением.
Использование
Этот метод может быть использован как в командной строке или при пакетной обработке данных различных скриптов, так и с помощью обычных ярлыков (LINK-файлов). Поскольку функции работают в контакте с операционной системой, рекомендуется соблюдать осторожность в определённых экспериментах и рекомендуется только достаточно опытным пользователям.
Типичные источники ошибок
Предполагается, что функция, вызываемая Rundll32.exe, имеет следующую сигнатуру[6]:
void CALLBACK NameFuction(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
Этим, однако, нередко пренебрегают[7] (подобные примеры на этой странице). Это часто приводит к повреждению стека[8] и к непредсказуемому поведению, например, зацикливанию.
Безопасность
Угрозы безопасности могут происходить из-за использования rundll32 вирусами, шпионскими программами как передатчик для своих программ-вредителе[9].
Прежде всего, это позволяет настоящему вирусу скрыть себя: в сообщениях об ошибках и записях журнала причиной часто указывается имя файла rundll32.exe, который выглядит совершенно безвредным. Вредоносная программа скрыта во внешнем DLL, и её имя не упоминается в большинстве случаев. Вместо того, чтобы идентифицировать нежелательную DLL, виновным ошибочно называется именно rundll32.exe[9].
В случае, если этот файл находится в ином местоположении, нежели %windir%\system32\rundll32.exe и запущен из иного местоположения, то он может являться вирусом и не иметь отношения к оригинальному файлу[9].
Ссылки
Примечания
- Dan Gookin. Troubleshooting and Maintaining Your PC All-in-One Desk Reference For Dummies. — For Dummies, 2009. — С. 211. — 768 с. — (For Dummies). — ISBN 0470396652.
-
- 1 2 3 nach Rob van der Woude
- 1 2 3 nach Dx21
- c't Hotline 17/2007, S. 178
- rundll32 | Microsoft Docs (неопр.). Дата обращения: 27 сентября 2016. Архивировано 14 февраля 2015 года.
- Throwing garbage on the sidewalk: The sad history of the rundll32 program — The Old New Thing (неопр.). Дата обращения: 27 сентября 2016. Архивировано 3 августа 2015 года.
- Throwing garbage on the sidewalk: The sad history of the rundll32 program — The Old New Thing (неопр.). Дата обращения: 27 сентября 2016. Архивировано 3 августа 2015 года.
- 1 2 3
|
|