رجیستری

از ویکی‌پدیا، دانشنامهٔ آزاد.

رِجیستری (Registry) را می‌توان دفترخانه یا محضر ویندوز تصور کرد؛ جایی که تنظیمات نرم‌افزارها و سخت‌افزارهای سیستم، در آن به ثبت می‌رسند. در پنجمین ویراست از کتاب «فرهنگ‌ رایانه‌ای مایکروسافت» دربارهٔ رجیستری چنین آمده است:

یک پایگاه داده‌ متمرکز با ساختارِ سلسله مراتبی که در ویندوزهای 9x ،CE ،NT و 2000 به کار رفته و از آن برای نگهداری اطلاعات لازم جهت پیکربندی سیستم برای یک یا چند کاربر، برنامه‌های کاربردی و تجهیزات سخت‌افزاری استفاده می‌شود.
رجیستری، حاوی اطلاعاتی است که ویندوز در حین عمل، به طور پیوسته و مکرر به آنها رجوع می‌کند؛ از قبیل [تنظیمات مربوط به] پرونده‌های هر کاربر، برنامه‌های کاربردی نصب شده بر روی رایانه، انواع مستنداتی که [هر کاربر] می‌تواند ایجاد کند، خصلت‌های صفحه‌ای پوشه‌ها، آیکون‌های برنامه‌ها، سخت‌افزارهای موجود در سیستم، درگاه‌های مورد استفاده و... .
رجیستری، جایگزینی است برای فایلهای مبتنی بر متن با پسوند INI در ویندوز x.‏3‏ و همچنین فایلهای پیکربندی MS-DOS، مثل autoexec.bat و config.sys. در ضمن، داده‌های رجیستری در فایلهای دودویی ذخیره می‌شوند.


فهرست مندرجات

[ویرایش] نقش و اهمیت رجیستری

رجیستری، یکی از مهم‌ترین و اصلی‌ترین بخش‌های سیستم‌عامل ویندوز است. این بخش، نقشی کلیدی در پیکربندی و کنترل سیستم‌عامل ویندوز ایفا کرده و همچون انباره‌ای است که تنظیمات کلیِ سیستم (اعم از نرم‌افزاری و سخت‌افزاری) و تنظیمات خاصِ هر کاربر را در خود جای می‌دهد. نقش این بخش در ویندوز چنان است که تغییر در آن، تأثیرات بنیادینی بر عملکرد کل این سیستم‌عامل خواهد داشت. به خاطر همین اهمیت و حساسیت، رجیستری از دید و دسترسی کاربران عادی به دور نگاه داشته می‌شود. اما کاربر خبره می‌تواند از طریق ابزارهای تعبیه شده در ویندوز - نظیر regedit.exe - مستقیماً در محتوای رجیستری، دخل و تصرف کند.


عنوان تحقیق :رجیستری ویندوز XP محقق:رضا حیدری

1)مقدمه:

رجیستری قلب و روح ویندوز XP است.رجیستری عبارت است از داده های پیکر بندی که سیستم عامل را فعال می کند .رجیستری به برنامه نویسان امکان می دهد داده های پیکر بندی سیستم را به گونه ای سازماندهی کنند که در سایر مکانیزم ها نظیر فایل های INI امکان پذیر نیست.تمام ویژگی های ویندوز XP که به ظاهر کارایی چندانی ندارد،همین خصوصیت را دارا می باشند.مهمتر اینکه،رجیستری به شما این امکان را می دهد ویندوز XP را آن طور که مایلید اختصاصی کنید که از طریق دیگری امکان پذیر نیست. ویندوز XP و هر برنامه کاربردی که در جدیدترین سیستم عامل DESKTOP متعلق به شرکت MICROSOFT اجرا می شوند،بدون مشورت با رجیستری تقریباً هیچ کاری انجام نیم دهند.به طور مثال وقتی روی فامیلی دال کلیک می کنید،ویندوز XP به رجیستری مراجعه می کند تا دریابد چه کاری باید روی آن فایل انجام دهد.وقتی ابزاری را نصب کرده و سپس پیکر بندی ابزار را ذخیره می کند.وقتی یک برنامه مثل WORD را اجرا می کنید،این برنامه پارامتر های خود را در رجیستری جستجو کرده و با استفاده از آنها اجرا می شود.

2)تعریف رجیستری:

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

3)اجزاء موجود در رجیستری:

1-3-SID:قوانین امنیتی همان حقوق دسترسی کامپیوتر،حقوق دسترسی کاربر،گروهها و سایر عناصر مرتبت با امنیت می باشند. (SID) شناس های امنیتی یکی از اجزاء رجیستری می باشند که قوانین امنیتی را مشخص می کنند.SIDها در حوزه خود منحصر به فرد می باشند.یعنی ویندوزACTIVE DIRECTORY, XP هیچگاه از یک SID مجدّداً استفاده نیم کنند.

2-3-GUID:این اعداد شماره هایی هستند که فقط آبجکت ها از جمله کامپیوتر ها،مؤلفه های برنامه،ابزارها و غیره را مشخص می کنند.این آبجکت ها اغلب نامی دارند،اما GUID آنها همیشه منحصر به فرد است.به عبارت بهتر GUID یک آبجکت شبیه به SID قانون امنیتی است.GUIDها را در سرتاسر رجیستری می توان دید.تمامی آنها فرمت مشابهی دارند.آنها اعداد هگزادسیمال شانزده بایستی هستند که در گروههای 4،8و12 رقمی(0تا 9و A تا Z)سازماندهی می شوند.هر گروه از ارقام با یک خط فاصله از هم جدا شده و کل اعداد در کرو شه قرار می گیرند.بطور مثال آبجکت Recycle Bin برابر عبارت {645FF040-5081-101B-9F08-00AA002F954E} می باشد.

3-3-علائم هگزادسیمال:نود نه درصد داده هایی که در رجیستری مشاهده می کنید،هگزادسیمال می باشند.علائم هگزادسیمال در مبنای شانزده بوده که ارقام آن از 0 تا 9 و ازAتاZ می باشد.

4-3-بیت و بیت ماسک ها:تمام مقادیر یا بهتر بگویم غالباً تمام آنچه از مقادیر که می بینید یک بیت ماسک است.بطور کلی به هر بیت در شکل جدولی آن یک بیت ماسک گویند.

5-3-کد های ANSIوUNICODE:اولین شمای کد کاراکتری ASCII بود که هنوز هم مورد استفاده قرار می گیرد.در کدASCII هر کاراکتر هشت بیت یا یک بایت است.اما بدلیل محدود بودن این کد و نیاز به یک سیستم بزرگتر برای در بر گرفتن کاراکتر های زبان های غیر انگلیسی و لاتین استاندارد UNICODE که یک استاندارد کد شانزده بیتی است ارائه شد؛این کد65536 کاراکتر مجزا را ارائه می دهد.کد کاراکتری اصلXP،UNICODE می باشد اما از ANSI نیز پشتیبانی می کند در رجیستری نام آبجکت ها،مسیرها و نام پارامتر ها به صورت کاراکتر های شانزده بیتیUNICODE ذخیره و نمایش داده می شود.

6-3-کلید ها(KEYS):ریشه های اصلی در رجیستری کلید ها هستند که پارامتر ها و حتی در بعضی موارد KEYهای دیگر در آنها قرار می گیرد.

7-3-پارامتر ها(VALUE):اصلی ترین اجزاء رجیستری پارامتر ها هستند که کوچکترین جزء نیز به حساب می آیند.

4)ساختار رجیستری:

1-4-ساختار رجیستری ویندوز XP آنقدر شبیه به ساختار سیستم فایل آن است که فقط می توان تحلیلی از آن را ارائه داد.برای مشاهده رجیستری از یکی از ابزار های ویندوز XP به نام REGISTRY EDITOR استفاده می شود.صفحه این نرم افزار به دو قسمت مجزا تقسیم شده که به یکی Key Pane و به دیگری Value Pane می گویند.در سمت چپ ویرایشگر کهkey Pane نامیده می شود،سلسله مراتب رجیستری را می بینید.هر علامت پوشه در Key Pane یک کلید رجیستری (Registry Key) است.در پنجره سمت راست ویرایشگر کهValue Pane نامیده می شود،مقادیر کلید ها دیده می شود و شما می توانید در این قسمت کارهای خود را بر روی پارامتر ها انجام دهید.

2-4-کلید ها(KEYS):کلید ها بسیار شبیه به پوشه ها هستند بطوری که حتی REGESTRY EDITOR برای کلید ها از همان آیکن پوشه ها در ویندوز استفاده کرده است و قوانین نامگذاری آنها نیز یکسان است.تا جایی که نام کلید ها منحصر به فرد باشد می توانید آنها را در یکدیگر قرار دهید.نام کلید به 512 کاراکتر ANSI یا 256 کاراکتر UNICODE محدود بوده و می توانید از همه کاراکتر های ASCII به غیر از ممیز وارونه( \ )،ستاره( * )،و علامت سوال( ? ) در نامگذاری استفاده کنید.علاوه بر این ویندوز XP تمام نامهایی که با نقطه شروع می شوند را برای استفاده بعدی رزرو کرده است.

3-4-مقادیر(VALUE):هر کلید حاوی یک یا چند مقدار است.در اینجا منظور از مقدار همان پارامتر ها هستند.در تحلیل کلی و مثالی می توان گفت هر مقدار شبیه به یک فایل می باشد.نام مقدار شبیه به نام فایل است.نوع مقدار شبیه به انشعاب فایل است که نوع فایل را نشان می دهد.داده های مقدار شبیه به محتویات واقعی فایل است.اگر روی یک مقدار دابل کلیک کنید برنامه محتویات آن مقدار را در یک کادر نشان می دهد.در این پنجره سه قسمت وجود دارد که مربوط به سه خصوصیت آن مقدار می باشد.

1-3-4- NAME:نام مقدار در این قسمت نوشته شده است.همان قوانین نامگذاری کلید ها برای مقادیر نیز اعمال می شود.

در هر کلید نام مقادیر باید منحصر به فرد باشد.اما کلیدهای متفاوت می توانند مقادیری با نامهای مشابه داشته باشند.

2-3-4-TYPE :نوع مقدار،در واقع نوع داده های موجود در آن در این قسمت نمایش داده می شود.بطور مثال می گویند که مقدار REG-DWORD،STRINGو... است.

3-3-4-DATA:داده ها یا به عبارتی محتویات مقدار در این قسمت نمایش داده می شود.هر مقدار ممکن است خالی،یا حاوی داده هایی باشد.

4-4- بصورت پیش فرض هر کلید حداقل یک مقدار با نام (Default) دارد.این مقدار تهی می باشد و در قسمت DATA ی آن عبارت (Value Not Set)نمایش داده می شود.

5)انواع داده ها در رجیستری:

1-5-ویندوز XPاز انواع داده های زیر در رجیستری پشتیبانی می کند.با اندکی تحمل در انواع داده ها خواهید فهمید که REG-SZ،REG-BINARYوREG-DWORD در اکثر پارامترهای رجیستری مورد استفاده قرار می گیرند:

2-5-(REG-BINARY):داده های مبنای دو.REGISTRY EDITOR داده های مبنای دو را بصورت علائم هگزادسیمال نمایش می دهد،شما داده های مبنای دو را با استفاده از علائم هگزادسیمال وارد می کنید.بطور مثال یک مقدار REG-BINARYمی تواند عبارت زیر را بپذیرد:0×92 0×38 0×AB D×D9 0×02 0×FE 0×A9.

3-5-REG-DWORD)):مقادیر چهار بایستی(سی و شش بیتی).بسیاری از مقادیر موجود در ریشتری،مقادیرREG-DWORD هستند که به عنوان علائم منطقی مورد استفاده قرار می گیرند(0 یا 1،TRUE OR FALSE،YES OR NO)در این نوع زمان بر مبنای میلی ثانیه ذخیره می شود(1000 یعنی یک ثانیه).اعداد سی و دو بیتی بدون علامت از 0 تا 4294967295 و اعداد سی و دو بیتی علامت دار از 2147483648- تا 2147483647 می باشند.می توانید این مقادیر را بصورت علائم ده دهی و هگزادسیمال مشاهده و ویرایش کنید.بطور مثال مقادیر یک عبارت REG-DWORD عبارت است از:0×10010001،0×FE020001

4-5-(REG-DWORD-BIG-ENDIAN):مقادیر چهار بایستی که ابتدا با ارزشتر ین بایت های آنها در حافظه ذخیره شده --اند.ترتیب بایت ها بر عکس ترتیبی است کهREG-DWORD آنها را ذخیره می کند.برای مثال،عدد 0×01020304 در حافظه به صورت 0×01 0×02 0×03 0×04 ذخیره می شوند.این نوع داده در ساختار های مبتنی بر اینتل زیاد وجود ندارد.

5-5-(REG-DWORD-LITTLE-ENDIAN):مقادیر چهار بایستی که ابتدا کم ارزش ترین بایت های آنها در حافظه ذخیره می شوند یعنی ترتیب بایت ها معکوس است.این نوع در واقع همان REG-DWORD است چون ساختار های مبتنی بر این تل اعداد را به این فرمت در حافظه ذخیره می کنند،این فرمت رایجترین فرمت مورد استفاده در XP نیز می باشد.برای مثال عدد 0×01020304 در حافظه بیصورت 0×04 0×03 0×02 0×01 ثبت می شود.این نوع مقدار در Registry Editor قابل ایجاد شدن نیست،چون این نوع مقدار در واقع همان REG-DWORD در ریشتری است.

6-5-(REG-EXPAND-SZ):متن به طول متغیر،مقداری از این نوع حاوی متغیر های محیط کار بوده و برنامه ای که از این مقدار استفاده می کند؛قبل از استفاده از آن متغیر ها را باز می کند.برای مثال، مقدار REG-EXPAND-SZ که حاوی %User Profile%\Favorites می باشد،قبل از اینکه برنامه از آن استفاده کند به صورتC:\Document and Setting\User\Favorites گسترده می شود،رابط برنامه نویسی کاربردی در ریشتری برای گشودن متغیرهای محیط کار در پارامتر های REG-EXPAND-SZ متکی به بازیابی برنامه می باشد،بنابراین اگر برنامه ای این متغیر ها را نگشاید،این رابط مفید واقع نخواهد شد.

7-5-(REG-FULL-RESOURCE-DESCRIPTOR):فهرستهای منابع ابزار یا راه انداز ابزار.این نوع داده در Plug and Play مهم است،ولی در مورد کار با رجیستری زیاد مفید واقع نمی شود و Registry Editor هیچ روشی برای ایجاد این نوع مقدار ارائه نیم دهد.اما این نوع را نشان می دهد.

8-5-(REG-LINK):یک لینک است.این مقادیر را در Registry Editor نمی توان ایجاد کرد.

9-5-(REG-MULTI-SZ):مقادیر دو دویی که حاوی فهرستهایی از رشته ها می باشند.Registry Editor در هر خط یک رشته را نمایش داده و به شما اجازه می دهد که این فهرستها را ویرایش کنید.در رجیستری،برای جدا کردن رشته ها از یکدیگر از یک کاراکتر تهی(0×00) و برای خاتمه فهرست از دو کاراکتر تهی استفاده می شود.

10-5-(REG-NONE):مقادیری که هیچ نوع برای آنها تعریف نشده است. 11-5-(REG-QWORD):مقادیر هشت بایستی(شصت و چهار بایتی).این نوع شبیه بهREG-DWORD می باشد اما به جای سی و دو بیت،شصت و چهار بیت دارد.تنها نسخه ای از ویندوز XP که از این نوع مقدار پشتیبانی می کند و دچار مشکل نمی شود WINDOWS XP 64 BIT EDITION می باشد.این مقادیر را نیز می توانید به صورت ده دهی و هگزادسیمال مشاهده و ویرایش کنید. بطور مثال عبارت 0×FE243011001301 یک مقدار REG-QWORD می باشد.

12-5-(REG-QWORD-BIG-ENDIAN):مقادیر هشت بایستی که ابتدا با ارزشتر ین بایت های آنها در حافظه ذخیره شده است،ترتیب بایت های برعکس ترتیبی است که REG-QWORD آنها را ذخیره می کند.

13-5-(REG-QWORD-LITTLE-ENDIAN):مقادیر هشت بایستی که ابتدا کم ارزشتر ین بایت های آنها در حافظه ذخیره شده است.ترتیب بایت ها معکوس است. این نوع در واقع همان REG-QWORD است.Registry Editor امکان ایجاد این مقادیر را نمی دهد،چون این نوع مقدار در رجیستری باREG-QWORD برابر است.

14-5-(REG-RESOURCE-LIST):فهرست مقادیر REG-FULL-RESOURCE-DESCRIPTION می باشد.REGISTRY EDITOR به شما اجازه مشاهده این نوع مقدار را می دهد اما نمی توانید آن را ویرایش کنید.

15-5-(REG-RESOURCE-REQUIRMENT-LIST):فهرست منابع مورد نیاز ابزار.Registry Editor به شما اجازه می دهد این نوع مقدار را مشاهده کنید اما نمی توانید آن را ویرایش کنید.

16-5-(REG-SZ):متن به طول ثابت.به غیر از مقادیرREG-DWORD،مقادیر REG-SZ نیز از انواع رایج داده ها در رجیستری میباشد.در این هر رشته با یک کاراکتر تهی پایان می یابد.برنامه ها متغیر های محیط کار را در مقادیر REG-SZ باز نمی کنند.

6)آدرس های ساختاری در رجیستری:

   رجیستری در XP از پنج کلید ریشه ای ایجاد شده است که عبارتند از :


1-6-HKEY-CLASSES-ROOT)) 2-6-HKEY-CURRENT-USER)) 3-6-(HKEY-LOCAL-MICHINE ) 4-6-HKEY-USERS)) 5-6-((HKEY-CURRENT-CONFIG

   در میان آدرس های بالا HKLMو HKUاز بقیه مهمتر هستند.اینها عملاً تنها کلید های ریشه ای هستند که ویندوز XP در دیسک ذخیره می کند.سایر کلید های ریشه زیر کلید ها HKLM,HKU لینک شده اند.بطور مثال HKCU لینکی از HKU است.HKCR, HKCC لینک هایی به زیر کلید های HKLM هستند.

6-6-HKEY-USERS)):این کلید حداقل سه زیر کلید دارد:

1-6-6-(DEFAULT):حاوی پارامتر های کاربری است که ویندوز XP قبل از ورود کاربر به کامپیوتر از آنها برای نمایش Desktop استفاده می کند.

2-6-6-SID)):منظور از SID در اینجا شناسه امنیتی کاربری است که در پشت صفحه کلید نشسته است و حاوی پارامتر های کاربر می باشد.HKCU به این کلید لینک شده است.این کلید حاوی پارامتر هایی نظیر پارامتر های Desktop و پارامتر های Control Panel می باشد.


یک نمونه از SID ها


3-6-6-((SID-CLASSES:منظور از SID در اینجا شناس امنیتی کاربر است که در پشت صفحه کلید نشسته است و حاوی ثبت کلاس و ترکیبات فایل است.ویندوز XP محتویات کلید های HKLM\SOFTWARE\CLASSES ,HKU\SID-CLASSESرا در HKCR با هم ادغام می کند.

4-6-6-((S-1-5-18:SID مرسوم برای حق دسترسی Local System است.ویندوز XP این پروفایل حق دسترسی را زمانی بار گذاری می کند که برنامه یا سرویسی در حق دسترسی Local System اجرا شود.

5-6-6-(S-1-5-19):SID مرسوم برای حق دسترسی Local Service است.Service Control Manager از این حق دسترسی برای اجرای سرویس محلی استفاده می کند که نیازی به اجرا به عنوان حق دسترسی Local System ندارد.

6-6-6-(S-1-5-20):SID مرسوم برای حق دسترسی Network Service است.Service Control Manager از ای حق دسترسی برای اجرای سرویس شبکه استفاده می کند که نیازی به اجرا به عنوان حق دسترسی ندارند.

7-6-(HKEY-CURRENT-USER):حاوی پارامتر های مختص کاربری است که پشت صفحه کلید نشسته است.این کلید ریشه ی لینکی به HKU\SID است،که در اینجا منظور از SID شناس امنیتی همین کاربر می باشد.این شاخه حاوی متغیر های محیط کار،پارامتر های Desktop،ارتباط شبکه،چاپگر ها و پارامتر های برنامه کاربری است.

1-7-6-Appetents)):اصوات را با رویداد ها همراه می سازد.

2-7-6-(Consol):داده های زیر سیستم کاربر را ذخیره می کند که از تمام برنامه های کاربردی مد کاراکتری از جمله خط فرمان MS-DOS میزبانی می کند.

3-7-6-(Control Panel):حاوی قابلیت دسترسی محلی و پارامتر های Desktop می باشد.

4-7-6-(Environment):متغیر های محیط کار تنظیم شده از سوی کاربران را ذخیره می کند.

5-7-6-(Identities):باری هر هویت موجود در Ms Outlook Express یک زیر کلید را در بر می گیرد.این برنامه با استفاده از هویت ها به چندین کاربر اجازه می دهد یک Mail Client واحد داشته باشند.

6-7-6-(Keyboard Layout):حاوی اطلاعاتی در مورد طرح بندی های صفحه کلید نصب شده است.

7-7-6-(Net Work):اطلاعاتی را در مورد نقشه داریو های شبکه ذخیره می کند.هر زیر کلید Network درایوی است که در هر بار ورود کاربر به کامپیوتر،XP با آن ارتباط برقرار می کند. 8-7-6-(Printers):پارامتر های کاربر را برای چاپگر ها ذخیره می کند.

9-7-6-(Soft Ware):حاوی پارامتر هایی از برنامه های کاربردی می باشد،که مختص کاربر می باشد.XP بیشتر پیکر بندی های خاص خود را نیز در این کلید ذخیره می کند.

10-7-6-(Volatile Environment):حاوی متغیر های محیط کاری است که برای زمان ورود کاربر به ویندوز XP تعریف شده اند.بقیه کلید ها زیاد مهم نبوده و ذکر نشده اند.

8-6(HKEY-LOCAL-MICHINE):این کلید حاوی پارامترهای خاص کامپیوتر می باشد.یعنی پارامتر هایی که در این شاخه موجود هستند در پیکر بندی کامپیوتر اعمال شده و بر هر کاربری که به آن وارد می شود تاثیر می گذارند.این کلید شامل زیر کلید های زیر می باشد:

1-8-6-(Hard Ware):داده هایی را ذخیره می کند که سخت افزار را شرح می دهند و ویندوز XP در آغاز کار مورد بررسی قرار می دهد.سیستم عامل هر بار که آغاز به کار می کند این کلید را ایجاد می کند که حاوی اطلاعاتی در مورد ابزار ها و راه انداز های ابزار و منابع همراه آنها می باشد.

2-8-6-(Sam):حاوی بانک اطلاعاتی امنیتی محلی ویندوز Security Accounts Manager) XP )می باشد.XP کاربران محلی و گروه ها را در Sam ذخیره می کند.

3-8-6-(Security):حاوی بانک اطلاعاتی امنیتی محلی ویندوز XP در زیر کلید Sam و نیز سایر پارامتر های امنیتی می باشد.

4-8-6-(Software):حاوی پارامتر های برنامه کاربردی خاص کامپیوتر می باشد.ویندوز XP نیز پارامتر ها را در این کلید ذخیره می کند.

5-8-6-(System):حاوی مجموعه های کنترل می باشد که یکی از آنها Current می باشد.سایر مجموعه ها متغیر هایی هستند که توسط XP استفاده می شوند.

9-6-(HKEY-CLASSES-ROOT):این کلید حاوی دو نوع پارامتر می باشد.اولی ساختار فایل است که انواع مختلفی از فایل ها را با برنامه هایی همراه می سازد که می توانند آنها را باز،چاپ یا ویرایش نمایند.دومی ثبت کلاس(Class Registration) برای آبجکت های COM (Component Object Model) می باشد.این کلید ریشه یکی از جالب ترین کلید هایی است که می توان آن را در رجیستری اختصاصی کرد،چون به شما امکان می دهد بسیاری از رفتار های سیستم عامل را تغییر دهید.این کلید ریشه بزرگترین کلید ریشه در رجیستری نیز هست و بیشتر فضای رجیستری را اشغال می کند.

10-6-(HKEY-CURRENT-CONFIG):این کلید ریشه لینکی به داده های پیکر بندی پروفایل سخت افزار جاری،کلید زیر می باشد:

MyComputer \ HKEY_LOCAL_MACHINE \ System \ Currentcontrolset \ HardwareProfiles \ Current

7)نرم افزارهای کاربردی و ابزارهای مدیریت رجیستری:

   در حال حاضر صدها ابزار برای رجیستری در دسترس می باشد.برنامه هایی شبیه به خود نرم افزار Registry Editor و ... .

1-7- (Regedit.exe) Registry Editor:نرم افزاری برای مشاهده رجیستری و اعمال تغییرات در آن.

2-7-(Reg.exe) Consol Registry:این ابزار خط دستوری رجیستری بیشتر قابلیت های Registry Editor را پشتیبانی می کند.اهمیت این ابزار این است که به شما اجازه می دهد که اسکریپت هایی را برای ویرایش رجیستری در فایل های دسته ای بنویسید.

3-7-(Win Diff):این ابزار با ابزار های پشتیبان ویندوز XP همراه می باشد،که می توانید آن را از \Support\Tools در لوح فشرده ویندوز XP نصب کنید.

4-7-(Ms-Word):شاید فکر کنید این برنامه کاربردی یکی از ابزار های مدیریت رجیستری نیست،اما وقتی Win Diff در دسترس نباشد با این برنامه می توان اسکریپت های موجود در رجیستری را ویرایش کرد و از ویژگی های اصلاح خودکار آن بهره مند شد.


8)استفاده از ابزار Registry Editor:

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

1-8-اجرای Regedit.exe:در منوی Start هیچ میان بری برای دسترسی به Registry Editor نخواهید یافت و نباید هم بیابید.زیرا این ابزار،ابزاری نیست که در دسترس همه کاربران قرار داده شود.(به دلیل اهمیت و خطیر بودن آن).در بیشتر کامپیوتر ها Regedit.exe در C:\Windows یا همان %System Root% قرار گرفته است.برای اجرای Regedit.exe ،یا فایل آن را با همین نام در مسیر ذکر شده اجرا کرده و یا در منوی Start ،Run را اجرا کرده و بعد کلمه Regedit را وارد نموده و OK کنید(نیاز به مسیر نمی باشد).حتی می توانید از فایل آن میانبر هایی را به Desktop و منوی استارت یا نوار Quick Lunch اضافه کنید تا راحت به ان دسترسی داشته باشید.



2-8-اجزای Regedit:

1-2-8-پیشخوان Key:این قسمت سلسله مراتب رجیستری را نمایش می دهد و از ساختاری درختی استفاده می کند .در آن کلید ها و زیر کلید ها نمایش داده می شوند.در بالاترین سطر ان عبارت My Computer وجود دارد،که بیان گر کامپیوتر محلی می باشد.در زیر هر کلید زیر کلید های ان نمایش داده می شود.اصطلاح شاخه (Branch) به یک کلید و تمام زیر کلید های ان اطلاق می شود.با کلید کردن بر روی علامت(+)در کنار هر کلید شاخه ان کلید گسترده می شود.اگر روی علامت(-)کنار هر کلید کلیک کنید شاخه آن ناپدید می شود.روی هر کلید اگر کلیک کنید مقادیر آن در پیشخوان Value دیده می شوند. برای حرکت در کلید ها و جستجو و کارهایی از این قبیل علاوه بر ماوس می توان از کلید های صفحه کلید استفاده کرد.در زیر بعضی از این کلید ها آورده شده اند.







Ctrl + F کادر محاوره Find باز می شود F3 جستجوی آخر را تکرار می کند + شاخه انتخاب شده را باز می کند - شاخه انتخاب شده را می بندد

  • تمامی زیر کلید های شاخه انتخاب شده را باز می کند Home My Computer را انتخاب می کند

UP کلید قبلی را انتخاب می کند Down کلید بعدی را انتخاب می کند Left در صورت نمایش شاخه انتخاب شده ان را می بندد و در غیر این صورت کلید والد را انتخاب می کند Right شاخه انتخاب شده را در صورت بسته بودن باز می کند و در غیر این صورت اولین زیر کلید مربوطه را باز می کند. End آخرین کلید قابل رویت Key Pane را انتخاب می کند F6,Tab انتقال بین key pane و value pane را امکان پذیر می کند Page Up به صفحه قبلی Key Pane می رود Page Down به صفحه بعدی Key Pane می رود F2 کلید یا مقدار انتخاب شده را Rename می کند F10 نوار منو را باز می کند

2-2-8-پیشخوان Value:

    مقادیر کلید انتخاب شده را نمایش می دهد.در این قسمت سه ستون می بینید:Name,Type,Data با کشیدن خط جدا کننده از چپ به راست می توانید اندازه ستون ها را تغییر دهید.در هر سطر یک مقدار نمایش داده می شود در ستون Name نام مقدار و در ستون Type نوع آن و در ستونData محتویات آن نمایش داده می شود.

3-8-تغییر مقادیر:برای ویرایش و تغییر یک مقدار سه راه وجود دارد:1-دابل کلیک بر روی آن 2-انتخاب مقدار و انتخاب گزینه Modify از منوی Edit 3-راست کلیک بر روی مقدار و انتخاب گزینه Modify .با انجام یکی از کارهای بالا بسته به نوع مقدار،Regedit ویرایشگری متفاوت را نمایش می دهد.در ویرایشگر در کادر Value Data می توان داده های جدید خود را وارد کرد.با اعمال تغییرات ،این تغییرات بلا فاصله در رجیستری اعمال می شود.

4-8-افزودن کلید ها یا مقدار ها:برای ایجاد یک کلید جدید،می توان دو راه وجود دارد:ابتدا روی کلیدی که می خواهید زیر کلیدی برای آن ایجاد کنید کلیک کرده تا انتخاب شود.1-در منوی Edit گزینه New و بعدKey را انتخاب نمایید تا یک کلید جدید ایجاد شود سپس نام کلید را تعیین کنید.


   2-روی کلید مورد نظر کلید راست کرده و از منوی باز شده گزینه New و Key را انتخاب کنید و کلید ایجاد شده را تعیین نام کنید.


برای ایجاد یک مقدار جدید نیز به همین روش عمل می شود بطوری که:1-در پیشخوان Key روی کلیدی که می خواهید در ان مقدار جدید را ایجاد کنید کلیک راست کرده و از منوی ظاهر شده گزینه New و بنا به نوع مقداری که می خواهید ایجاد کنید یکی از گزینه ها را انتخاب کنید.


  2-در منوی Edit روی گزینه New و سپس روی مقداری که می خواهید ایجاد کنید کلیک کنید.3- کلیدی که می خواهید در ان مقدار جدید ایجاد کنید را انتخاب کنید و در قسمت  Value Pane کلیک راست کرده روی گزینه New و سپس روی مقداری که می خواهید ایجاد کنید کلیک کنید.

5-8-حذف کلید ها و مقادیر:روی کلید یا مقداری که می خواهید حذف کنید کلیک کرده و 1-از منوی Edit گزینه Delete را انتخاب کنید.2-کلید Delete را بفشارید.3-روی مقدار یا کلید مورد نظر راست کلیک کرده و از منوی ظاهر شده گزینهDelete را انتخاب کنید.و در آخر در پیغام ظاهر شده Yes را زده تا کلید یا مقدار حذف شود.


6-8-نامگذاری مجدد کلید ها و مقادیر:برای تغییر نام،روی کلید یا مقدار مورد نظر کلیک کرده و1- از منوی Edit گزینه Rename را انتخاب کنید.2-کلید F2 را بفشارید.و در آخر نام جدید را وارد کنید.

7-8-چاپ رجیستری:برای چاپ زیر کلید ها باید مراحل زیر را انجام دهید: 1-روی کلیدی که می خواهید چاپ کنید،کلیک کرده 2-از منوی File گزینه Print را انتخاب کنید تا کادر محاوره ای Print نمایش داده شود. 3-برای چاپ کل رجیستری روی All کلیک کنید.و برای چاپ شاخه انتخاب شده روی Selected Branch کلیک کنید. 4-روی Print کلیک کنید تا آنچه می خواهید چاپ شود.

8-8-تهیه نسخه پشتیبان از رجیستری(Back Up):می توان برای حفظ امنیت یک Back Up از رجیستری تهیه کرد تا در صورت هر گونه مشکل بتوان با این نسخه مشکلات را حل کرد بطور کلی Regedit کار Back Up گیری را با چهار نوع فایل انجام می دهد:1-فایل های Registration ،2-فایل های رجیستری Win9x\me ،3-فایل های هایو ،4- فایل های متنی.این فایل ها با هم متفاوتند.برای تهیه یک پشتیبان از رجیستری باید مراحل زیر را انجام دهید: 1-گزینه Export را از منوی File انتخاب کنید تا کادر محاوره ای Export Registry File ظاهر شود.


2-برای تهیه نسخه پشتیبان از کل رجیستری،گزینه All را انتخاب کنید.و برای تهیه نسخه پشتیبان از شاخه انتخاب شده، روی گزینه Selected Branch کلیک کنید. 3-در کادر File Name نام فایل خود را وارد کنید. 4-در فهرستSave As Type ،روی نوع فامیلی که می خواهید ایجاد کنید کلیک کنید. 5-روی کلید Save کلیک کنید. با این کار شما یک فایل پشتیبان از رجیستری سیستم خود تهیه کرده اید.

9-8-بازیابی فایل های پشتیبان در رجیستری(Import):وارد کردن فایل به رجیستری مانند باز کردن فایل است.برای این کار گزینه Import را از منوی File انتخاب کرده


و از فهرست File of Type روی نوع فایل مورد نظر کلیک کنید.سپس در کادر File Name ،مسیر و نام فایل ورودی را تایپ کنید.در انتها روی کلید Open کلیک کنید تا فایل مورد نظر بازیابی شود.

9)فایل های کاری در رجیستری:


1-9-فایل های Registration:این فایلها نسخه پنجم فایلهای REG می باشند که فایل های متنی ساده شبیه به فایل های INI می باشند در آن نام هر بخش ،نشان دهنده یک کلید و آیتم هر بخش،نشان دهنده یک مقدار است.این فایل ها Unicode می باشند و از برخی از برنامه ها نمی توانند با آنها کار کنند.شما می توانید با دو بار کلید کردن روی فایل های Reg آن را به رجیستری اضافه کنید.

2-9-فایل های رجیستری Win9x\Me:این فایل ها نسخه چهارم فایل های REG هستند که در ویندوز های 95,98,NT 4.0،Me پشتیبانی می شوند.این فایل ها به جای متن Unicode ،فایلهای متنی ANSI می باشند.یعنی هر یک از کاراکتر ها یک بایستی می باشند.

3-9-فایل های هایو(Hive):این فایل ها،فایلهای باینری هستند که قسمت هایی از رجیستری را شامل می شوند.XP بخش های مختلف رجیستری را در فایل های هایو ذخیره می کند.فایل های هایو ابزاری مفید هستند و جهت نسخه پشتیبان مفیداند.این فایلها بیشتر مزایای فایل های REG را دارند، بجز آنکه نمی توان آنها را در ویرایشگر متن مشاهده و ویرایش کرد.برتری آنها نسبت به فایل های REG این است که بدون اینکه واقعاً پارامتر های خود را تغییر دهید،می توانید آنها را در Regedit بار گذاری و ویرایش کنید.

4-9-فایل های متنی(Text):می توان کلید ها را به فایل های متنی نیز صادر نمود. اما نمی توان آنها را مجدّداً به رجیستری وارد کرد.Regedit فایل های متنی صادر شده را خوانا تر از فایل های REG نمایش می دهد که در تفسیر پارامتر ها به شما کمک می کند و این تنها کاربرد فایل های متنی است.

10)محدود کردن رجیستری:

    برای کنترل داشتن بر دسترسی کاربران به رجیستری و مدیریت دسترسی رجیستری برای کاربران خود Registry Editor امکاناتی دارد که شما می توانید از آنها برای اعمال محدودیت در استفاده هر کاربر استفاده کنید.برای این کار می توانید هر کلیدی را که مایلید آن را برای کاربران دیگر از نظر امنیتی محدود کنید و یا کارهای امنیتی دیگری بر روی آن اعمال کنید انتخاب کرده و سپس از منوی Edit گزینه  Permissions را انتخاب کنید.


در کادر ظاهر شده می توان تمام کاربران موجود را مشاهده کرد.می توان از دکمه های AddوRemove گروههای کاری را اضافه یا حذف کرد.در قسمت پایین کادر می توان محدودیتها را مشخص کرد که شامل گزینه های Full control ،Read ،Special Permissions می باشد.

1-10-Full Control:هر کاربری که این سطح دسترسی را داشته باشد به عنوان یک مدیر محسوب شده و هر کاری را می تواند انجام دهد.

2-10-Read:هر کاربری با این سطح دسترسی فقط قادر است رجیستری را بخواند و قادر به ایجاد تغییرات در آن نیست.

3-10-Special Permissions:هر کاربر با این حق دسترسی اختیارات خاصی را دارد.که در اینجا گفته نمی شود.


11)ایجاد میانبر برای آدرس های پر کاربرد:

اگر شما از یک آدرس خاص در رجیستری به طور مکرر استفاده می کنید می توانید برای آن میانبری را ایجاد کنید تا هر بار با اجرای میانبر بدون دردسر و سریع به آن آدرس دست یابید.برای این کار آدرس مورد نظر را پیدا و باز کرده سپس در منوی Favorites گزینه Add To Favorites را انتخاب کنید تا از این پس یک گزینه با نام ان آدرس به انتهای منوی Favorites اضافه شود.شما با هر بار ورود به Regedit و اجرای این گزینه خیلی سریع به ان آدرس خواهید رسید.


[ویرایش] تاریخچه

در نسخه‌های 16 بیتی ویندوز (مثل ویندوز x.‏3‏) از چندین فایلِ متنی با پسوند INI برای نگهداری تنظیماتِ سیستم‌عامل و برنامه‌ها استفاده می‌شد؛ مثلاً تنظیمات کلیِ سیستم‌عامل و تجهیزات سخت‌افزاری در فایل system.ini و تنظیمات برنامه‌های کاربردی و میزکار در فایل win.ini ذخیره می‌شدند. با نصب هر برنامهٔ جدید نیز، مدخلی برای آن در فایلهای INI ایجاد می‌شد. گاهی هم پس از نصب یک برنامه‌ (مثل Excel)، فایلهای INI مخصوصِ آن برنامه ساخته می‌شد (مثلاً Excel.ini).


اما فایل‌های INI دارای سه مشکل عمده بودند:

  1. پراکنده‌شدن تنظیمات سیستم در فایلهای متعدد؛
  2. محدودیت در حجم هر فایل (حداکثر 64 کیلوبایت)؛
  3. راحتی ویرایش فایلها با ویرایشگرهای متن (افزایش احتمال بروز اشتباه)؛


اکنون، در ویندوزهای 32 و 64 بیتی، تمام داده‌های موجود در فایلهای پیکربندیِ سیستم، از جمله system.ini، win.ini و control.ini، به همراه اکثر تنظیمات دیگر، در مجموعه‌ای منسجم از فایلهای باینری - تحت نام رجیستری - نگهداری می‌شوند.


[ویرایش] رجیستری در عمل

در حالت کلی، داده‌های مندرج در رجیستری، در سه وضعیت یا مرحله خوانده می‌شوند:

  • بوت‌شدن سیستم
سیستم، فهرست درایورهای لازم جهت بارگذاریِ سخت‌افزارها و نحوهٔ پیکربندی بخش‌های زیرسیستمی (مثل مدیر حافظه و مدیر پردازش) را از رجیستری می‌خواند.
  • ورود به ویندوز
برنامهٔ Explorer و سایر اجزای ویندوز، تنظیمات مربوط به هر کاربر را از رجیستری می‌خوانند، از قبیل: راهنمای درایوهای شبکه و حروفِ مُعرفِ آنها، تصویر کاغذدیواریِ میزکار، محافظِ صفحه‌نمایش، وضعیت منوها و مکان آیکونها.
  • آغاز به کار برنامه‌های کاربردی
هر برنامه، تنظیمات کلیِ سیستم (مثل فهرست اجزای نصب شدهٔ اختیاری و داده‌های پروانهٔ بهره‌برداری از برنامه) و تنظیمات مخصوصِ کاربر فعلی (مثل مکان منوها، نوار ابزار، و فهرست مستنداتی که اخیراً مورد دسترسی قرار گرفته‌اند) را از رجیستری می‌خواند.


البته رجیستری ممکن است در وضعیتهای دیگری هم خوانده شود، مثل زمانی که تغییراتی در یکی از مقادیر یا کلیدهای رجیستری لازم باشد (در ادامه این مقاله، دربارهٔ اصطلاحات کلید و مقدار توضیح داده خواهد شد). برخی از برنامه‌ها هم، مرتباً محتوای رجیستری را بررسی می‌کنند تا در صورت بروز تغییر در آن، سریعاً پیکربندیهای خود را روزآمد و بهنگام کنند. اما به طور کلی، در یک سیستم که در حالت عاطل (Idle) قرار دارد، فعالیتی در رجیستری به چشم نمی‌خورد.


معمولاً محتوای رجیستری در موارد زیر تغییر می‌کند:

  • نصب نرم‌افزار
برنامه‌هایی که بنام Setup مشهور بوده و وظیفهٔ آنها نصب نرم‌افزارهای جدید بر روی رایانه است، تنظیمات پیش‌فرضِ هر برنامه را در خلال عملیات نصبِ آن، در رجیستری ثبت می‌کنند.
  • نصب درایور
در حین نصب درایورِ یک دستگاه، بخشِ موسوم به Plug & Play، تنظیمات مربوط به دستگاه را در رجیستری ثبت می‌کند. این تنظیمات، نحوهٔ آغاز به کار و عملکرد دستگاه را برای «مدیر I/O» مشخص خواهند کرد.
  • با تغییرات کاربر
هنگامی که کاربر، تنظیمات مربوط به یک برنامه یا کلِ سیستم را از طریق «کنترل پانل» تغییر می‌دهد، تنظیمات جدید در رجیستری به ثبت می‌رسند.


یکی دیگر از راههای تغییر در رجیستری، ویرایش دستی آن از طریق برنامهٔ Registry Editor است. این برنامه، یکی از ابزارهای سیستمی تعبیه‌شده در خودِ ویندوز است که امکان ویرایش مستقیمِ رجیستری را برای مدیر سیستم (System Administrator) فراهم می‌کند. البته باید توجه داشت که عملکرد این ویرایشگر با ویرایشگرهای متن متفاوت است و مثلاً امکان انجام عمل واگرد (Undo) در آن وجود ندارد. به همین دلیل، در به کارگیری و استفاده از آن باید محتاط بود، چرا که هرگونه دستکاریِ ناشیانه در رجیستری، می‌تواند به مختل شدن عملکرد کل سیستم بیانجامد. از این رو، همیشه توصیه می‌شود که پیش از شروع عملِ ویرایش، یک کپی پشتیبان از رجیستری تهیه شود.


[ویرایش] ساختار رجیستری

ساختار رجیستری، شباهت زیادی به ساختارِ منطقیِ یک دیسک دارد؛ رجیستری، شامل چندین کلید (Key) است که مفهوم آنها مشابه دایرکتوری در دیسک بوده و هر کلید هم، شامل چندین مقدار (Value) است که مثل فایلهایی درون دایرکتوریها قرار دارند. مقادیر که در واقع خانه‌هایی برای نگهداری داده‌ها هستند، از سه مؤلفه تشکیل می‌شوند: نام، نوع و داده.


هر کلید می‌تواند شامل تعدادی کلید دیگر هم باشد که در این صورت به آنها زیر-کلید (Sub-key) گفته می‌شود. زیر-کلیدها هم به نوبهٔ خود می‌توانند شامل زیر-کلیدهای دیگری باشد و الخ. کلیدهایی که در بالاترین سطح قرار دارند، ریشه (Root) خوانده می‌شوند. بنابراین، بجز ریشه‌ها، تمام کلیدهای دیگر را می‌توان زیر-کلید به حساب آورد.


نمایی از ساختار منطقی رجیستری در برنامهٔ Registry Editor


همانطور که از تصویر فوق پیداست، هر زیر-کلید دارای یک مقدار ‌بنام (Default) است که به صورت پیش‌فرض، داده‌ای درون آن قرار ندارد (value not set).


ساختار سلسله مراتبی رجیستری، شباهت فراوانی به ساختار «درخت» دارد. در ادبیات علم رایانه، منظور از درخت، نوعی ساختار دادهٔ پویا (دینامیک) است که شرح و وصف آن در مبحث «ساختمان داده‌ها» ذکر می‌شود. در اینجا به ذکر همین نکته بسنده می‌کنیم که رجیستری شامل چندین درخت است که گره‌های آنها حاوی کلید و برگهای آنها حامل مقدار هستند.


گفتنی است ساختار اولیهٔ رجیستری که به صورت یک پیش‌الگو (Prototype) تدوین شده و شامل یک سِری تنظیمات اولیه و پیش‌فرض است، همراه با خودِ ویندوز و در خلالِ عملیاتِ نصبِ سیستم‌عامل، بر روی دیسک‌سخت کپی می‌شود.


[ویرایش] کلیدهای ریشه

در رجیستری، به صورت از پیش تعریف شده، پنج کلید ریشه وجود دارد. نام کلیدهای ریشه با کلمهٔ HKEY شروع می‌شود که خلاصهٔ عبارت «Handle to a KEY» است. هر ریشه‌، یک مجموعهٔ تودرتو (Nested) از کلیدها را در خود جای می‌دهد. ضمناً تعداد ریشه‌ها، ثابت است؛ بدین معنا که نه می‌توان ریشهٔ جدیدی ایجاد کرد و نه ریشهٔ موجودی را حذف کرد.


فهرست کلیدهای ریشه در رجیستری و محتوای آنها:

  • HKEY_CURRENT_USER: اطلاعات کاربری که اکنون وارد سیستم شده است (کاربر فعلی)
  • HKEY_USERS: اطلاعات مربوط به همهٔ کاربرانِ تعریف شده در سیستم
  • HKEY_LOCAL_MACHINE: اطلاعات کلی مربوط به سیستم (مشترک بین کاربران)
  • HKEY_CLASSES_ROOT: اطلاعات انتساب فایلها بر اساس پسوندشان به برنامه‌ها و...
  • HKEY_CURRENT_CONFIG: اطلاعاتی دربارهٔ پروفایل سخت‌افزاری جاری


[ویرایش] فهرست منابع

  1. اسلامی، امیربهزاد، الهوردیان، آرن، رجیستری ویندوز؛ پروژهٔ دورهٔ کاردانی کامپیوتر، دانشگاه آزاد اسلامی (تهران سما)، تابستان 1384