رجیستری در ویندوز یک بخش مهم و حیاتی است. اهمیت این بخش به دلیل این است که ویندوز و نرمافزار های زیادی تنظیمات خود را در رجیستری ذخیره میکنند؛ تنظیماتی از قبیل فرمت فایل ها، رنگ بندی و تصویر پسزمینه، و یا تعیین برنامهای که بعد از ورود کاربر اجرا شود (شل یا پوسته) همگی این ها و حتی اطلاعات حساستر در رجیستری ذخیره شدهاند.
امروز میخواهیم در مورد این بخش مهم در سیستمعامل ویندوز صحبت کنیم پس با وبسایت کرمهای کامپیوتر همراه باشید.
رجیستری چطور کار میکند؟
این موضوع میتواند شروع خوبی برای مطلب ما باشد. رجیستری ویندوز درواقع یک دیتابیس درختی (Hierarchical) است. از ویژگی های مهم رجیستری این است که داده ها موقتی نستند؛ یعنی تمام اطلاعات بعد از ریستارت باید باقی بمانند. پس بدیهی است که داده ها باید بر روی هارد (به قول اهل فن ها حافظه جانبی) ذخیره شوند. سیستم عامل ویندوز این داده ها را در هارد ذخیره و در هر راهاندازی آن ها را در حافظه اصلی سیستم یا همان RAM ذخیره میکند. بنابراین دسترسی به Registry بسیار سریع خواهد بود (در حالت ایدهآل).
رجیستری ویندوز به طور کل از ۵ بخش به نام Hive (به معنی کندو) تشکیل شده است. هایو ها یک دستهبندی برای کلید ها و مقدار ها هستند. این کندو ها به ترتیب زیر هستند:
- HKEY_CLASSES_ROOT (HKCR): حاوی اطلاعات کلاس، ارتباط بین برنامه ها و اطلاعات فرمت های فایل است
- HKEY_CURRENT_USER (HKCU): اطلاعات مربوط به کاربر فعلی
- HKEY_LOCAL_MACHINE (HKLM): اطلاعاتی که بین کاربر ها مشترک هستند و مربوط به سیستم فعلی است
- HKEY_USERS (HKU): به اذای هر کاربر در سیستم یک شاخه جدید (کلید) در این هایو ایجاد میشود
- HKEY_CURRENT_CONFIG (HKCC): تنظیمات مربوط به ویندوز
همانطور که میبینید در لیست بالا جلوی نام هر کندو در پرانتز نام مختصر آن نیز نوشته شده که گاهاً در آدرس دهی از آن ها استفاده میشود. البته برخی از hive ها صرفا جهت حفظ سازگاری هستند و در واقع بیشتر شبیه یک میانبر به یک کلید دیگر عمل میکنند. برای مثال HKCR در واقع یک ادغام از دو کلید در آدرس های HKEY_LOCAL_MACHINE\Software\Classes
و HKEY_CURRENT_USER\Software\Classes
است.
برنامه ویرایش رجیستری
هرچند که برنامه هایی برای این کار نوشته شدهاند اما در بسیاری از مواقع نرمافزار Regedit خود ویندوز کاملا کافی خواهد بود و نیازی به استفاده از نرمافزار های دیگر نیست. برای اجرای اون هم میتونید در منوی استارت به دنبال آن بگردید! یا آن که کلید های R+ را بزنید و در پنجره run نام این برنامه را وارد کنید تا اجرا شود.
البته علاوه بر این یک رابط خط فرمان به نام reg نیز هست که میتوان از آن نیز استفاده کرد و به دلیل خط فرمانی بودن پیچیدگی بیشتری دارد.
درسترسی به Hives (کندو ها)
همانطور که پیشتر گفته شد این هایو ها در هارد سیستم ذخیره و نگهداری میشوند. به همین خاطر رجیستری ویندوز با دسترسی به این فایل ها میتواند بدون وارد شدن به آن نیز تغییر کند! این نکته میتواند موجب نقض امنیت ویندوز شود.
تمامی این فایل ها در آدرس Windows\System32\Config
هستند:
Supporting files | Registery Hives |
Software,Software.log and Software.sav | HKEY_LOCAL_MACHINE\Software |
System, System.alt, System.log, and System.sav | HKEY_LOCAL_MACHINE\System |
Sam, Sam.log, and Sam.sav | HKEY_LOCAL_MACHINE\SAM |
Security, Security.log, and Security.sav | HKEY_LOCAL_MACHINE\Security |
Default, Default.log, and Default.sav | HKEY_USERS\DEFAULT |
System, System.alt, System.log, System.sav, Ntuser.dat, and Ntuser.dat.log | HKEY_CURRENT_CONFIG |
کلید ها و مقدار ها
همانطور که گفته شد رجیستری یک نوع دیتابیس درختی است. میتوان آن را به ساختار پوشه ها و فایل ها تشبیه کرد. همانطور که هر پوشه میتواند شامل چند پوشه و چند فایل دیگر باشد هر کلید در رجیستری نیز میتواند شامل چند کلید و مقدار دیگر باشد.
نکته دیگر این است که هر کلید همواره دارای یک مقدار پیشفرض به نام (Default) و از نوع REG_SZ است. مقادیر میتوانند از انواع مختلفی باشند؛ برخی از رایج ترین انواع این ها هستند:
- REG_BINARY: داده های باینری
- REG_DWORD: یک عدد ۳۲ بیت
- REG_EXPAND_SZ: یک متن که میتواند شامل متغیر های Environment هم باشد (مثل %path%)
- REG_SZ: یک رشته متن ساده
در مطالب بعدی به شما کلید ها و مقدار های جالبی را در ویندوز معرفی میکنیم که با تغییر هر کدام میتوانید در ویندوز تغییراتی ایجاد کنید و گاهاً حتی امکانات جدیدی به آن اضافه کنید!