Я видел этот процесс в 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-объекты; особая проблема при запуске в качестве системы.