کلید رجیستری CLSID چیست؟
CLSID یا Class Identifier رشتهای از نمادهای الفبای عددی (اعم از اعداد و حروف الفبا) است که برای نشان دادن یک نمونه خاص از یک مدل شیء جزء یا برنامه مبتنی بر COM استفاده میشود. این اجازه می دهد تا سیستم عامل ها و نرم افزارها، به ویژه برای ویندوز، اجزای نرم افزار را بدون شناسایی نام آنها شناسایی کرده و به آنها دسترسی داشته باشند. اگرچه مایکروسافت استفاده از COM را به نفع زیرساخت دات نت کنار گذاشته است، COM به عنوان یک جزء مهم برای بسیاری از برنامه های رایج استفاده می شود و هیچ برنامه ای برای توقف ندارد.
نمونه هایی از اشیایی که از COM و یک CLSID مربوطه استفاده می کنند عبارتند از ActiveX، فهرست راهنمای My Computer و منوی Start Windows. یک CLSID معمولی در رجیستری ویندوز شما می تواند به شکل زیر باشد:
محتمل ترین برخورد شما با CLSID زمانی است که یک وب سایت از شما می خواهد که ActiveX یا برنامه دیگری را به روز کنید. مرورگر شما نسخه نرم افزار شما را با بررسی CLSID آن شناسایی می کند و این اطلاعات را بدون آسیب رساندن به رایانه شما به وب سایت منتقل می کند.
با این حال، بهروزرسانیهای رسانه جعلی اغلب برای توزیع نرمافزارهای مخرب و سایر تهدیدات رایانه شخصی استفاده میشوند، و باید از دانلود بهروزرسانیها از وبسایتهایی که به طور ضمنی به آنها اعتماد ندارید، خودداری کنید.
وقتی یک ورودی CLSID خوب بد می شود
اگر CLSID خراب باشد، رایانه شما ممکن است مشکلات مربوط به برنامه ای را که CLSID به آن مرتبط است، تجربه کند. یکی از مشکلات رایج آسیب به CLSID است که باعث می شود نرم افزار نتواند نسخه خود را تأیید کند و خودش را به روز کند. به عنوان یک راه حل آسان برای پیاده سازی، حذف نصب و نصب مجدد نرم افزار معمولاً این مشکل را برطرف می کند.
رایج ترین مشکل مربوط به ورودی CLSID رجیستری، عدم حذف CLSID برنامه از رجیستری در زمانی است که بقیه برنامه حذف نصب شده است. اگرچه این یک روش برنامهنویسی ضعیف است که رجیستری رایانه شخصی را با ورودیهای متنی بیمعنی شلوغ میکند، ورودی CLSID استفاده نشده احتمالاً به رایانه شما آسیب نمیزند. با این حال، برخی از پاک کننده های رجیستری و سایر برنامه های تعمیر و نگهداری سیستم در از بین بردن این "ناخواسته" مبتنی بر CLSID تخصص دارند. در شرایط بسیار شدید، مانند رایانهای با منابع سیستم کم، رجیستری با ورودیهای CLSID استفاده نشده زیاد ممکن است باعث مشکلات عملکرد شود.
اگر علاقه مند به تصحیح ورودی های رجیستری CLSID به صورت دستی هستید، باید از احتیاط بالایی استفاده کنید. تغییرات در رجیستری شما می تواند از جهات مختلف به سیستم عامل شما آسیب برساند، به ویژه با ناتوانی در شناسایی اجزا و برنامه های حیاتی. صرف نظر از اینکه علاقه مند به ایجاد تغییرات در ورودی های CLSID رایانه خود هستید یا نه، داشتن یک نسخه پشتیبان از رجیستری ویندوز از طریق نقطه بازیابی سیستم یا روش دیگری در همه موارد توصیه می شود.
ناپدید شدن CLSID
اگرچه CLSID معمولاً یک ورودی متن دائمی در رجیستری شما است - حداقل تا زمانی که برنامه ای را که به آن پیوند داده شده است را حذف نصب نکنید - پوشه ها و فایل های موقت نیز ممکن است ورودی های CLSID را به نام خود نشان دهند. این اغلب توسط نصب کننده های برنامه ایجاد می شود که فایل ها را قبل از حذف آنها برای نصب از حالت فشرده خارج می کنند. اکثر این گونه فایل ها و پوشه ها باید پس از اتمام نصب، خود را به طور خودکار حذف کنند. در موارد کدنویسی ضعیف یا نصب قطع شده، ممکن است لازم باشد خودتان این اشیاء را حذف کنید، اگرچه نباید به رایانه شما آسیب برسانند.
همه برنامه های استفاده کننده از CLSID مجبور نیستند ورودی های CLSID خود را در رجیستری ویندوز شما بنویسند. کامپوننتهای RegFree یا بدون ثبت نام میتوانند ورودیهای CLSID خود را در فایلهای EXE خودشان یا در فایلهای XML جداگانه ذخیره کنند. این دارای مزایای خاصی است، از جمله اجازه می دهد یک برنامه چندین بار به عنوان چندین نسخه مختلف نصب شود. با این حال، پشتیبانی RegFree COM محدودتر است و گاهی اوقات (در مواردی که برنامه های سراسر سیستم مانند DirectX) به طور کامل در دسترس نیست.
تفاوت بین COM CLSID و بقیه جهان COM
رابط COM با CLSID یک مدل شیء جزء است، یک روش واسط که از فلسفه برنامه نویسی شی گرا (یا OOP) استفاده می کند. این ارتباط مستقیمی با پسوند دامنه وب .COM ندارد، که به معنای دامنه تجاری سطح بالا است.
به همین ترتیب، مؤلفههای COM CLSID به فایلهای COM که زیرنوع فایل اجرایی یا EXE است، مرتبط نیستند. اگرچه برخی از اجزای ویندوز و سایر برنامهها از COM.COM استفاده میکنند، این فرمت فایل قدیمی به شبیهسازی MS-DOS نیاز دارد که (بهطور پیشفرض) در سیستمعاملهای ویندوز 64 بیتی گنجانده نشده است.
جایگاه CLSID در صنعت بدافزار
ورودی های CLSID ممکن است برای اجرای برنامه های مضر و همچنین برنامه های ایمن استفاده شوند. روتکیتها، تروجانها، اشیاء کمککننده مرورگر مخرب و انواع دیگر بدافزارها، همگی ممکن است از سیستم CLSID برای راهاندازی خودکار یا زمانی که شرایط خاصی فعال میشوند، استفاده کنند. اکثر برنامههای ضد بدافزار مناسب ورودیهای CLSID مخرب را به همراه بدافزار مرتبط با آنها شناسایی و حذف میکنند. با این حال، مانند ورودیهای معمولی CLSID، ورودیهای بدافزار CLSID حذف نشده برای برنامههایی که حذف شدهاند، نمیتوانند به رایانه شما آسیب وارد کنند.
برنامه های بدافزار همچنین به استفاده از ورودی های CLSID برای برقراری تماس با سایر برنامه ها (مانند اینترنت اکسپلورر) شناخته شده اند. این برنامهها ممکن است نشانههای قابل مشاهده باز بودن را نشان دهند یا نکنند، اگرچه در بیشتر موارد، شما باید بتوانید فرآیند حافظه برنامه باز را از طریق Task Manager و ابزارهای مشابه شناسایی کنید. از چنین حملاتی می توان برای انجام حملات آنلاین مختلف بدون اطلاع کاربر رایانه شخصی استفاده کرد. در حالی که دانش CLSID برای استفاده معمولی از رایانه شخصی ضروری نیست، آگاهی از قابلیت ها و محدودیت های آن می تواند به حل و فصل خطاهای مربوط به نرم افزار و رجیستری با حداقل ناامیدی کمک کند.