اگر در قسمت Task Manager ویندوز پیسی خود گشت زده باشید حتما با یک یا چند فرآیند در حال اجرای “Com Surrogate” برخورد کردهاید. این فرآیند دارای یک فایل بهنام “dllhost.exe” است که در واقع بخشی از سیستمعامل است. شما از هر ویندوزی که استفاده میکنید اعم از ویندوز 10، 8، 7 و حتی نسخههای اولیه ویندوز هم این فایل و فرآیندهای آنرا میبینید.
در این مقاله قصد داریم شما را با علت وجود این فرآیند و اینکه چرا اجرا میشود آشنا کنیم.
“Com Surrogate” یا “dllhost.exe” چیست؟
عبارت اختصاری COM بیانگر Component Object Model است. در واقع، این کامپوننت، اینترفیسی است که در سال 1993 توسط مایکروسافت معرفی شد و به توسعهدهندگان اجازه میدهد تا با استفاده از انواع مختلف زبانهای برنامهنویسی “COM Objects” بسازند. این آبجکتهای COM به اپلیکیشنهای دیگر متصل میشوند و آنها را توسعه میدهند.
بهعنوان مثال، فایل منیجر ویندوز زمانیکه یک پوشه باز میکند از آبجکتهای COM برای ساختن تصاویر تامبنیل و سایر فایلهای درون پوشه استفاده میکند. آبجکت COM وظیفه مدیریت پردازش تصاویر، ویدیوها و سایر فایلها را برعهده دارد تا با استفاده از آنها یک تامبنیل بسازد. این کار به فایل اکسپلورر اجازه میدهد تا از یک امکان جدید یعنی پشتیبانی از کدکهای یک ویدیوی جدید برخوردار شود.
با اینحال، گاهی این فرآیند دردسرساز میشود. اگر آبجکت COM خراب شود و وظیفهاش را بهدرستی انجام ندهد، باعث از کار افتادن فرآیند هاست مربوط بهخود میشود. البته، کاربران قدیمی ویندوز با این مسئله بهخوبی آشنا هستند چون از کار افتادن آبجکتهای COM تولید کننده تامبنیل امری عادی بود.
مایکروسافت برای حل این مشکل، فرآیند COM Surrogate را ساخت. فرآیند COM Surrogate یک آبجکت COM را خارج از فرِآیند اصلی درخواستکننده آن اجرا میکند. اگر آبجکت COM از کار بیافتد، فقط فرآیند COM Surrogate متوقف میشود و مشکلی برای فرآیند هاست اصلی پیش نمیآید. بهعنوان مثال، ویندوز اکسپلورر که بهنام فایل اکسپلورر معروف است هر زمانیکه نیاز به تولید تصاویر تامبنیل داشته باشد یک فرآیند COM Surrogate را آغاز میکند. در این حالت، فرآیند COM Surrogate میزبان آبجت COM میشود. این آبجکت کار اصلی را انجام میدهد. اگر آبجکت COM از کار بیافتد، تنها COM Surrogate متوقف میشود و فرآیند فایل اکسپلورر اصلی بهروند خود ادامه میدهد.
چگونه میتوان تشخیص داد که COM Surrogate میزبان کدام آبجکت COM است؟
Task Manager استاندارد ویندوز هیچگونه اطلاعات بیشتر درباره اینکه COM Surrogate میزبان کدام آبجکت COM یا فایل DLL است بهکاربر ارائه نمیدهد. اگر دنبال این اطلاعات هستید از ابزار Process Explorerمایکروسافت استفاده کنید. آنرا دانلود کنید و ماوس را روی فایل dllhost.exe نگه دارید تا متوجه شوید از کدام فایل DLL یا آبجکت COM میزبانی میکند.
امکان غیرفعال کردن آن وجود دارد؟
از آنجایی که، فرآیند COM Surrogate یکی از اجزای اصلی ویندوز است راهی برای غیرفعال کردن آن وجود ندارد. در واقع، این فرآیند یک نگهدارنده است که برای اجرای آبجکتهای COM که سایر فرآیندها قصد اجرای آنرا دارند استفاده میشود. بهعنوان مثال، فایل اکسپلورر بهطور منظم یک فرآیند COM Surrogate میسازد تا زمان باز کردن یک پوشه برای آن تامبنیل تولید کند. احتمالا برنامههای دیگر هم فرآیندهای COM Surrogate مخصوص خود میسازند.
آیا میتواند ویروس باشد؟
فرآیند COM Surrogate بهتنهایی ویروس نیست و یک قسمت معمولی ویندوز است. اما، میتواند توسط بدافزارها مورد استفاده قرار بگیرد. بهعنوان مثال، بدافزار Trojan.Poweliks از فرآیندهای dllhost.exe برای انجام مقاصد خرابکارانهاش استفاده میکند. اگر متوجه وجود فرآیندهای متعدد و در حال اجرای dllhost.exe شدید بهطوریکه میزان قابل توجهی از توان پردازنده را استفاده میکنند، مطمئن باشید که توسط یک ویروس یا یک برنامه خرابکار مورد استفاده قرار گرفته است.
در این حالت، حتما با آنتیویروس دستگاه خود را اسکن کنید تا در صورت وجود بدافزار، شناسایی و از بین برود.