Команда RUNDLL32 – выполнить функцию, экспортированную библиотекой DLL.

Команда RUNDLL32 (RUNDLL для 16-разрядных Windows) изначально разрабатывалась для внутреннего использования в корпорации Microsoft в качестве отладочного программного обеспечения и предназначалась для вызова функций, экспортируемых библиотеками DLL. Но поскольку RunDLL32 оказалась удобным и простым средством, предоставляющим реализовать системные возможности общего характера, в настоящее время она включена в состав всех дистрибутивов Windows и широко используется в качестве стандартного компонента системы. DLL - Dynamic Link Library — библиотека динамической компоновки, динамически подключаемая библиотека, которая может многократно использоваться разными программными приложениями. Описание библиотек и функций можно найти на сайте сети разработчиков Microsoft MSDN

Формат командной строки RUNDLL32:

RUNDLL32.EXE имя_библиотеки_dll,точка входа функции аргументы функции

Примеры использования RUNDLL32


Имена функций и параметры чувствительны к регистру, поэтому обязательно учитывайте этот факт при наборе команд. При отсутствии параметров функций или их неверных значениях, команда может завершиться без каких либо сообщений или же с сообщением об аварийном завершении RUNDLL32.EXE

Одна из наиболее часто используемых библиотек - shell32.dll. Данная библиотека содержит несколько десятков функций, большинство из которых предназначено для получения информации о системе и системного управления.

rundll32.exe shell32.dll,ShellAboutA – отобразить сведения о Windows. Расширения файлов набирать не обязательно. Команда без расширений – rundll32 shell32,ShellAboutA;

rundll32 shell32,Control_RunDLL - открыть окно "Панель управления";

rundll32 shell32,Control_RunDLL desk.cpl - открыть окно "Свойства Экрана" панели управления. Как и в предыдущем примере, вызывается функция Control_RunDLL библиотеки shel32.dll, но ей передается параметр desk.cpl;

rundll32 shell32, RestartDialogEx - вызвать окно с запросом на перезагрузку Windows. Вместо функции RestartDialogEx можно использовать функцию RestartDialog однако, нужно учитывать тот факт, что последняя разрабатывалась для 16-битных Windows, и в тех случаях, когда в библиотеке присутствует функция с Ex, предпочтительнее использовать ее, во избежание проблем с совместимостью;

rundll32 shell32.dll,Control_RunDLL hotplug.dll - вызвать окно безопасного извлечения устройства;

Некоторые библиотеки могут содержать функцию для отображения подсказки по использованию:

RUNDLL32 printui.dll,PrintUIEntry /? - отобразить справочную информацию по пользовательскому интерфейсу принтера.

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

Для получения информации об экспортируемых функциях библиотек сторонних производителей, можно использовать обычный текстовый редактор или специализированное программное обеспечение, как например, DLL Export Viewer от Nirsoft.









Весь список команд CMD Windows