پردازشی با عنوان COM Surrogate که ممکن است چند مورد آن در Task Manager ویندوز دیده شود، یکی از پردازش‌های اصلی سیستم عامل ویندوز است و در حقیقت فایل اجرایی به اسم dllhost.exe است که در ویندوزهای قدیمی‌تر مثل ویندوز ۷ و ۸ نیز در تاسک منیجر رویت می‌شود.

در این مقاله با پردازش dllhost.exe و کار آن در ویندوز آشنا می‌شویم و به این سوال پاسخ می‌دهیم که آیا ممکن است این پردازش یک ویروس باشد یا خیر.

پردازش COM Surrogate یا dllhost.exe چیست؟

عبارت COM مخفف Component Object Model و به معنی مدل شیءگرایی عنصر است و در حقیقت واسطی است که مایکروسافت در سال ۱۹۹۳ معرفی کرده تا برنامه‌نویسان و توسعه‌دهندگان نرم‌افزار بتوانند از اشیاء COM در زبان‌های مختلف برنامه‌نویسی استفاده کنند. اشیائی که به صورت COM مدل می‌شود، قابلیت اتصال به دیگر اپلیکیشن‌ها و توسعه‌ی آنها را فراهم می‌کنند.

به عنوان مثال نرم‌افزار مدیریت فایل ویندوز، از اشیاء COM برای ایجاد تصویر بندانگشتی فایل‌های عکس و همین‌طور دیگر فایل‌های مولتی‌مدیا در فولدرها استفاده می‌کند. شیء COM در این فرآیند مأموریت پردازش کردن عکس‌ها و ویدیوها به منظور ساخت تصویر بندانگشتی را عهده‌دار می‌شود. به این ترتیب با استفاده از COM می‌توان فایل منیجر ویندوز را از نظر پشتیبانی از پیش‌نمایش فرمت‌های متنوع عکس و ویدیو، گسترش داد.

اما این شیوه‌ی توسعه‌ی عملکرد نرم‌افزارها، مشکلاتی نیز دارد. به عنوان مثال اگر یک شیء COM به دلیلی کرش کند، پردازش میزبان آن نیز با مشکل روبرو می‌شود. به عنوان مثال اگر شیء COM که نقش تولید عکس‌های بندانگشتی را بر عهده دارد، مشکلی پیدا کند، ممکن است File Explorer ویندوز نیز متوقف شود و هنگ کند.

برای حل کردن این نوع مشکلات، مایکروسافت پردازشی به اسم COM Surrogate یا فایل dllhost.exe را طراحی کرده است. این پردازش برای اجرا کردن شیء COM خارج از پردازشی که آن را درخواست کرده، کاربرد دارد. در این صورت اگر شیء COM به دلیلی عمل نکند و درست اجرا نشود، مشکلی برای پردازش اصلی که میزبان آن بوده، ایجاد نمی‌شود. تنها مشکلی که به وجود می‌آید، به فرآیند COM Surrogate محدود می‌شود.

بنابراین در کامپیوترهای ویندوزی معمولاً این پردازش در تاسک منیجر دیده می‌شود و یک پردازش متداول در سیستم عامل است. در نسخه‌های قدیمی‌تر ویندوز، در Task Manager نام فایل اجرایی این فرآیند که dllhost.exe است، دیده می‌شد اما در ویندوز ۱۰ نام فرآیند به صورت مجزا نیز ذکر می‌شود. علت استفاده از عنوان dllhost این است که این پردازش در حقیقت فایل‌های پلاگین یا dll را میزبانی می‌کند که به نرم‌افزار اصلی قابلیت‌هایی را اضافه می‌کنند.

چگونه بفهمیم که هر COM Surrogate کدام شیء را میزبانی می‌کند؟

در تاسک منیجر ویندوز اطلاعات کاملی در مورد شیء COM میزبانی شده توسط هر فرآیند dllhost.exe ذکر نمی‌شود و در واقع نمی‌توانید فایل DLL مربوط به هر COM Surrogate را پیدا کنید. اگر بخواهید اطلاعات بیشتری در مورد شیء COM مربوط به COM Surrogate کسب کنید، می‌توانید از ابزاری به اسم Process Explorer مایکروسافت استفاده کنید. پس از دانلود و اجرای این اپلیکیشن، اگر موس را روی یکی از پردازش‌های dllhost.exe ببرید و کمی مکث کنید، شیء COM مربوطه نمایان می‌شود.

به عنوان مثال همان‌طور که در تصویر زیر مشاهده می‌کنید، یکی از پردازش‌های dllhost.exe میزبان پلاگین CortanaMapiHelper.dll است.

آیا می‌توان dllhost.exe را در ویندوز غیرفعال کرد؟

غیرفعال کردن فرآیند COM Surrogate در ویندوز امکان‌پذیر نیست چرا که یکی از اجزای اصلی و اساسی سیستم عامل ویندوز است. نرم‌افزارهای زیادی از این پردازش برای میزبانی شیء COM موردنیازشان استفاده می‌کنند و حتی اپلیکیشن‌های اصلی ویندوز هم به آن نیاز دارند.

آیا dllhost.exe ویروس است و به شدت از CPU کار می‌کشد؟

گاهی اوقات به دلایل کاملاً عادی و طبیعی و گاهی به دلیل بروز مشکلات در اجرای یک شیء COM، متوجه می‌شوید که سیستم ویندوزی بسیار کند شده است و با نگاهی به Task Manager به این نتیجه می‌رسید که این پردازش خاص است که مقدار زیادی از قدرت پردازشی پردازنده را به خود اختصاص داده است. در این موارد ممکن است پردازشی به نام COM Surrogate یک پردازش معمولی ویندوز باشد اما احتمال دوم این است که ممکن است تروجان یا ویروس و بدافزاری خاص، از dllhost.exe برای اجرا کردن کدهای مخرب، استفاده کرده باشد.

اگر در بررسی تاسک منیجر تعداد پردازش‌های dllhost.exe به شکلی غیرطبیعی زیاد است و برخی موارد درصد بالایی از قدرت CPU را استفاده می‌کنند، احتمالاً فرآیند COM Surrogate توسط ویروس مورد سوء استفاده قرار گرفته است.

در این صورت می‌بایست سیستم خویش را با یک آنتی‌ویروس آپدیت‌شده و قوی اسکن کنید و بدافزارها را پیدا کرده و پاکسازی کنید. ممکن است با اسکن توسط یک آنتی‌ویروس به نتیجه‌ی مطلوب نرسید. در این صورت می‌توانید از آنتی‌ویروس دیگری استفاده کنید.