رجيستري چيست؟

 


ويندوز رجيستري ‌(Windows Registry)‌ پايگاه داده‌ اي است كه اطلاعاتي در مورد آپشن‌ها و تنظيمات مربوط به سيستم عامل ويندوز را در خود نگهداري مي‌ كند، و شامل اطلاعاتي در مورد تنظيمات سخت افزاري و نرم ‌افزارهاي جانبي نصب شده بر روي كامپيوتر و اطلاعات مربوط به كاربران كامپيوتر را نگهداري مي ‌كند. در ادامه متن توضیح مختصری در باره ی رجیستری و بخش های آن میدهم .



كليدها و مقادير موجود در رجيستري

كليدها مشابه فولدرها هستند و مي‌توانند شامل يك يا چندين زير مجموعه باشند كه با ‌Subkey‌ شناخته مي‌شود و نحوه آدرس‌دهي آنها مانند آدرس‌دهي فايل‌ها در سيستم‌عامل ويندوز است، بطور مثال

‌HLMSoftwareMicrosoftOffice

‌ كه به كليد مربوط به تنظيمات داخلي برنامه آفيس مايكروسافت اشاره مي‌كند، هر كليد شامل يك يا چندين مقدار است كه شامل نام و مقدار هستند و هر مقدار مي‌تواند نوعي خاص داشته باشد، اين انواع شامل:

REG_SZ‌: رشته‌اي را ذخيره مي‌كند، كه معمولا براي مشخص‌كردن مسير فايل‌ها و مقاديري كه بايد به‌صورت رشته متني باشد را ذخيره مي‌كند.

‌REG_BINARY‌: براي ذخيره‌سازي مقادير باينري مورد استفاده قرار مي‌گيرد، كه معمولا شامل كلمه‌هاي عبور و يا مقاديري كه امكان خواندن و درك ساده آنها ممكن نباشد، استفاده مي‌شود.

REG_DWORD‌: اين نوع براي ذخيره مقدارهاي عددي استفاده مي‌شود، كه شامل دو نوع ‌bit32‌ و ‌bit64‌ است، كه مقدار ‌bit32‌ براي اعدادي كه در بازه 0 تا تقريبا 4 ميليارد و ‌bit64‌ براي اعدادي كه در بازه 0 تا 1910‌× ‌8/1 هستند مورد استفاده قرار مي‌گيرد (مقادير 64 بيتي با ‌QWORD‌ هم شناخته مي‌شوند.)

REG_EXPAND_SZ‌: براي ذخيره‌سازي مقاديري رشته‌اي كه قابليت ذخيره‌‌سازي چندين مقادر رشته‌اي كه بسط‌پذير هستند، بكار مي‌رود. به‌عنوان مثال براي ذخيره متغيرهاي سيستمي (كه بحث آنها مقاله جداگانه‌اي مي‌طلبد) از اين نوع استفاده مي‌شود.

REG_MULTI_SZ‌: براي ذخيره مقادير رشته‌اي كه شامل چندين رشته ختم به تهي هستند مورد استفاده قرار مي‌گيرد، كه رشته‌ها با كاراكتر ‌0‌ از هم جدا مي‌شود. مانند

‌Jamejam0Click32c:WindowsSystem‌

كه شامل سه رشته متني است به اين ترتيب:

‌32 c:WindowsSystem‌ و ‌Click‌ و ‌.Jamejam‌

اين كليدها از كليدهاي اصلي هستند كه در ويرايشگر رجيستري ويندوز شناخته مي‌شوند. براي مطالعه بيشتر در مورد كليدهاي اصلي به پي‌نوشت 1 مراجعه كنيد. ‌رجيستري به چندين كندو ‌(HIVE)‌ تقسيم‌بندي شده است كه هر كدام براي مقاصد خاصي طراحي شده‌اند. اين كندوها با ‌HKEY‌ شروع مي‌شوند كه مخفف ‌Hive Key‌ است. در زير آنها را به اختصار بيان مي‌كنيم:

HKEY_CALSSES_ROOT‌

اين كندو، اطلاعاتي در مورد برنامه‌هاي ثبت شده در كامپيوتر را نگه‌داري مي‌كنند. اين برنامه‌ها معمولا بر مبناي تكنولوژي ‌COM‌ مايكروسافت پياده‌شده‌اند. اين كندو همچنين ارتباطات فايلي ‌(File Association)‌ را در خود ذخيره مي‌كند. يعني اينكه چه برنامه‌اي بايد چه فايلي را اجرا كند و اطلاعاتي در مورد اشيا ‌OLE‌ و مواردي از اين دست از ديگر كاربردهاي اين كندو است. اين كندو بطور مخفف بصورت ‌HKCR‌ هم شناخته مي‌شود.

HKEY_CURRENT_USER‌

اين كندو تنظيمات مربوط به كاربر جاري كه به سيستم وارد شده را در خود ذخيره مي‌كند، و بخشي از اطلاعات را از كندو ‌HKEY_USERS‌ كپي مي‌كند، اطلاعات هر كاربر در فايل‌هاي ‌NTUSER.DAT‌ و ‌USERCLASS.DAT‌ در پوشه زير

‌%SystemRoot%Do*****ent AndSettings

ذخيره شده است.

HKEY_LOCAL_MACHINE

اين كندو اطلاعات مربوط به تنظيمات كامپيوتر محلي را در خود ذخيره مي‌كند كه شامل چهار كليد ‌SAM‌، ‌SECURITY‌، ‌SOFTEWARE‌، ‌SYSTEM‌ مي‌شود. اين كليدها هر كدام حاوي زير كليدهايي براي مقاصدي خاص هستند كه فايل‌هاي آنها در شاخه %‌SystemRoo‌‌t‌/%‌Syste‌‌m‌32/‌config folde‌‌r‌موجود است.

HKEY_USERS‌

اين كندو اطلاعات مربوط به كاربران سيستم را مشخص مي‌كند و اطلاعات كاربر جاري كه به سيستم وارد شده را همانطور كه گفته شد در ‌HKEY_CURRENT_USER‌ ذخيره مي‌كند. ‌ ‌

HKEY_CURRENT_CONFIG‌

اين كندو اطلاعات جمع‌آوري شده در زمان اجرا را در خود ذخيره مي‌كند، اين اطلاعات در ديسك ذخيره نمي‌‌شوند و در هر بار راه‌اندازي سيستم دوباره بارگزاري مي‌شوند.

ويرايشگرهاي رجيستري

براي ويرايش رجيستري ميتوان از ‌regedit.exe‌ و ‌.exe32regedit‌ در شاخه ويندوز %windir%(‌) قرار دارند، استفاده كرد. البته بايد به اين نكته توجه داشت كه بهتر است قبل از تغييرات در رجيستري يك فايل پشتيباني از آن تهيه كرد، در نسخه‌هاي ويندوز قبل از سال 2000 ويندوز كه به ‌x9 Windows‌ معروف هستند از برنامه ‌regedit.exe‌ استفاده مي‌‌شد.و در ويندوز ‌NT‌ نسخه ‌.x3‌ از ‌.exe32REGEDIT‌ استفاده مي‌شد. از ويندوز ان‌تي به‌بعد، قابليت تعريف دسترسي براي ويرايش رجيستري نيز ايجاد شد. اين دو برنامه تفاوت‌هايي باهم دارند كه در زير به بعضي از آنها اشاره مي‌كنيم:

در ‌regedit‌ نام مقادير و نوع و داده آنها در سه سطون جدا نمايش داده مي‌شد، ولي در ‌32regedit‌ اين مقادير در يك رشته دنباله‌دار قرار داشتند.

در ‌regedit‌ براي ديدن تنظيمات و سازگاري بين ويژگي‌‌ها و تنظيمات از كليك راست استفاده مي‌شد. ولي در ‌32regedit‌ بايد از نوار ابزار ‌(Menu bar)‌ استفاده كرد.در ‌regedit‌ مي‌توان بر حسب نو داده و يا مقدار و يا داده جستجو كرد اين جستجو در تمام جاي رجيستري انجام ميشود ولي در ‌32regedit‌ امكان جستجو بر اساس نام و در يك زمان فقط يك كندو را جستجو مي‌كرد. ‌regedit‌ از انواع داده ‌REG_SZ‌، ‌REG_BINARY‌، ‌REG_DWORD‌ را پيشتيباني مي‌كرد ولي در ‌32regedit‌ از ‌REG_MULTI_SZ‌ و ‌REG_EXPAND_SZ‌ نيز پيشتيباني مي‌كرد.

فايل‌هاي رجيستري

فايل‌هايي رجيستري، با پسوند .‌reg‌، فايل‌هايي مبتني بر متن هستند و هر كس مي‌تواند آن را بخواند يا بنويسد. اين فايل‌ها بخش‌هايي از رجيستري را در خود ذخيره مي‌كنند. در ‌x9 Windows‌ اين فايل‌ها شامل متن ‌REGEDI‌‌T‌4 بودند، از سيستم نگارشي ‌Unicode‌ پيشتيباني نمي‌كردند و به‌جاي آن از ‌ANSI‌ استفاده مي‌كردند. ولي در سيستم‌هاي مبتني بر ‌NT‌ و 2000 شامل متن ‌Windows Registry Editor Version‌ 5.00 و با پشتيباني از سيستم نگارشي ‌Unicode‌ عرضه شدند.