Ако се приближите в диспечера на задачите, има добър шанс да видите един или повече процеси "COM Surrogate", работещи на компютър с Windows. Тези процеси имат името на файла "dllhost.exe" и са част от операционната система Windows. Ще ги видите на Windows 10, Windows 8, Windows 7 и дори по-стари версии на Windows.
Тази статия е част от продължаващата ни серия, обясняваща различните процеси, открити в Task Manager, като Runtime Broker, svchost.exe, dwm.exe, ctfmon.exe, rundll32.exe, Adobe_Updater.exe и много други. Не знам какви са тези услуги? По-добре започнете да четете!
Компютърът е Component Object Model. Това е интерфейс, въведен от Microsoft през 1993 г., който позволява на разработчиците да създават "COM обекти", използвайки различни езици за програмиране. По същество тези COM обекти се включат в други приложения и ги разширяват.
Например, мениджърът на файловете на Windows използва COM обекти, за да създава миниатюрни изображения на изображения и други файлове, когато отваря папка. Обектът COM обработва обработката на изображения, видеоклипове и други файлове, за да генерира миниизображения. Това позволява на File Explorer да бъде разширен с поддръжка например на нови видео кодеци.
Това обаче може да доведе до проблеми. Ако обектът на COM се срине, той ще свали своя хост процес. В един момент е било обичайно тези обекти, генериращи миниатюри, да се сринат и да свалят целия процес на Windows Explorer с тях.
За да реши този вид проблем, Microsoft създаде процеса на сурогат на COM. Процесът на сурогат на COM изпълнява обект COM извън оригиналния процес, който го е поискал. Ако обектът COM се срине, той ще свали само процеса на сурогат на COM и първоначалният хост процес няма да се срине. Например, Windows Explorer (известен сега като File Explorer) стартира процеса на сурогат на COM, когато трябва да генерира миниатюрни изображения. Процесът на сурогат на COM е домакин на обекта COM, който изпълнява работата. Ако обектът COM се срине, само COM Surrogate катастрофира и оригиналния процес на File Explorer ще продължи да се претоварва.
"С други думи", както се казва в официалния блог на Microsoft "Старото ново нещо", "COM Surrogate" еНе се чувствам добре по отношение на този код, така че ще помоля СОМ да го приеме в друг процес. По този начин, ако се срине, това е процесът на заместване в COM, който се срива вместо мен процес. "
И както вероятно сте предположили, COM Surrogate се нарича "dllhost.exe", защото COM обектите, които гостоприемни са .dll файлове.
Стандартният мениджър на Windows Task Manager не ви дава повече информация за кой COM обект или DLL файл хоства процесът на сурогат на COM. Ако искате да видите тази информация, препоръчваме инструмента на Microsoft Process Explorer. Изтеглете го и можете просто да мишката върху dllhost.exe процес в Process Explorer, за да видите кой обект на COM или DLL е хостинг.
Както можем да видим на екранната снимка по-долу, този конкретен процес dllhost.exe е хостинг на обекта CortanaMapiHelper.dll.
Не можете да деактивирате процеса COM Surrogate, тъй като това е необходима част от Windows. Това всъщност е просто процес на контейнери, който се използва за изпълнение на COM обекти, които други процеси искат да се изпълняват. Например, Windows Explorer (или File Explorer) редовно създава процес на сурогат на COM за генериране на миниатюри при отваряне на папка. Другите програми, които използвате, могат също така да създадат свои собствени процеси на сурогат на COM. Всички процеси на dllhost.exe на вашата система бяха стартирани от друга програма, за да направят нещо, което програмата иска.
Самият процес на сурогат на COM не е вирус и е нормална част от Windows. Тя обаче може да се използва от злонамерен софтуер. Например, malware Trojan.Poweliks използва процесите dllhost.exe, за да върши мръсната си работа. Ако видите голям брой процеси dllhost.exe, които се изпълняват и те използват забележимо количество CPU, това може да означава, че процесът на сурогат на COM се злоупотребява с вирус или друго злонамерено приложение.
Ако се притеснявате, че злонамереният софтуер злоупотребява с процеса dllhost.exe или COM Surrogate, трябва да проведете сканиране с предпочитаната ви антивирусна програма, за да намерите и премахнете всички злонамерени програми, налични във вашата система. Ако избраната ви антивирусна програма казва, че всичко е наред, но сте подозрителни, стартирайте сканиране с друг антивирусен инструмент, за да получите второ мнение.