Rundll32.exe
Хост-процесс 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 CALLBACKNameFuction(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
Этим, однако, нередко пренебрегают[7](подобные примеры на этой странице). Это часто приводит к повреждениюстека[8]и к непредсказуемому поведению, например, зацикливанию.
Безопасность
[править|править код]Стиль этого разделанеэнциклопедичен или нарушает нормы литературного русского языка. |
Угрозы безопасности могут происходить из-за использования rundll32вирусами,шпионскими программамикак передатчик для своих программ-вредителей.
Прежде всего это позволяет RUNDLL скрыть фактический вирус: в сообщениях об ошибках и записях журнала он определяется в качестве причины имя файла EXE. Ею оказывается rundll32.exe, но при этом абсолютно безупречной — вредоносная программа, находящаяся в DLL, и её имя не упоминается во многих случаях. Вместо того, чтобы определить, какие DLL является нежелательным, обвиняется rundll32.exe.
В случае, если этот файл находится в ином местоположении, нежели%windir%\system32\rundll32.exe
и запущен из иного местоположения — то он может являться вирусом и не иметь отношения к оригинальному файлу.
Ссылки
[править|править код]- What’s the guidance on when to use rundll32? Easy: Don’t use it
- What is rundll32.exe? Is rundll32.exe spyware or a virus?
- RUNDLL and RUNDLL32
- Rundll32 commands — Windows command line GUI access .
- How to run Control Panel tools by typing a command
- C++ — System Dialogs
- The Geek.What is rundll32.exe And Why Is It Running?(англ.).HowToGeek(30 июля 2008). Дата обращения: 30 апреля 2011.Архивировано13 мая 2012 года.
- Процесс “rundll32.exe”: что за процесс и можно ли его отключить?
Примечания
[править|править код]- ↑Dan Gookin.Troubleshooting and Maintaining Your PC All-in-One Desk Reference For Dummies.—For Dummies,2009. — С.211.— 768 с. — (For Dummies). —ISBN 0470396652.
- ↑David A. Karp.Windows XP Pocket Reference.—O'Reilly Media, Inc.,2002. — С.75.— 181 с. — (Pocket References Series). —ISBN 0596004257.
- ↑123nach Rob van der Woude
- ↑123nach Dx21
- ↑c'tHotline 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 года.
![]() | В другом языковом разделеесть более полная статьяRundll32.exe(нем.). |