COM Surrogate (dllhost.exe) چیست و چرا روی رایانه شخصی من اجرا می شود؟

نگاهی به لیست فرآیندهای موجود در رایانه ویندوزی با استفاده از (Windows)Task Manager دستوری برای پارانویا است. تعداد زیادی برنامه با صدای عجیب در حال اجرا هستند و معمولاً راهی برای شما وجود ندارد که بدانید چه چیزی برای رایانه شما خوب یا بد است. COM جانشین dllhost.exe تنها یکی از این فرآیندها است، اما بسیار پیش پا افتاده تر از آن چیزی است که ممکن است فکر کنید.

COM Surrogate (dllhost.exe) چیست؟

COM مخفف(COM) Component Object Model(Component Object Model) است. این چیزی است که مایکروسافت(Microsoft) در اوایل دهه 90 معرفی کرد تا برنامه نویسان را آسان کند تا عملکرد نرم افزارهای موجود را گسترش دهند. به عبارت دیگر، تا حدودی شبیه یک سیستم افزونه است که به شما امکان می دهد عملکردهای جدیدی را به برنامه های موجود مانند Windows Explorer اضافه کنید.

این برای بهبود پویا کاری که یک برنامه می تواند انجام دهد عالی است، اما یک نقطه ضعف هم دارد. اگر یک ماژول COM بد کدگذاری شده باشد یا به دلایلی از کار بیفتد، برنامه ای را که به آن وصل می کند نیز از کار می اندازد. دلیلش این است که هم برنامه COM و هم برنامه اصلی به عنوان یک فرآیند اجرا می شوند.

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

آیا COM Surrogate (dllhost.exe) ایمن(Safe) است ؟

اینکه آیا(Whether) dllhost.exe ایمن است یا خیر، پاسخ دادن به آن سوال دشواری است، زیرا به COM خاصی که در حال اجرا است بستگی دارد. معمولاً آنها میزبان فرآیندهای خوش خیمی هستند که کارهای مفیدی انجام می دهند، اما خارج از قلمرو احتمالی نیست که یک COM با کد بد یا بدافزار piggybacking در چارچوب جایگزین COM می تواند باعث آسیب یا اجرای کد مخرب شود.

پیدا کردن مکان COM Surrogate

تنها یک مکان قانونی برای فایل dllhost.exe وجود دارد و آن داخل پوشه System32 در پوشه (System32)ویندوز(Windows) است. مسیر پیش فرض Windows > System32 در درایو سیستم است. درایو سیستم معمولا درایو C است. اگر این فایل را در جای دیگری پیدا کردید، احتمالا ویروسی است. پس حتما آن را اسکن کنید!

بررسی مشروعیت COM Surrogate

همانطور که در بالا ذکر شد، جایگزین COM که در Task manager می‌بینید یک برنامه خاص نیست، فقط پوسته‌ای برای فرآیند دیگری است. از آنجایی که نمی‌توانیم به راحتی بینشی در مورد آنچه که در یک فرآیند جانشین COM خاص اجرا می‌شود به دست آوریم ، تنها راه واقعی برای بررسی رفتار مشکوک استفاده از یک برنامه آنتی ویروس است.

البته، به هر حال باید برنامه آنتی ویروس(antivirus program) خود را در فواصل زمانی معین اجرا کنید، اما اگر یک جایگزین COM مشاهده کردید که منابع زیادی را مصرف می کند یا باعث بی ثباتی سیستم می شود، ممکن است یکی از توضیح ها باشد.(COM)

سپس دوباره، فرآیند جانشین COM مورد بحث ممکن است به جای مخرب، فقط باگ باشد. اگر تمام اسناد خود را ذخیره کرده اید، می توانید به اجبار یک فرآیند جانشین COM را پایان دهید تا بفهمید که چه کاری انجام می دهد. هر چیزی که مستقیماً پس از کشتن فرآیند از کار بیفتد یا آویزان شود، احتمالاً برنامه مرتبط است. هنگامی که محتمل ترین مقصر را شناسایی کردید، می خواهید رایانه خود را مجدداً راه اندازی کنید.

رفع خطاهای جایگزین COM

خطاهای جایگزین COM(COM) هر از گاهی اتفاق می افتد و احتمالاً رایج ترین دلیلی است که مردم در وهله اول نام فرآیند را جستجو می کنند. ممکن است در ابتدا خطای " جایگزین COM متوقف شد" مبهم به نظر برسد. اکنون که می دانید COM جانشین چه کاری انجام می دهد، واضح است که فرآیند در واقع کار خود را انجام می دهد.

جایگزین COM(COM) برای محافظت از برنامه‌های افزودنی در برابر خرابی فرآیند اصلی که گسترش می‌دهند، محافظت می‌کند، بنابراین علت این خطا را می‌توان به هر ماژول COM که در جانشین اجرا می‌شد ردیابی کرد.

هیچ راه آسانی برای دانستن اینکه کدام COM بوده وجود ندارد، زیرا جایگزین خود COM خاص را در داخل آن ماسک می کند. چندین مظنون احتمالی وجود دارد:

  • کدک های ویدیویی شخص ثالث قدیمی هستند. اگر دارید، آنها را حذف کنید یا به روز کنید.
  • برنامه آنتی ویروس شما ممکن است با جایگزین COM تداخل داشته باشد. (COM)آن را به طور موقت غیرفعال کنید. اگر مشکل به نظر می رسد، به آنتی ویروس دیگری بروید یا در صورت وجود، آنتی ویروس خود را به آخرین نسخه به روز کنید.
  • با استفاده از ابزاری مانند CHKDSK دیسک خود را از نظر خطا بررسی کنید .
  • (Check)فایل های سیستم را برای خراب بودن با System File Checker بررسی کنید.
  • به‌روزرسانی‌های(Roll) اخیر درایورها را برگردانید یا به‌خصوص درایورهای نمایشگر و چاپگر را به‌روزرسانی کنید. اگر برای رایانه شما صدق می کند، درایور استاندارد GPU(GPU driver) سازنده و نسخه OEM را امتحان کنید.(OEM)

اگر می خواهید بدانید که چگونه تشخیص دهید دقیقا کدام COM در جانشین اجرا می شود، راه حل فنی تری وجود دارد.

بررسی داخل یک فرآیند جایگزین COM(COM Surrogate Process) با Process Explorer

مایکروسافت(Microsoft) یک ابزار اختیاری به نام Process Explorer دارد. برای موارد مختلف مفید است. به عنوان مثال، اگر به شما گفته شده است که می‌توانید پوشه‌ای را حذف کنید، زیرا برنامه‌ای آن را باز کرده است، می‌توانید از Process Explorer استفاده کنید تا ببینید کدام برنامه است و مجبور کنید بدون نیاز به راه‌اندازی مجدد کل رایانه، آن را ببندید.

به سادگی (Simply)Process Explorer را دانلود و اجرا کنید و پنجره(Window) ای مانند این خواهید دید :

به یاد داشته باشید(Remember) که COM Surrogate در واقع dllhost.exe نامیده می شود. بنابراین به دنبال آن باشید و نشانگر ماوس را روی ورودی قرار دهید. در پنجره کوچک، می‌بینید که کدام فایل DLL میزبانی می‌شود. معمولاً این اطلاعات کافی به شما می دهد تا بدانید کدام برنامه به آن متصل است. اگر از نام DLL مشخص نیست ، می توانید برای پاسخ قطعی تر آن را در گوگل جستجو کنید.

COM در بیش از یک مهمانی

برای جمع بندی، اکنون می دانید COM(COMs) چیست، یک جانشین COM چه کاری انجام می دهد، چگونه رایج ترین مشکلات را برطرف کنید و چگونه متوجه شوید که با کدام COM سروکار دارید. که(Which) امیدواریم مشکلات مربوط به COM شما را برای همیشه برطرف کرده باشد.(COM)



About the author

من یک کارشناس باتجربه ویندوز 10 و 11/10 هستم که هم در مرورگرها و هم در برنامه های گوشی های هوشمند تجربه دارم. من بیش از 15 سال مهندس نرم افزار هستم و با تعدادی از شرکت های بزرگ از جمله مایکروسافت، گوگل، اپل، یوبی سافت و غیره کار کرده ام. من همچنین توسعه ویندوز 10/11 را در سطح کالج تدریس کرده ام.



Related posts