شنبه, ۸ اردیبهشت, ۱۴۰۳ / 27 April, 2024
مجله ویستا

آشنایی با ساختار ریجستری


یك درخت را در نظر بگیرید كه از ریشه - تنه - شاخه - برگ - گل - ... تشكیل شده است یعنی از اگر از ریشه شروع كنیم و همین طور جلو بریم به برگها یا گلها میرسیم ، ریجستری در ویندوز هم یك ساختار درختی دارد ، البته در نگاه اول ممكنه برای شما عجیب و غیر قابل فهم باشد ،اما windows Explorer را در ویندوز در نظر بگیرید كه از My Computer شروع شده بعد به درایوها میرسیم بعد شاخه ها یعد زیر شاخه ها .... تا نهایتا به فایلها میرسیم ساختار ریجستری نیزدقیقا چنین ساختاری را دارد.هر شاخه اصلی با آیكون Folder نمایش داده می شود كه به آنها اصطلاحا Hive نیز گفته می شود. هر شاخه خود می تواند شامل زیر شاخه هایی باشد تا نهایتا به متغیرها یا مقادیر برسند. در متغیرها است كه اطلاعات واقعی رجیستری ذخیره می شود.در رجیستری سه نوع متغیر وجود دارد كه عبارتند از :String , Binary , Dword كه هر كدام از آنها در شرایط خاصی قابل استفاده می باشد. به طور شش شاخه اصلی در رجیستری وجود دارند كه هر كدام بخشی از اطلاعات ذخیره شده در رجیستری را نگهداری می كنند كه در اینجا اشاره ای كوتاه بر هر كدام داریم:
HKEY_CURRENT_USER: این شاخه به بخشی از اطلاعات شاخه HKEY_USERS اشاره می كند كه در آن خصوصیات و اطلاعات كاربر فعلی از قبیل نام كاربر، تنظیمات میز كاری (Desktop) ، تنظیمات منوی شروع (Startmenu) و ... در سیستم نگهداری می شود.
HKEY_CLASS_ROOT: این شاخه شامل اطلاعاتی از قبیل :نگاشت پیوستگی فایلها برای پشتیبانی از ویژگی كشیدن و رها كردن (Dtrag-and-Drop) ، اطلاعات OLE ، میانبرهای ویندوز(Shortcuts) ، و هسته اصلی واسط كاربری ویندوز (User Interface) میباشد.
HKEY_LOCAL_MACHINE : این شاخه شامل اطلاعاتی در مورد خصوصیات سیستم كامپیوتر از قبیل سخت افزار ، نرم افزار و دیگر مشخصه های كامپیوتر می باشد، كه ان اطلاعات برای تمام كاربرانی كه از سیستم استفاده می كنند یكسان می باشد.
HKEY_USERS : این شاخه محتوای اطلاعات انتخابات و تنظیمات مربوط به هر كاربر می باشد.هر كاربر یك SID در این شاخه دارد .
HKEY_CURRENT_CONFIG : این شاخه نیز به شاخه HKEY_LOCAL_MACHINE اشاره میكند و در ارتباط میباشد و شامل پیكربندی سخت افزار سیستم می باشد.
HKEY_DYN_DATA : این شاخه نیز به شاخه HKEY_LOCAL_MACHINE اشاره می كند و برای استفاده از خاصیت PLUG & PLAY در ویندوز می باشد . این بخش پویا می باشد یعنی بر اساس هر وسیله یا دستگاه جانبی كه به سیستم متصل می شود تغییر می كند.
پنج نوع متغیر نیز وجود دارد كه هر كدام در زیر شرح داده شده اند:
REG_BINARY : این نوع متغیر داده نوع باینری خام را ذخیره می كند.اكثرا اطلاعات سخت افزار و اجزاء در این نوع متغیر ذخیره می شود و همچنین در ویرایشگر رجیستری ویندوز قابلیت نمایش این نوع متغیر به صورت هگزا دسیمال نیز وجود دارد.
REG_DWORD : این نوع متغیر برای نمایش داده های ۴ بایتی و همچنین برای ذخیره كردن مقادیر منطقی درست یا غلط(TRUE OR FALSE) به كار میروند.بدین ترتیب كه برای نمایش غلط ار عدد "۰" و برای نمایش درست از "۱" استفاده میشود . علاوه بر این برای نگهداری پارامترهای گرداننده‏ ددستگاهها و سرویس دهنده ها از اسن نوع پارامتر لستفاده می كنند.و در REGEDT۳۲ قابلیت نمایش به صورت باینری ،هگزا و دسیمال را دارد.
REG_EXPAND_SZ : این یك نوع متغیررشته ای فابل گسترش می باشد كه نرم افزار ها جهت بعضی اعمال خود از این متغیر استفاده می كنند.برای مثال در ویندوز ۲۰۰۰ یاNT به جای عبارت %SYSTEM ROOT% با مقدار واقعی خود یعنی مسیر نصب ویندوز (مثلا C:WINDOWS) جایگزین می شود. باید توجه داشته باشید كه این نوع متغیر فقط در ویرایشگرهای پیشرفته رجیستری از قبیل REGEDT۳۲ قابل استفاده است.
REG_MULTI_SZ : این نوع متغیر رشته ای چند گانه می باشد كه برای مقادیری كه شامل یك لیست یا چندین مقدار میباشد به كار می رود كه هر مقدار با كاراكتر NULL از بقیه جدا می شود. باید توجه داشته باشید كه این نوع متغیر فقط در ویرایشگرهای پیشرفته رجیستری از قبیل REGEDT۳۲ قابل استفاده است.
REG_SZ : این نوع متغیر رشته ای استاندارد می باشد كه برای ذخیره كردن متن قابل خواندن توسط كاربر استفاده می شود.
انواع دیگر نوع داده كه در ویرایشگرهای استاندارد قابل استفاده نیستند عبارتند از :
REG_DWORD_LITTLE_ENDIAN : كه یك عدد ۳۲ بیتی از نوع LITTLE_ENDIAN را می توانند در خود ذخیره كنند.
REG_DWORD_BIG_ENDIAN : كه یك عدد ۳۲ بیتی از نوع BIG_ENDIAN را می توانند در خود ذخیره كنند.
REG_LINK : كه یك پیوند نماد ین یونیكد می باشد و به طور داخلی استفاده میشود و نرم افزارها قادر به استفاده كردن از آن نمی باشند.
REG_NONE : كه نوع خاصی برای آن تعریف نشده است.
REG_QWORD : این نوع متغیر می تواند یك عدد ۶۴ بیتی را در خود ذخیره كند.
REG_QWORD_LITTLE_ENDIAN : این نوع متغیر نیز می تواند یك عدد ۶۴ بیتی با فرمت LITTLE_ENDIAN را در خود ذخیره كند .
REG_RESOURCE_LIST : لیست منبع گرداننده های دستگاه ها می باشد


همچنین مشاهده کنید