Команда 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 нерідко використовуються вірусописувачі, зокрема для виклику впроваджених у легальний код шкідливих функцій, використання підроблених бібліотек, наприклад, тимчасових файлів користувача, що завантажуються з каталогу і т.п.