По словам кого-то из MSDN, это часть окон, называемая «Программа анализа производительности профилирования процессов (Программа Windows Performance Counter)»
Что это за экземпляр RunDll32?
Я наткнулся на экземпляр rundll32 при проверке запущенных процессов на моем Windows 10 Box.
Это командная строка, которая запустила ее в соответствии с Process Explorer:
C:\Windows\system32\rundll32.exe -localserver 22d8c27b-47a1-48d1-ad08-7da7abd79617
Что это значит? Я пытался исследовать это, но ничего не нашел.
Это хорошо / нормально? Должен ли я убить его и продолжить расследование?
2 ответа на вопрос
Я видел этот процесс в 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
(«Суррогат COM»). Если посмотреть на командную строку DllHost, то /ProcessID
параметром был AppID, указанный в реестре как «Сервер задач создания объектов оболочки» из shell32.dll. Оба процесса выполнялись как «NT Authority / SYSTEM».
В некотором смысле, аварии, которые я видел, были ожидаемы. DllHost.exe был разработан для запуска ненадежных COM-объектов . Видимо, это было в пользовательской сессии. Моя ссылка не комментирует, не знаю, насколько хорошо она защищает небезопасные COM-объекты; особая проблема при запуске в качестве системы.
Похожие вопросы
-
12
Почему папка / winsxs становится такой большой и ее можно уменьшить?
-
2
Повышенные привилегии для запуска приложений в Windows?
-
14
PDF Viewer в Windows
-
-
7
Какие службы Windows можно безопасно отключить?
-
8
Firefox PDF плагин для просмотра PDF в браузере на Windows
-
1
Windows теряет макет экрана
-
1
Есть ли способ предотвратить установку / обновление, чтобы засорять мой жесткий диск загадочными пап...
-
1
Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?
-
6
Просмотр журнала в Windows
-
3
Фоновая проблема Windows с двумя экранами