Что такое процесс Rundll32.exe и для чего он нужен?

Rundll32.exe — это приложение, которое позволяет выполнять файлы библиотеки динамической компоновки (DLL) другими приложениями. Без процесса rundll32.exe приложения не могли бы загружать код библиотеки и работать должным образом. Как обычный пользователь компьютера, вы не взаимодействуете с Rundll32.exe напрямую.

Rundll32.exe и файлы DLL

Почти все приложения должны использовать различные файлы библиотеки динамической компоновки Windows. Эти файлы библиотеки позволяют приложениям вызывать специальные функции Windows для различных системных функций Windows.

  • Отображение окон и других объектов для графического пользовательского интерфейса.
  • Воспроизведение звуков с помощью аудиодрайвера и оборудования компьютера.
  • Передача входов и выходов с оборудования, такого как клавиатура и мышь
  • Хранение информации в системной памяти.
  • Доступ к любым аксессуарам, подключенным к вашему компьютеру.

В операционной системе Windows имеется несколько файлов DLL, но ни одна из этих библиотек не может быть доступна без использования Rundll32.exe. Процесс служит шлюзом для всех приложений для доступа к этим библиотекам.

Как работает Rundll32.exe

Приложения вызывают Rundll32.exe каждый раз, когда этому приложению требуется доступ к функции библиотеки Windows.

Вот как работает этот процесс.

  1. Программисты указывают Rundll32.exe при написании приложения. Например, для доступа к библиотекам распознавания речи при написании приложения на Visual Basic программист напишет строку, как показано ниже.

    Process.Start ("rundll32.exe", "C: Windows system32 speech speechux SpeechUX.dll, RunWizard UserTraining")

  2. Эта команда вызывает приложение Rundll32.exe и сообщает ему о необходимости предоставить приложению доступ к компонентам RunWizard UserTraining, находящимся внутри библиотеки SpeechUX.dll, хранящейся в каталоге System32.

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

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

  • hwnd: Дескриптор (идентификационный идентификатор) окна, создаваемого вашей DLL.
  • там: Дескриптор экземпляра процесса, запущенного вашим вызовом DLL.
  • lpszCmdLine: Командная строка, используемая для запуска библиотеки DLL
  • nCmdShow: Описывает, как должно отображаться окно DLL, если есть связанное окно

Если в проводнике задач отображается несколько процессов «Rundll32.exe», это нормально. Новый процесс Rundll32.exe запускается каждый раз, когда его вызывает другое приложение.

Распространенные ошибки Rundll32.exe

Наиболее распространенная ошибка, связанная с Rundll32.exe, — это ошибка выполнения. Обычно это происходит, когда плохо написанный код приложения закрывает приложение без надлежащего завершения ранее запущенных экземпляров Rundll32.exe.

Эта ошибка не вызовет проблем с вашим компьютером. Однако, как только вы перезагрузите компьютер, он убьет все запущенные потоки Rundll32.exe и очистит используемую ими память.

Однако вредоносное ПО иногда вызывает ошибки Rundll32.exe несколькими способами.

  • Вредоносное ПО устанавливает файлы вирусов с такими же именами, как Rundll32.exe. Вы не узнаете вирусный файл, когда увидите его, но антивирусное программное обеспечение распознает его и удалит файл из вашей системы.
  • Вредоносное ПО может повредить приложение Rundll32.exe, изменив файл так, чтобы он больше не работал должным образом, когда приложения пытаются его вызвать.

В любом из этих случаев вы должны сделать несколько вещей, чтобы избавиться от инфекции, повредившей ваш системный файл Rundll32.exe.

  1. Используйте команду Scannow для определения поврежденных основных файлов Windows. Нажмите кнопку Пуск и введите CMD, Щелкните правой кнопкой мыши Командная строка приложение и выберите Запуск от имени администратора.

  2. Введите команду SFC / scannow. Это запустит сканирование системы, которое найдет и идентифицирует любые поврежденные системные файлы.

  3. Если ошибка Rundll32.exe не устранена после этого сканирования, затем попробуйте запустить команду восстановления работоспособности DISM. Эта утилита проверяет работоспособность вашей ОС Windows и попытается восстановить все поврежденные основные системные файлы. По-прежнему в окне административной командной строки введите DISM / Online / Cleanup-Image / RestoreHealth.

  4. Если ни одна из этих команд не останавливает ошибку Rundll32.exe, это означает, что проблема не связана с повреждением системного файла Windows. Вместо этого это может быть вредоносное приложение, замаскированное под файл с таким же именем или именем, похожим на Rundll32.exe. Лучший способ очистить эти зараженные файлы — запустить полное сканирование системы с помощью антивирусного программного обеспечения.

  5. Если проблема не решена к этому моменту, единственным выходом может быть восстановление установки ОС Windows.