Что такое «COM Surrogate» (dllhost.exe) и почему он работает на моем компьютере?

Если вы покопаетесь в своем диспетчере задач, есть большая вероятность, что вы увидите один или несколько процессов «COM Surrogate», запущенных на ПК с Windows. Эти процессы имеют имя файла «dllhost.exe» и являются частью операционной системы Windows. Вы увидите их в Windows 10, Windows 8, Windows 7 и даже более ранних версиях Windows.

СВЯЗАННЫЕ: Что это за процесс и почему он выполняется на моем компьютере?

Эта статья является частью нашей текущей серии, в которой объясняются различные процессы, обнаруженные в диспетчере задач, такие как Runtime Broker, svchost.exe, dwm.exe, ctfmon.exe, rundll32.exe, Adobe_Updater.exe и многие другие. Не знаете, что это за услуги? Лучше начни читать!

Что такое суррогат COM (dllhost.exe)?

COM означает компонентную объектную модель. Это интерфейс, представленный Microsoft еще в 1993 году, который позволяет разработчикам создавать «COM-объекты» с использованием множества различных языков программирования. По сути, эти COM-объекты подключаются к другим приложениям и расширяют их.

Например, файловый менеджер Windows использует COM-объекты для создания миниатюр изображений и других файлов при открытии папки. COM-объект обрабатывает изображения, видео и другие файлы для создания эскизов. Это позволяет, например, расширить проводник за счет поддержки новых видеокодеков.

Однако это может привести к проблемам. Если COM-объект выйдет из строя, он остановит свой хост-процесс. В какой-то момент эти COM-объекты, генерирующие эскизы, часто аварийно завершали работу и вместе с ними прекращали работу всего процесса Windows Explorer.

Чтобы решить эту проблему, Microsoft создала процесс COM Surrogate. Процесс COM Surrogate запускает COM-объект вне исходного процесса, который его запросил. Если COM-объект выйдет из строя, он остановит только процесс COM Surrogate, а исходный хост-процесс не выйдет из строя. Например, проводник Windows (теперь известный как проводник) запускает процесс COM Surrogate всякий раз, когда ему нужно создать эскизы изображений. В процессе COM Surrogate размещается COM-объект, который выполняет всю работу. В случае сбоя COM-объекта произойдет сбой только COM Surrogate, а исходный процесс File Explorer продолжит работу.

«Другими словами, - говорится в официальном блоге Microsoft The Old New Thing, - суррогат COM - это то,  что мне не нравится в этом коде, поэтому я попрошу COM разместить его в другом процессе. Таким образом, если произойдет сбой, произойдет сбой процесса жертвоприношения COM Surrogate, а не моего  процесса ».

И, как вы могли догадаться, COM Surrogate называется «dllhost.exe», потому что COM-объекты, которые он размещает, являются файлами .dll.

Как я могу узнать, какой COM-объект размещается суррогатом COM?

Стандартный диспетчер задач Windows не дает дополнительной информации о том, какой COM-объект или DLL-файл размещает процесс COM Surrogate. Если вы хотите увидеть эту информацию, мы рекомендуем инструмент Microsoft Process Explorer. Загрузите его, и вы можете просто навести курсор мыши на процесс dllhost.exe в Process Explorer, чтобы увидеть, какой COM-объект или DLL-файл он размещает.

Как видно на снимке экрана ниже, именно в этом процессе dllhost.exe размещается объект CortanaMapiHelper.dll.

Могу ли я отключить это?

Вы не можете отключить процесс COM Surrogate, поскольку это необходимая часть Windows. На самом деле это просто процесс контейнера, который используется для запуска COM-объектов, которые хотят запускать другие процессы. Например, Windows Explorer (или File Explorer) регулярно создает процесс COM Surrogate для создания эскизов при открытии папки. Другие программы, которые вы используете, также могут создавать свои собственные суррогатные процессы COM. Все процессы dllhost.exe в вашей системе были запущены другой программой, чтобы сделать то, что программа хочет сделать.

Это вирус?

Сам процесс COM Surrogate не является вирусом и является нормальной частью Windows. Однако его могут использовать вредоносные программы. Например, вредоносная программа Trojan.Poweliks использует процессы dllhost.exe для выполнения своей грязной работы. Если вы видите, что запущено большое количество процессов dllhost.exe и они используют заметный объем ЦП, это может указывать на то, что процесс COM Surrogate злоупотребляет вирусом или другим вредоносным приложением.

СВЯЗАННЫЕ: Какой лучший антивирус для Windows 10? (Достаточно ли хорош Защитник Windows?)

Если вы обеспокоены тем, что вредоносное ПО злоупотребляет процессом dllhost.exe или COM Surrogate, вам следует запустить сканирование с помощью предпочитаемой антивирусной программы, чтобы найти и удалить все вредоносные программы, присутствующие в вашей системе. Если выбранная вами антивирусная программа говорит, что все в порядке, но вы подозреваете, запустите сканирование с помощью другого антивирусного инструмента, чтобы получить второе мнение.