ویندوز رجیستری (windows registry) پایگاه داده ای است که اطلاعاتی در مورد آپشن ها و تنظیمات مربوط به سیستم عامل ویندوز را در خود نگهداری می کند، و شامل اطلاعاتی در مورد تنظیمات سخت افزاری و نرم افزارهای جانبی نصب شده بر روی کامپیوتر و اطلاعات مربوط به کاربران کامپیوتر را نگهداری می کند. کلیدها و مقادیر موجود در رجیستری کلیدها مشابه فولدرها هستند و می توانند شامل یک یا چندین زیر مجموعه باشند که با subkey شناخته می شود و نحوه آدرس دهی آنها مانند آدرس دهی فایل ها در سیستم عامل ویندوز است، بطور مثال hlm\software\microsoft\office که به کلید مربوط به تنظیمات داخلی برنامه آفیس مایکروسافت اشاره می کند، هر کلید شامل یک یا چندین مقدار است که شامل نام و مقدار هستند و هر مقدار می تواند نوعی خاص داشته باشد، این انواع شامل: 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\ از هم جدا می شود. مانند jamejam0click\0\32c:\windows\system که شامل سه رشته متنی است به این ترتیب: 32 c:\windows\system و 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%\document 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 عرضه شدند.