რეესტრის ჩანაწერი. როგორ გავხსნათ რეესტრი? Windows-ის რეესტრი, როგორც დღეს არის

რეესტრი არის Windows ოპერაციული სისტემების ოჯახის აუცილებელი კომპონენტი. ეს საკმაოდ რთული გასაგებია ჩვეულებრივი მომხმარებლისთვის. რა არის ვინდოუსის რეესტრი? რეესტრი არის ცენტრალიზებული მონაცემთა ბაზა, რომელიც ინახავს ოპერაციული სისტემის ყველა პარამეტრს და მასზე გაშვებულ აპლიკაციებს. რეესტრი შეიცავს ინფორმაციას ყველა აპარატურის შესახებ, ინფორმაცია ფაილის სახელის გაფართოების შესახებ, სისტემაში გაშვებული სისტემის ყველა კომპონენტისა და აპლიკაციის შესახებ, ქსელის პარამეტრებს, უსაფრთხოების ინფორმაციას და ა.შ.

ამრიგად, თუ Windows-ზე გაშვებულ კომპიუტერს აქვს პროგრამული უზრუნველყოფის ან აპარატურის კომპონენტი, რომელიც გავლენას ახდენს მის მუშაობაზე, მაშინ ამ კომპონენტის შესახებ ყველა ინფორმაცია ინახება Windows რეესტრში. ქვემოთ მოცემული დიაგრამა არის გამარტივებული მოდელი, რომელიც აჩვენებს სისტემის კომპონენტებს და მათ ურთიერთქმედებას რეესტრთან.

მოდით, უფრო დეტალურად განვიხილოთ, თუ როგორ ურთიერთქმედებენ Windows 7 კომპონენტები სისტემის რეესტრთან:

  1. Windows Setup პროგრამა (ინსტალაციის პროგრამა) - პირველი გაშვებისთანავე აგროვებს ინფორმაციას სისტემის შესახებ და მიღებული მონაცემების საფუძველზე ქმნის რეესტრს. დრაივერების ან აპლიკაციების ინსტალაციისას, ინსტალერი კითხულობს ინფორმაციას რეესტრიდან და ამატებს მის კონფიგურაციის მონაცემებს. რეესტრის ქონა ყველა პროგრამას საშუალებას აძლევს შევიდეს ცენტრალიზებულ მონაცემთა ბაზაში და ურთიერთქმედდეს ერთმანეთთან. გარდა ამისა, რეესტრში შენახული ინფორმაცია საშუალებას გაძლევთ სწორად წაშალოთ აპლიკაცია ისე, რომ არ გაუმკლავდეთ მნიშვნელოვან კომპონენტებს, როგორიცაა DLL.
  2. Windows Recovery Environment (WinRE) არის ინსტრუმენტების ნაკრები, რომელიც შექმნილია დაზიანებული სისტემის დიაგნოსტიკისა და სერიოზული შეცდომების შემდეგ მისი აღდგენისთვის. WinRE აქტიურად მუშაობს რეესტრთან და მისი ერთ-ერთი ამოცანაა დაზიანებული რეესტრის შეკეთება.
  3. Windows Boot Manager – ჩატვირთვის მენეჯერი წვდება BCD (Boot Configuration Data) მონაცემთა ბაზას, რომელიც ინახება რეესტრში. კონფიგურაციის მონაცემების წაკითხვის შემდეგ, ჩატვირთვის მენეჯერი გადასცემს კონტროლს Windows Loader-ზე - winload.exe ფაილს, რომელიც, პირველ რიგში, კითხულობს საჭირო მონაცემებს რეესტრიდან, შემდეგ კი იტვირთება ოპერაციული სისტემის ბირთვი (%system32%\ntoskrnl. exe) და ტექნიკის აბსტრაქციის ფენა (%system%\hall.dll), ისევე როგორც ყველა ჩატვირთვის დრაივერი და ბირთვის რეჟიმის DLL-ები. სწორედ ამიტომ, თუ რეესტრის ფაილები აკლია ან დაზიანებულია, ოპერაციული სისტემა უბრალოდ არ ჩაიტვირთება.
  4. PnP მენეჯერი პასუხისმგებელია მოწყობილობის ამოცნობაზე ორი პარამეტრის გამოყენებით: გამყიდველის ID (VID) და მოწყობილობის ID (DID). როდესაც PnP მენეჯერი განსაზღვრავს უნიკალურ VID და DID კომბინაციას, ის ითხოვს ინფორმაციას ავტობუსის შესახებ, რომელზედაც მოწყობილობა აღმოჩენილია და ამოწმებს, არის თუ არა ამ მოწყობილობის დრაივერი დაინსტალირებული. თუ დრაივერი არ არის დაინსტალირებული, PnP ქვესისტემამ უნდა მოძებნოს შესაბამისი INF ფაილი დრაივერის დასაყენებლად და დაიწყოს მისი ინსტალაცია.
  5. Power Manager - მჭიდროდ ურთიერთქმედებს PnP მენეჯერთან, აპლიკაციებთან, მხარს უჭერს ენერგიის მართვის მრავალფეროვან სქემებს და აკონტროლებს ჯგუფის პოლიტიკას და ყველა ეს ინფორმაცია ინახება რეესტრში.
  6. მოწყობილობის დრაივერები - გაცვალეთ ჩატვირთვის პარამეტრები და კონფიგურაციის მონაცემები რეესტრთან. მძღოლმა უნდა აცნობოს სისტემის რესურსებს, რომელსაც იყენებს. თავად აპლიკაციებსა და მოწყობილობის დრაივერებს შეუძლიათ წაიკითხონ ეს ინფორმაცია რეესტრიდან, რაც მომხმარებლებს უზრუნველყოფს მოსახერხებელი ინსტალაციისა და კონფიგურაციის ხელსაწყოებით.
  7. ადმინისტრაციული ხელსაწყოები – Windows-ის ადმინისტრაციული ხელსაწყოები, მათ შორის კომუნალური პროგრამები Control Panel-დან და პროგრამები Administrative Tools ჯგუფიდან, არის ყველაზე მოსახერხებელი და უსაფრთხო საშუალება რეესტრის შესაცვლელად.
  8. მომხმარებლის პროფილები - ყველა ინფორმაცია, რომელიც დაკავშირებულია კონკრეტულ მომხმარებლის ანგარიშთან და მასთან დაკავშირებულ უფლებებთან, ინახება რეესტრში. ჯგუფის პოლიტიკა ასევე ინახება რეესტრში.
  9. აპარატურის პროფილები არის ინსტრუქციების ერთობლიობა, რომელიც შეიძლება გამოყენებულ იქნას ოპერაციული სისტემისთვის იმის გასაგებად, თუ რომელი მოწყობილობის დრაივერები უნდა ჩაიტვირთოს კომპიუტერის გაშვებისას.
  10. ფაილური სისტემები – Windows Vista-დან მოყოლებული, ორივე ფაილური სისტემა და რეესტრი დაფუძნებულია ტრანზაქციებზე. პრაქტიკაში, ეს ნიშნავს, რომ თუ ფაილებზე და რეესტრზე ოპერაციების ნაკრები მონიშნულია, როგორც ტრანზაქცია, მაშინ თუ ამ ოპერაციებიდან ერთი მაინც ვერ მოხერხდა, მთელი ტრანზაქცია შეიძლება "დაბრუნდეს" თავდაპირველ პოზიციაზე.
  11. Windows 7 უსაფრთხოების ქვესისტემა - უსაფრთხოების ქვესისტემა მთელი თავისი ფუნქციებით, მომხმარებლის ანგარიშის კონტროლის (UAC) ჩათვლით, ასევე დანერგილია რეესტრის საფუძველზე და გამოიყენება მის დასაცავად. UAC-ის პრინციპია გაშვებული აპლიკაციებისთვის მინიჭებული პრივილეგიების შეზღუდვა სტანდარტული მომხმარებლის პრივილეგიების დონეზე. სხვა სიტყვებით რომ ვთქვათ, მაშინაც კი, თუ მომხმარებელს, რომელიც ახორციელებს აპლიკაციას, აქვს ადმინისტრაციული უფლებები, მის მიერ გაშვებულ აპლიკაციებს არ აქვთ ასეთი პრივილეგიები, თუ მომხმარებელი აშკარად არ აწარმოებს მათ როგორც ადმინისტრატორი. ამ გზით, მხოლოდ აპლიკაციები, რომლებსაც მომხმარებელი ენდობა, ამუშავებენ ამაღლებული პრივილეგიებით.
  12. Windows ქსელის კომპონენტები - მოიცავს ქსელის ადაპტერის დრაივერებს, ქსელის პროტოკოლებისა და სერვისების პარამეტრებს, ასევე ქსელის უსაფრთხოების პარამეტრებს და ქსელის დაცვას თავდასხმებისგან. ეს ყველაფერი ასევე ინახება რეესტრში. მაგალითად, Windows Firewall მონაცემთა ბაზა მდებარეობს რეესტრში. ბევრი მესამე მხარის firewalls ასევე ქმნის საკუთარ გასაღებებს რეესტრში და, შესაბამისად, რეესტრზე წარმატებული შეტევა ხსნის კარს გარე შეღწევისთვის.

მყარ დისკზე არსებულ ფაილურ სისტემას ბევრი რამ აქვს საერთო რეესტრის ლოგიკურ სტრუქტურასთან. რეესტრი შეიცავს გასაღებებს და მნიშვნელობებს, რომლებიც შეესაბამება მყარ დისკზე არსებულ დირექტორიებსა და ფაილებს. რეესტრის გასაღებები შეიძლება შეიცავდეს ჩადგმულ გასაღებებს (ქვედირექტორიებს). რეესტრის პარამეტრები (ისევე როგორც ფაილები) ინახავს მონაცემებს. იერარქიის უმაღლეს დონეზე არსებულ გასაღებებს root keys ეწოდება. რეესტრის გასაღებებისა და პარამეტრების დასახელების სქემა ფაილური სისტემის ბილიკების მსგავსია. ტიპიური გზა ქვერეგესტრის გასაღებისკენ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet. Windows 7-ის რეესტრი შეიცავს ხუთ root გასაღებს: HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG.

რომ გადადით Windows 7-ის რეესტრში, დააჭირეთ კლავიატურის მალსახმობს მოგება + R(გამოჩნდება "Run" ფანჯარა), შემდეგ შეიყვანეთ და დააჭირეთ შედი.

გამოჩნდება რეესტრის რედაქტორის ფანჯარა.

ყველა root გასაღების სახელი იწყება სტრიქონით HKEY_,რაც მიუთითებს პროგრამული უზრუნველყოფის შემქმნელებს, რომ ეს არის სახელური, რომელიც შეიძლება გამოყენებულ იქნას პროგრამის მიერ.

სახელური არის მნიშვნელობა, რომელიც გამოიყენება იმ რესურსის ცალსახად აღსაწერად, რომელსაც პროგრამას შეუძლია წვდომა.

root გასაღებების აღწერილობები ნაჩვენებია ქვემოთ მოცემულ ცხრილში.

ძირეული გასაღების სახელი აღწერა
HKEY_LOCAL_MACHINE შეიცავს გლობალურ ინფორმაციას ტექნიკისა და ოპერაციული სისტემის შესახებ, მათ შორის: ავტობუსის ტიპი, სისტემის მეხსიერება, მოწყობილობის დრაივერები და სისტემის გაშვებისას გამოყენებული საკონტროლო მონაცემები. ამ კლავიშში მოცემული ინფორმაცია ვრცელდება სისტემაში რეგისტრირებულ ყველა მომხმარებელს. რეესტრის იერარქიის ზედა დონეზე ამ გასაღებისთვის არის სამი მეტსახელი: HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIGდა HKEY_DYN_DATA.
HKEY_CLASSES_ROOT შეიცავს ასოციაციებს აპლიკაციებსა და ფაილის ტიპებს შორის (ფაილის სახელის გაფართოებით). გარდა ამისა, ეს გასაღები ინახავს OLE ინფორმაციას, რომელიც ასოცირდება COM ობიექტებთან, ასევე ფაილებისა და კლასის ასოციაციის მონაცემებს.
HKEY_CURRENT_CONFIG შეიცავს კონფიგურაციის მონაცემებს მიმდინარე ტექნიკის პროფილისთვის. ტექნიკის პროფილები არის ძირითადი მონაცემებით დადგენილ სერვისებისა და მოწყობილობების სტანდარტულ კონფიგურაციაში განხორციელებული ცვლილებების ნაკრები პროგრამული უზრუნველყოფადა სისტემაწითელას გასაღები HKEY_LOCAL_MACHINE.გასაღებში HKEY_CURRENT_CONFIGნაჩვენებია მხოლოდ ცვლილებები.
HKEY_CURRENT_USER შეიცავს სისტემაში ამჟამად შესული მომხმარებლის პროფილს, მათ შორის გარემოს ცვლადებს, დესკტოპის პარამეტრებს, ქსელის პარამეტრებს, პრინტერის პარამეტრებს და აპლიკაციის პარამეტრებს. ეს გასაღები არის ბმული გასაღების HKEY_USERS\user_SID, სადაც user_SID არის სისტემაში ამჟამად რეგისტრირებული მომხმარებლის უსაფრთხოების ID.
HKEY_USERS შეიცავს ყველა აქტიურად ჩატვირთულ მომხმარებლის პროფილს, HKEY_CURRENT_USER-ის ჩათვლით, ასევე მომხმარებლის ნაგულისხმევ პროფილს (.DEFAULT). სერვერზე დისტანციურად წვდომის მომხმარებლებს არ აქვთ პროფილები, რომლებიც შეიცავს ამ კლავიშს - მათი პროფილები იტვირთება რეესტრებში საკუთარ კომპიუტერში.

რეესტრის მონაცემები ინახება როგორც რეესტრის გასაღებების ქვეშ განთავსებული პარამეტრები. თითოეულ პარამეტრს ახასიათებს სახელი, მონაცემთა ტიპი და რეალური მნიშვნელობა. რეესტრის ღირებულების სამი ნაწილი ყოველთვის არის ქვემოთ მოცემულ ფიგურაში ნაჩვენები თანმიმდევრობით:

ქვემოთ მოცემულ ცხრილში მოცემულია Windows 7-ში განსაზღვრული და გამოყენებული ძირითადი მონაცემთა ტიპები.

ძირეული გასაღების სახელი აღწერა
REG_BINARY ორობითი მონაცემები. ტექნიკის კომპონენტების უმეტესობა იყენებს ინფორმაციას, რომელიც ინახება როგორც ბინარული მონაცემები. რეესტრის რედაქტორები აჩვენებს ამ ინფორმაციას თექვსმეტობით.
REG_DWORD მონაცემები წარმოდგენილია 4 ბაიტის სიგრძის მნიშვნელობის სახით. ბევრი მოწყობილობის დრაივერი და სერვისის პარამეტრი იყენებს ამ ტიპის მონაცემებს. რეესტრის რედაქტორებს შეუძლიათ ასეთი მონაცემების ჩვენება ორობითი, თექვსმეტობითი და ათობითი ფორმატში.
REG_EXPAND_SZ გაფართოებადი მონაცემთა სტრიქონი არის ტექსტი, რომელიც შეიცავს ცვლადს, რომელიც შეიძლება შეიცვალოს აპლიკაციის მიერ გამოძახებისას.
REG_MULTI_SZ მრავალხაზოვანი ველი. მნიშვნელობებს, რომლებიც რეალურად არის ტექსტური სტრიქონების სიები, ჩვეულებრივ აქვთ ამ ტიპის მონაცემთა ტიპი.
REG_SZ ტექსტის სტრიქონი ადამიანის მიერ წასაკითხად ფორმატში. ამ ტიპს ენიჭება მნიშვნელობები, რომლებიც წარმოადგენენ კომპონენტების აღწერას.
REG_DWORD_ 32-ბიტიანი ნომერი, რომელიც უდრის REG_DWORD-ს. ყველაზე ნაკლებად მნიშვნელოვანი ბაიტი ინახება მეხსიერებაში პირველი რიცხვით.
REG_DWORD_ 32-ბიტიანი ნომერი, რომელიც უდრის REG_DWORD-ს. ყველაზე მნიშვნელოვანი ბაიტი პირველ რიგში ინახება მეხსიერებაში.
REG_LINK UNICODE-ის სიმბოლური ბმული. მონაცემთა ეს ტიპი განკუთვნილია შიდა გამოყენებისთვის. REG_LINK მონაცემთა ტიპი საშუალებას აძლევს რეესტრის ერთ ჩანაწერს დაუკავშირდეს სხვა გასაღებს ან პარამეტრს.
REG_NONE არ აქვს კონკრეტული მონაცემთა ტიპი.
REG_QWORD 64 ბიტიანი ღირებულება
REG_QWORD_
LITTLE_ENDIAN
64-ბიტიანი ნომერი, რომელიც უდრის REG_QWORD-ს. ყველაზე ნაკლებად მნიშვნელოვანი ბაიტი ინახება მეხსიერებაში პირველი რიცხვით.
REG_QWORD_
BIG_ENDIAN
64-ბიტიანი ნომერი, რომელიც უდრის REG_QWORD-ს. ყველაზე მნიშვნელოვანი ბაიტი პირველ რიგში ინახება მეხსიერებაში.
REG_RESOURCE_LIST ფილიალში გამოყენებული ტექნიკის რესურსების სია HKEY_LOCAL_MACHINE\HARDWARE
REG_FULL_RESOURCE_ ფილიალში გამოყენებული ტექნიკის რესურსის დესკრიპტორი (დესკრიპტორი). HKEY_LOCAL_MACHINE\HARDWARE
REG__RESOURCE_ ფილიალში გამოყენებული საჭირო ტექნიკის რესურსების სია HKEY_LOCAL_MACHINE\HARDWARE

რეესტრი დაყოფილია კომპონენტურ ნაწილებად, რომლებსაც დეველოპერებმა უწოდეს hives, ფუტკრის ფიჭური სტრუქტურის ანალოგიით. Hive არის გასაღებების, ქვეკლავიშებისა და პარამეტრების დისკრეტული სტრუქტურა, რომელიც სათავეს იღებს რეესტრის იერარქიის ზედა ნაწილში. ჭინჭრის ციება და სხვა საკვანძო ჯგუფებს შორის განსხვავება ისაა, რომ ისინი რეესტრის მუდმივი კომპონენტებია. ჭინჭრის ციება არ იქმნება დინამიურად, როდესაც სისტემა მუშაობს და არ იშლება სისტემის შეჩერებისას.

რეესტრის hive მონაცემები, რომლებიც განსაზღვრავს სისტემის მასშტაბის კონფიგურაციის პარამეტრებს, ინახება ფაილებში, რომლებიც მდებარეობს %SystemDrive%\Boot\BCD და %SystemRoot%\System32\Config დირექტორიებში. რეესტრის ჰივები, რომლებიც მიუთითებენ მომხმარებლის კონფიგურაციის ინფორმაციას, ინახება %SystemRoot%\Users\Username-ში.

მხარი დაუჭირეთ პროექტს

მეგობრებო, Netcloud ვებგვერდი ყოველდღე ვითარდება თქვენი მხარდაჭერის წყალობით. ჩვენ ვგეგმავთ ახალი სტატიების სექციების, ასევე რამდენიმე სასარგებლო სერვისის გაშვებას.

თქვენ გაქვთ შესაძლებლობა მხარი დაუჭიროთ პროექტს და შეიტანოთ ნებისმიერი თანხა, რომელიც საჭიროდ ჩათვლით.

Windows Registry, ან სისტემის რეესტრი, არის იერარქიულად აგებული პარამეტრებისა და პარამეტრების მონაცემთა ბაზა Microsoft Windows უმეტეს ოპერაციულ სისტემაში.

რეესტრი შეიცავს ინფორმაციას და პარამეტრებს ტექნიკის, პროგრამული უზრუნველყოფის, მომხმარებლის პროფილების, წინასწარ დაყენების შესახებ. საკონტროლო პანელში ცვლილებების უმეტესობა, ფაილების ასოციაციები, სისტემის პოლიტიკა და დაინსტალირებული პროგრამული უზრუნველყოფის სია ჩაწერილია რეესტრში.

Windows რეესტრი დაინერგა ბევრ INI ფაილში ადრე შენახული ინფორმაციის ორგანიზების მიზნით, უზრუნველყოს ერთი მექანიზმი (API) პარამეტრების ჩაწერისა და წაკითხვისთვის და თავიდან აიცილოს მოკლე სახელების პრობლემები, წვდომის უფლებების არარსებობა და შენახული ini ფაილების ნელი წვდომა. ფაილური სისტემა FAT16, რომელსაც ჰქონდა მუშაობის სერიოზული პრობლემები, როდესაც ეძებდა ფაილებს მათ დიდი რაოდენობით დირექტორიაში. დროთა განმავლობაში (საბოლოოდ, NTFS ფაილური სისტემის მოსვლასთან ერთად), რეესტრის მიერ მოგვარებული პრობლემები გაქრა, მაგრამ რეესტრი დარჩა ჩამორჩენილი თავსებადობის გამო და არის Windows-ის ყველა ვერსიაში, მათ შორის უახლესი. ვინაიდან ამ მექანიზმის გამოყენების რეალური წინაპირობა ამჟამად არ არსებობს, Microsoft Windows არის ერთადერთი ოპერაციული სისტემა, რომელიც დღეს გამოიყენება, რომელიც იყენებს ოპერაციული სისტემის რეესტრის მექანიზმს. ზოგადად, რეესტრი რუდიმენტია.

Windows რეესტრი მისი ამჟამინდელი ფორმით.

რეესტრი, როგორც Windows იყენებს მას და როგორც მომხმარებელი ხედავს რეესტრის პროგრამების გამოყენებისას, იქმნება სხვადასხვა მონაცემებიდან. იმისათვის, რომ მიიღოთ ის, რასაც მომხმარებელი ხედავს რეესტრის რედაქტირებისას, ხდება შემდეგი.

პირველ რიგში, Windows-ის ინსტალაციის (ინსტალაციის) და კონფიგურაციის დროს დისკზე იქმნება ფაილები, რომლებშიც ინახება სისტემის კონფიგურაციის შესახებ მონაცემების ნაწილი.


შემდეგ, სისტემის ყოველი ჩატვირთვისას, ისევე როგორც თითოეული მომხმარებლის ყოველი შესვლისა და გასვლისას, იქმნება გარკვეული ვირტუალური ერთეული, რომელსაც ეწოდება „რეგისტრი“ - REGISTRY\ ობიექტი. "რეესტრის" ფორმირების მონაცემები ნაწილობრივ აღებულია იმავე ფაილებიდან (პროგრამული უზრუნველყოფა, სისტემა ...), ნაწილობრივ ntdetect-ის მიერ გადმოტვირთვის დროს შეგროვებული ინფორმაციადან (HKLM\Hardware\Description).

ანუ, რეესტრის მონაცემების ნაწილი ინახება ფაილებში, ხოლო მონაცემების ნაწილი წარმოიქმნება Windows-ის ჩატვირთვის პროცესში.

რეესტრის ფილიალები ხელმისაწვდომია რეესტრის რედაქტირებისთვის, სანახავად და შესასწავლად სტანდარტული Windows ინსტრუმენტების გამოყენებით (regedit.exe და regedt32.exe პროგრამები). რეესტრის რედაქტირების ან/და მასში ცვლილებების შეტანის შემდეგ, ეს ცვლილებები დაუყოვნებლივ იწერება ფაილებში.

თუმცა, არსებობს მესამე მხარის პროგრამები, რომლებიც საშუალებას გაძლევთ პირდაპირ იმუშაოთ ფაილებთან.

რეესტრის ოპტიმიზაციის პროგრამები, ტვიკერები, ასევე პროგრამის ინსტალატორები და დეინსტალატორები მუშაობენ რეესტრთან მუშაობის სპეციალური ფუნქციებით.

სად მდებარეობს Windows რეესტრის ფაილები?

რეესტრის ფაილები მდებარეობს windows\System32\config\ საქაღალდეში და ასევე არის მომხმარებლის რეესტრის განყოფილება - ფაილში %userprofile%\ntuser.dat.რეესტრის ფაილების სარეზერვო ასლები მდებარეობს windows\System32\config\RegBack საქაღალდეში.

რა არის რეესტრის ძირითადი სექციები?

სექცია HKEY_CLASSES_ROOT

ეს არის Windows-ის მთავარი რეესტრის გასაღები და შეიცავს ფაილების ასოციაციებს, რომლებიც აკავშირებენ ფაილის ტიპებს პროგრამებთან, რომლებსაც შეუძლიათ მათი გახსნა და რედაქტირება, და კლასის რეგისტრაცია Component Object Model (COM) ობიექტებისთვის. ეს უკანასკნელი იძლევა შესაძლებლობას შეცვალოს წარმოუდგენელი რაოდენობის წესები სისტემის ქცევისთვის - ეს არ უნდა გააკეთოთ კარგი მიზეზის გარეშე.

სექცია HKEY_CURRENT_USER

ის ინახავს მიმდინარე აქტიური მომხმარებლის პარამეტრებს. ფილიალი ინახავს მომხმარებლის საქაღალდეებს, სხვადასხვა პერსონალურ პარამეტრებს და მართვის პანელის პარამეტრებს. ეს ინფორმაცია პირდაპირ ურთიერთქმედებს მომხმარებლის პროფილთან. ეს ფილიალი შედგება რამდენიმე ქვეგანყოფილებისგან, რომლებიც შეიცავს ხმოვანი ფაილების ბილიკებს, რომლებიც გამოიყენება ხმის სისტემის მოვლენებზე; სხვადასხვა რამ, რაც შეიძლება შეიცვალოს საკონტროლო პანელში, როგორიცაა ხატების მოწყობა; ინფორმაცია კლავიატურის მიმდინარე განლაგების, მომხმარებლის აპლიკაციის პარამეტრების და ა.შ.

სექცია HKEY_LOCAL_MACHINE

კონფიგურაციის პარამეტრები, რომლებიც ეხება მოცემულ კომპიუტერს, ინახება აქ (პარამეტრები დაყენებულია ერთდროულად ყველა მომხმარებლისთვის). მაგალითად, ის შეიცავს ინფორმაციას კომპიუტერის კონფიგურაციის, დაინსტალირებული დრაივერებისა და პროგრამების, პორტების სახელების, ფაილური სისტემის პარამეტრებზე და ა.შ.

სექცია HKEY_USERS

ეს თემა შეიცავს ინფორმაციას ამ კომპიუტერის ყველა მომხმარებლის პროფილების შესახებ (მომხმარებლის სახელი, დესკტოპის პარამეტრები და ა.შ.). ეს განყოფილება ასევე ინახავს დესკტოპის ნაგულისხმევ პარამეტრებს, დაწყების მენიუს და ა.შ. ისინი საჭიროა, როდესაც ახალი მომხმარებელი პირველად შედის სისტემაში. ამ ეტაპზე ნაგულისხმევი პარამეტრები კოპირდება მის პროფილში და მომხმარებლის მიერ განხორციელებული ყველა შემდგომი ცვლილება შეინახება ამ ფილიალში.

სექცია HKEY_CURRENT_CONFIG

გასაღები პასუხისმგებელია Plug&Play მოწყობილობებზე და შეიცავს ინფორმაციას კომპიუტერის მიმდინარე კონფიგურაციის შესახებ მოწყობილობების ცვლადი შემადგენლობით, როგორიცაა ფლეშ ბარათები, პრინტერები, ფაქსები, გარე დისკები და ა.შ. ეს განყოფილება ასევე შეიცავს ინფორმაციას მიმდინარე ტექნიკის პროფილის შესახებ, რომელსაც კომპიუტერი იყენებს სისტემის გაშვებისას.

HKEY_DYN_DATA

ეს განყოფილება ხელმისაწვდომია მხოლოდ Windows 9x/ME ოპერაციული სისტემების ოჯახის რეესტრში. შეიცავს კომპიუტერის შესახებ დინამიურად ცვალებად მონაცემებს (პროცესორის დატვირთვა, პეიჯინგის ფაილის ზომა და ა.შ.)

როგორ შევცვალო რეესტრი?

ჩვენ მიერ აკრეფილი Windows ძიებაში ყველაფერი მარტივია რეგედიტიდა გაუშვით რეესტრის რედაქტორი, როგორც ადმინისტრატორი. რეესტრში რაიმე ოპერაციების შესრულებამდე უნდა გააკეთოთ სარეზერვო ასლი! თუ რამე არასწორედ მიდის, შეგიძლიათ დაუბრუნდეთ რეესტრის სამუშაო ვერსიას.


რეესტრის ოპტიმიზაცია.

არსებობს კამათი იმის შესახებ, ღირს თუ არა Windows რეესტრის ოპტიმიზაცია. მე ვიტყოდი, რომ ოპტიმიზაცია უფრო სასარგებლოა სუსტი კომპიუტერებისთვის, ვიდრე ძლიერი. მაგრამ არის კიდევ ერთი ნიუანსი: ზოგჯერ გაუსუფთავებელმა რეესტრის პარამეტრებმა შეიძლება გამოიწვიოს პროგრამული უზრუნველყოფისა და აპარატურის წარუმატებლობები და კონფლიქტები, ამიტომ გირჩევთ რეესტრის გაწმენდას არასაჭირო მონაცემებისგან.


გარდა ამისა, რეესტრი დროთა განმავლობაში ფრაგმენტირებული ხდება, ეს ასევე ხდება გაწმენდის გამო. ამიტომ, მათთვის, ვინც მუდმივად ასუფთავებს რეესტრს, მე ასევე გირჩევთ ზოგჯერ რეესტრის დეფრაგმენტაციას.

Windows რეესტრის ოპტიმიზაციისთვის შეგიძლიათ გამოიყენოთ პროგრამები, WinOptimizer, Reg Organizer, Auslogics Boostspeed.


თუ თქვენ გაქვთ რაიმე შეკითხვები, უყურეთ ზემოთ მოცემულ ვიდეოს.

რეესტრი ინახავს ინფორმაციას თქვენი კომპიუტერის კონფიგურაციის, Windows-ის პარამეტრებისა და დაინსტალირებული პროგრამების პარამეტრების შესახებ. სისტემის კომპონენტები მუდმივად წვდებიან ამ ინფორმაციას. ამიტომ, თუ რეესტრის გაუმართაობა მოხდა, პროგრამებმა შეიძლება შეწყვიტოს მუშაობა ან ნაწილობრივ დაკარგონ ფუნქციონირება. მოდით უფრო ახლოს მივხედოთ მასთან მუშაობის ნიუანსებს.

რეესტრის რედაქტორის გაშვება

რეესტრის რედაქტორის გახსნის უმარტივესი გზა Windows 7-ში არის " შეასრულეთ" ის იწყება მენიუში " დაწყება» ან ღილაკების კომბინაცია გაიმარჯვე + . ტექსტის ხაზში შეიყვანეთ ბრძანება რეგედიტიდა დაასრულეთ იგი.

უნდა გვესმოდეს, რომ სისტემის პარამეტრების რედაქტირებამ შეიძლება გამოიწვიოს კომპიუტერის გაუმართაობა და ზოგიერთი პროგრამის გაშვების შეუძლებლობა. ამიტომ, რეკომენდირებულია, რომ მხოლოდ გამოცდილმა მომხმარებლებმა განახორციელონ ცვლილებები. არასწორმა ქმედებებმა შეიძლება გამოიწვიოს სერიოზული შედეგები.

როდესაც პრობლემები წარმოიქმნება

თითქმის ნებისმიერი პროგრამის ან კომუნალური პროგრამის ინსტალაციის პროცესი მოიცავს რეესტრში ცვლილებების შეტანას. თუ ინსტალაცია შესრულებულია არასწორად, ან მის დროს მოხდა მარცხი, მაშინ არსებობს სისტემის ფაილების არასწორი რედაქტირების შესაძლებლობა. ზოგჯერ ეს არანაირად არ იმოქმედებს კომპიუტერის მუშაობაზე. მაგრამ ზოგიერთ შემთხვევაში ეს იწვევს წარუმატებლობას, შენელებას და სხვა უარყოფით ფაქტორებს.

პრობლემის გადაჭრა

რეესტრთან დაკავშირებულია პრობლემების სამი დიდი ჯგუფი: ფრაგმენტაცია, არასაჭირო ინფორმაციის შევსება და მონაცემთა კორუფცია. ბოლო კატეგორიით ყველაფერი ნათელია, მოდით უფრო ახლოს გადავხედოთ დანარჩენ ორს.

ფრაგმენტაციის ფენომენი არის ის, რომ ფაილი იწერება ბლოკებად დისკის სხვადასხვა უბანზე. ამავდროულად, მასზე წვდომის სიჩქარე ნელდება. რეესტრის მონაცემები ასევე ექვემდებარება ფრაგმენტაციას.

ყველაზე ხშირად, პროგრამა მთლიანად არ არის ამოღებული კომპიუტერიდან, ნარჩენი მონაცემები ზოგჯერ არ იშლება. ეს მოიცავს ჩანაწერებს რეესტრში. მათი დიდი რაოდენობა იწვევს Win 7-ის შენელებას.

პირველ შემთხვევაში, დეფრაგმენტაცია დაეხმარება მას; დეფრაგლერი. მეორე პრობლემის გადასაჭრელად ღირს ინსტალაცია CCleaner. ხოლო მესამესთვის - დააბრუნეთ OS.

პრობლემა 1: ფრაგმენტაცია

კომუნალური დეფრაგლერიშექმნილია რეესტრის მონაცემებთან მუშაობის ოპტიმიზაციისთვის. მისი დახმარებით შეგიძლიათ განახორციელოთ დეფრაგმენტაცია.

დეფრაგმენტაცია ხელმისაწვდომია მხოლოდ OS-ის ჩატვირთვამდე. ამიტომ, პროგრამა იმუშავებს კომპიუტერის ჩართვისას. მიჰყევით ინსტრუქციას მის დასაყენებლად:


შენიშვნა: სისტემის პირველი გაშვება დაყენების შემდეგ დეფრაგლერიჩვეულებრივზე მეტხანს გაგრძელდება. ეს საკმაოდ ნორმალურია, რადგან კომპიუტერს გარკვეული დრო სჭირდება მონაცემების დამუშავებას. შემდგომი ჩამოტვირთვები ბევრად უფრო სწრაფი იქნება.

როდესაც დეფრაგმენტაცია წარმატებულია, სისტემა ჩაიტვირთება. მაგრამ პროგრამა კონფიგურირებულია ისე, რომ პროცედურა შესრულდება ყოველ ჯერზე კომპიუტერის გაშვებისას. ამ პარამეტრის გასათიშად, წაშალეთ დეფრაგლერიან შეცვალეთ მისი ოპერაციული პარამეტრები. მაგრამ მიზანშეწონილია დატოვოთ ყველაფერი ისე, როგორც არის ამ მომენტში. ეს გააუმჯობესებს თქვენი კომპიუტერის სიჩქარეს ჩატვირთვის შემდეგ.

პრობლემა 2: ნარჩენი ფაილები

გამოცდილ მომხმარებელს შეუძლია Windows 7 რეესტრის ხელით გაწმენდა. მაგრამ სასურველია ამისთვის სპეციალური პროგრამული უზრუნველყოფის გამოყენება. ამ შემთხვევაში მნიშვნელოვანი მონაცემების დაზიანების რისკი არ არსებობს.

ღირს ხაზგასმა CCleaner. ეს არის ძლიერი პროგრამა თქვენი Windows კომპიუტერის გასაწმენდად. მას აქვს მრავალი განსხვავებული ფუნქცია, მათ შორის რეესტრის მონაცემების გაწმენდა.

ოპერაციული ინსტრუქციები:


მიზანშეწონილია ნარჩენი მონაცემების რეგულარულად გაწმენდა, მუდმივად სარეზერვო ფაილების შექმნა. ის გამოგადგებათ, თუ რეესტრში ცვლილებები იწვევს Windows 7-ში რაიმე პრობლემას.

პრობლემა 3: მონაცემთა კორუფცია

თუ რეესტრის პარამეტრების შეცვლით რაიმე ქმედება იწვევს სერიოზულ პრობლემებს, მაშინ წინა მეთოდები არ დაეხმარება პრობლემის მოგვარებას. ამ შემთხვევაში სასურველია Windows 7-ში რეესტრის შეკეთება.

უმარტივესი ვარიანტია უკან დაბრუნება. იმ შემთხვევაში
ოპერაციული სისტემა უბრუნდება წინა მდგომარეობას, როდესაც არ განხორციელებულა რაიმე ცვლილება, რამაც გამოიწვია შეცდომა.

Windows-ის აღდგენის ინსტრუქციები:


აღდგენის წერტილის არჩევისას ყურადღება უნდა გაამახვილოთ თარიღზე. ღილაკი " იპოვნეთ დაზარალებული პროგრამები» აჩვენებს სისტემის ელემენტებს, რომლებიც წაიშლება დაბრუნების დროს.

შესაძლოა, თითოეულ თქვენგანს გსმენიათ სიტყვა "რეგისტრი", მაგრამ ცოტას დაუსვა კითხვა "რა არის", მაგრამ ამაოდ. ყოველივე ამის შემდეგ, რეესტრის რედაქტირების შესაძლებლობას შეუძლია დაზოგოს ბევრი დრო, ფული, ნერვები და ძალისხმევა. როგორ გავუშვათ Windows 7 ოპერაციული სისტემის რეესტრი, ისევე როგორც მისი გამოყენების ძირითადი მეთოდები, დეტალურად განიხილება ამ სტატიაში.

პირველ რიგში, თქვენ უნდა გესმოდეთ, რა არის რეესტრი. ამის უკეთ გასაგებად, წარმოიდგინეთ რვეული, რომელშიც შენიშვნებია გარკვეული თანმიმდევრობით. თუ ამ ბლოკნოტის ყველა ფურცელი ამოიჭრება და აირია, ინფორმაცია იგივე დარჩება, მაგრამ წაკითხვა გაცილებით რთული იქნება. წაკითხვამდე ჯერ უნდა მოძებნოთ თქვენთვის საჭირო გვერდი და ეს ტყუილად კარგავს დროს.

მსგავსი ვითარება მოხდა Fat16 ფაილური სისტემის გამოყენებისას, რომელსაც ჰქონდა მუშაობის სერიოზული პრობლემები. შემდეგ გადაწყდა რეესტრის შემოღება ინფორმაციის ორგანიზებისთვის. დროთა განმავლობაში, რეესტრის მიერ მოგვარებული პრობლემები გაქრა, მაგრამ ის შენარჩუნდა ჩამორჩენილი თავსებადობის გამო.

Windows Registry არის დაინსტალირებული პროგრამების პარამეტრებისა და პარამეტრების იერარქიულად აგებული მონაცემთა ბაზა.

ფიზიკურად, რეესტრის ყველა პარამეტრი ჩაწერილია ფაილებში და მიმოფანტულია მთელ სისტემაში. როდესაც პროგრამა იწყება, რეესტრი პოულობს საჭირო პარამეტრებს და მუშაობს მათთან. რაც უფრო მეტი აპლიკაციაა კომპიუტერზე, მით მეტი პარამეტრიანი ფაილია და მეტი დრო დასჭირდება თქვენთვის საჭირო ნივთის პოვნას. ამიტომ, რეესტრი დროდადრო უნდა გაიწმინდოს სისტემის მუშაობის შესანარჩუნებლად.

Windows 7-ის რეესტრის გაშვების ორი გზა არსებობს:

  1. დაწყება → საძიებო ზოლში ჩაწერეთ regedit → ნაპოვნი შედეგებში გახსენით ფაილი regedit.exe.
  2. გაუშვით Explorer → გადადით C:\Windows საქაღალდეში → მოძებნეთ regedit.exe ფაილი და გახსენით იგი.

თუ ყველაფერი სწორად გააკეთე, გაიხსნება რეესტრის რედაქტორი.

რეესტრის რედაქტირება. ექსპორტი/იმპორტი

ჩვენს წინაშე არის Windows 7 რეესტრის რედაქტირების ფანჯარა:

  • მარცხენა მხარეს არის სექციები.
  • მარჯვნივ არის პარამეტრები.
  • ბოლოში არის სტატუსის ზოლი, რომელიც აჩვენებს პარამეტრის გზას.

რეესტრის პარამეტრებთან მუშაობისას, თქვენ უნდა იყოთ ძალიან ფრთხილად და ფრთხილად, რადგან რეესტრი არის Windows-ის ნერვული სისტემა.

ამიტომ, ნებისმიერი პარამეტრის შეცვლამდე, რეკომენდებულია რეესტრის ასლის შექმნა.

დააწკაპუნეთ მარჯვენა ღილაკით "კომპიუტერის" განყოფილებაზე - ექსპორტი - დააყენეთ სახელი, შეამოწმეთ ექსპორტის დიაპაზონი (უნდა იყოს "მთელი რეესტრი") და მიუთითეთ საქაღალდე - დააჭირეთ შენახვას.

ზემოაღნიშნული ნაბიჯების შემდეგ გამოჩნდება ფაილი გაფართოებით .reg. ახლა, თუ თქვენ არეულობთ პარამეტრების შეცვლას, რეესტრი ყოველთვის შეიძლება დაუბრუნდეს პირვანდელ მდგომარეობას.

ამისათვის დააწკაპუნეთ „ფაილი“ – იმპორტი... – მოძებნეთ ადრე შენახული Registry.reg და დააჭირეთ „გახსნას“. ყველა პარამეტრი დაბრუნდება ასლის შექმნის დროს.

ადმინისტრატორის პაროლის აღდგენა რეესტრის გამოყენებით

  1. მაგალითისთვის, რომელიც აჩვენებს, თუ რა ამოცანები შეიძლება შესრულდეს რეესტრში, განიხილეთ შემდეგი პრობლემა. დავუშვათ, რომ თქვენ ხართ. არაა პრობლემა! მისი შეცვლა შესაძლებელია რეესტრის გამოყენებით. ამისათვის ჩვენ გვჭირდება Windows 7-ის საინსტალაციო დისკი.
  2. ჩატვირთვა საინსტალაციო დისკიდან. ახალი მონაცემების კოპირების შემდეგ, ჩვენ მოგეთხოვებათ ენის არჩევა. დატოვე ყველაფერი ისე, როგორც არის და დააჭირეთ "შემდეგი".
  3. შეიძლება გამოჩნდეს ფანჯარა ტექსტით „ჩატვირთვის ოფციებში აღმოჩენილი პრობლემები“. იგნორირება და აირჩიეთ ოპერაციული სისტემა და დააჭირეთ "შემდეგი".
  4. შემდეგ ფანჯარაში აირჩიეთ ყველაზე დაბალი პარამეტრი ""
  5. ბრძანების სტრიქონში ჩაწერეთ ბრძანება, რომელიც უკვე ვიცით, regedit და დააჭირეთ Enter.
  6. რედაქტორში აირჩიეთ HKEY_LOCAL_MACHINE
  7. შემდეგ, ფაილის მენიუში, აირჩიეთ "ჩატვირთვა Hive".
  8. გადადით საქაღალდეში C:\Windows\System32\config (ასო შეიძლება განსხვავდებოდეს ჩვეულებრივი C-სგან). ჩვენ გვაინტერესებს SYSTEM ფაილი.
  9. შეიყვანეთ ნებისმიერი განყოფილების სახელი. მაგალითად: 888.
  10. გადადით HKEY_LOCAL_MACHINE\888\Setup განყოფილებაში. ორჯერ დააწკაპუნეთ პარამეტრზე:
    • CmdLine, შეიყვანეთ cmd.exe და დააჭირეთ OK
    • SetupType, შეცვალეთ 0 2-ით და დააწკაპუნეთ OK.

    ზემოაღნიშნული მანიპულაციების შედეგად, ეს ასე უნდა გამოიყურებოდეს:

დღეს ჩვენ შევეცდებით Windows-ის რეესტრში შევიდეთ უკანა კარიდან, ამისთვის განკუთვნილი სტანდარტული WinAPI ფუნქციების გამოყენების გარეშე. რას მოგვცემს ეს საბოლოოდ? რეესტრიდან პირდაპირ წერისა და წაკითხვის შესაძლებლობა, ანტივირუსული გადაწყვეტილებების შემქმნელების მიერ დაწესებული შეზღუდვების გვერდის ავლით!

წინ რომ ვიხედები, აღვნიშნავ: ეს თემა საინტერესოა, მაგრამ აქ სერიოზული პრობლემების მთელი რიგია. თუმცა ვინ თქვა, რომ ჩვენ ამას ვერ გავუმკლავდებით? 🙂

რა არის რეესტრი, ან ზოგიერთი ლექსი

Windows ოპერაციული სისტემის თვალსაზრისით, რეესტრი უნიკალური საცავია. ეს ცალსახად აშენებული იერარქიული მონაცემთა ბაზა ინახავს პარამეტრებს, მონაცემებს, სარეგისტრაციო ინფორმაციას და სხვა სისულელეებს სისტემაში თითქმის ყველაფრის შესახებ, პროგრამებიდან კონკრეტული მომხმარებლის პარამეტრებამდე. თითქმის ყველაფერი ინახება რეესტრში. იმისდა მიუხედავად, რომ ზოგიერთ პროგრამას ურჩევნია მათი პარამეტრების შენახვა ini-configs-ში (განსაკუთრებით Win 3.11-ისთვის დაწერილი პროგრამები - რედაქტორის შენიშვნა), Windows თავად კითხულობს ყველა საჭირო ინფორმაციას თავის შესახებ რეესტრიდან. სამართლიანობისთვის, ჩვენ აღვნიშნავთ, რომ *nix-ის მსგავს ოპერაციულ სისტემებში კვლავ დომინირებს პარამეტრების შესანახი სისტემა ყველა სახის კონფიგურაციაში.

რეესტრთან მუშაობის დაწყებისას, ახალბედა სისტემის ადმინისტრატორებს აშინებთ ძველი ამხანაგები, რომ არასწორმა კონფიგურაციამ და რეესტრის პარამეტრების შეცვლამ შეიძლება მთლიანად გააფუჭოს სისტემა მისი შემდგომი ხელახალი ინსტალაციისას. და ეს მართალია.

მაგალითად, ეგრეთ წოდებული აღდგენის წერტილები არის რეესტრის ასლები. მათ ფართოდ იყენებენ მომხმარებლები, როდესაც სხვადასხვა პრობლემები წარმოიქმნება როგორც ოპერაციულ სისტემასთან, ასევე პროგრამულ და აპარატურასთან.

უნდა ითქვას, რომ Windows რეესტრის შესახებ ინფორმაციის 99% არის ძირითადი კლავიშების აღწერა და რჩევები მათთან მუშაობის შესახებ. მაგრამ როგორ მუშაობს თავად ოპერაციული სისტემა რეესტრთან? და შეგვიძლია მივბაძოთ მის ქმედებებს? მოდით ცოტა ვივარაუდოთ.

მერე რა?

რეესტრი არის ვინდოუსის ძლიერი და სუსტი მხარე. რეესტრის სიძლიერე იმაში მდგომარეობს, რომ პროგრამული უზრუნველყოფის დეველოპერებისთვის არ არის საჭირო კონფიგურაციების უზარმაზარი მანიპულირება, როგორც ეს არის, მაგალითად, დანერგილი Nix-ში. რეესტრი ასევე მოსახერხებელია COM კომპონენტების შემქმნელებისთვის - სისტემა ავტომატურად აღრიცხავს ასეთ კომპონენტს რეესტრში და აადვილებს მის შემდგომ გამოყენებას.

რეესტრის სისუსტე ის არის, რომ რეესტრის მგრძნობიარე უბნების მოდიფიკაციაზე წვდომა საშუალებას აძლევს ნებისმიერ პროგრამას, რომელიც დაწერილია ახლად შემუშავებული მავნე პროგრამის მიერ, გააკონტროლოს Windows. უბრალოდ გახსოვდეთ Windows რეესტრის ყველაზე ცნობილი ფილიალი, რომელიც საშუალებას გაძლევთ გაუშვათ პროგრამები OS-ის დაწყებისას :).

თუ Windows 98-ში რეესტრის შეკეთება შეეძლო ყველას, ვინც ამას ფიქრობდა, მაშინ Windows XP-დან დაწყებული მხოლოდ ადმინისტრატორის ანგარიშის მქონე მომხმარებლებს აქვთ წვდომა რეესტრზე. Vista+-ში რეესტრში წვდომა დაცულია UAC-ით. ეს გასაგებია.

უნდა ვაღიაროთ, რომ Win7-ის გამოშვებით, რეესტრთან მუშაობისას უსაფრთხოების კონცეფციები უკეთესობისკენ გადაიხედა. მაგალითად, გასაღების რეესტრის ფილიალი HKEY_LOCAL_MACHINE დაცულია. ზოგადად, მასზე რაიმეს დაწერის მცდელობა გადამისამართდება მიმდინარე მომხმარებლის HKEY_CURRENT_USER შესაბამის ფილიალში.

ინტერფეისი

რეესტრთან უშუალოდ მუშაობისთვის, Windows პროგრამისტს სთავაზობს WinAPI-ების მთელ კომპლექტს, რომელიც უნდა იცნობდეს ნებისმიერი სისტემის დეველოპერს - ეს არის Reg* ფუნქციები, როგორიცაა RegOpenKey, RegQueryValue და ა.შ. Win ბირთვში ეს არის NtOpenKey, NtQueryValueKey და მრავალი სხვა. მათ აღწერას განსაკუთრებული აზრი არ აქვს - ყველა დოკუმენტაცია ამ ფუნქციების სწორად გამოყენების შესახებ შეგიძლიათ იხილოთ MSDN-ზე.

აქ არის რაღაც აღნიშვნის ღირსი. მომხმარებლის ქმედებების გასაკონტროლებლად, ანტივირუსებმა და პროაქტიულმა პროგრამებმა დააინსტალირეს ჩარევები აღნიშნულ ფუნქციებზე, როგორც ბირთვში, ასევე მომხმარებლის რეჟიმში.

Win7 x64-ის გამოშვებით სიტუაცია შეიცვალა და ამის შესახებ ერთხელ უკვე დავწერე. Windows-ის დეველოპერებმა გადაწყვიტეს უარი თქვან Win kernel-ში პოტენციურად საშიში ფუნქციების ჩარევის შესაძლებლობაზე. ახლა KeServiceDescriptorTable ცვლადი აღარ არის ექსპორტირებული x64-ში და PatchGuard არ მოგცემთ უფლებას გადაწეროთ კოდის საჭირო განყოფილება. რა თქმა უნდა, არსებობს სადომაზოხისტური გადაწყვეტილებები ამ შეზღუდვების გვერდის ავლით - მაგრამ უფრო მეტი უბედურება იქნება, ვიდრე მოგება. გარდა ამისა, Microsoft გთავაზობთ მოსახერხებელ ObRegisterCallbacks რეესტრის მონიტორინგისთვის.

ინფორმაცია

ინტერნეტში ძალიან ცოტა ინფორმაციაა სტრუქტურების შესახებ, რომლებიც აღწერს მთავარ რეესტრის ფაილებს. და თითქმის ყველა მათგანი ინგლისურ ენაზეა. საბაზისო ცოდნა შეიძლება მოიძებნოს. გარდა ამისა, კარგად არის დაწერილი რეესტრის შესახებ სისტემურ ბიბლიაში „Windows-ის შიდა მოწყობილობები“ ამხანაგები მ.რუსინოვიჩისა და დ.სოლომონისგან.

ახლა კი - სახალისო ნაწილის შესახებ

მაგრამ რა არის რეესტრი სინამდვილეში? თუ გადახედავთ WINDOWSsystem32config საქაღალდეში, შეგიძლიათ ნახოთ რამდენიმე ფაილი: სისტემა, პროგრამული უზრუნველყოფა, უსაფრთხოება, SAM და რამდენიმე სხვა.

ეს არის რეესტრის ფაილები.

თუმცა, უსამართლო იქნება ვისაუბროთ რეესტრზე, როგორც მეხსიერებაში ჩატვირთული ფაილების რაღაც კომბინაციაზე. რეესტრის უმეტესი ნაწილი დინამიური ხასიათისაა, ანუ მთელი რიგი მნიშვნელობები გამოითვლება თავად სისტემის ჩატვირთვის ეტაპზე, პირველ რიგში ეს ეხება აპარატურის გარკვეულ პარამეტრებს. მაგალითად, ეს არის HKEY_DYN_DATA რეესტრის ქვეკლავი, რომლის მონაცემები ოპერაციული სისტემის ჩატვირთვისას თავსდება RAM-ში და რჩება ოპერაციული სისტემის გათიშვამდე. იგივე, სხვათა შორის, შეიძლება ითქვას საკვანძო ქვეკლავაზე HKEY_LOCAL_MACHINE, რომელსაც არ აქვს საკუთარი შესაბამისი ფაილი დისკზე, მაგრამ რეალურად იქმნება სხვა რეესტრის ფაილებიდან, როგორიცაა პროგრამული უზრუნველყოფა, სისტემა და სხვა.

ამრიგად, რეესტრს შიგნიდან შეიძლება ძალიან თავისუფლად ეწოდოს "რეესტრის ფაილების ვირტუალური კომბინაცია". სისტემის დაწყების შემდეგ, ეს ფაილები განლაგებულია როგორც გვერდის ფაილში (ფურცლილი აუზი) ასევე არაგვერდის მეხსიერებაში (არაგვერდი).

რეესტრის სტრუქტურა

იმისათვის, რომ ისწავლოთ, თუ როგორ უნდა იმუშაოთ რეესტრთან პირდაპირ, თქვენ არ შეგიძლიათ გააკეთოთ მისი შიდა სტრუქტურის ცოდნის გარეშე. ზოგადად, მაიკროსოფტს არასოდეს გაუმხელია რეესტრის შემადგენელი ფაილების შიდა სტრუქტურა, რადგან ეს უსაფრთხოების რისკს წარმოადგენს. ჩემი დაკვირვებით, რეესტრის ფაილების ყველა ხელმისაწვდომი აღწერა და მისი სტრუქტურა (და მათგან ძალიან ცოტაა, სხვათა შორის) არის პიონერ მკვლევარების კვლევის შედეგები. ყველაზე სრულყოფილი, ჩემი აზრით, ასეთი "კვლევა" შესაძლებელია, ის ეკუთვნის ამხანაგ პიტერ ნორისს.

ჩვენ ახლა არ შევეხებით რეესტრის ორგანიზაციისა და სტრუქტურის დეტალებს, ეს გრძელი, დამღლელი საკითხია და ნამდვილად არ ჯდება სტატიის ფარგლებს გარეთ. აქ მნიშვნელოვანია გვესმოდეს, რომ რეესტრი არის იერარქიული ხის მსგავსი სტრუქტურა, ზოგჯერ ასევე ნათქვამია, რომ ის არის თაფლისებრი.

და რა ვუყოთ ახლა ამ ყველაფერს?

მე მაშინვე გაგიცრუებთ: თქვენ ვერ შეძლებთ მარტივად ითამაშოთ რეესტრით მომხმარებლის რეჟიმში, სისტემა არ მოგცემთ ამის საშუალებას, როგორც ეს ჩვეულებრივ ხდება სხვა პროცესებით დაკავებული ფაილებით. თუ ცდილობთ თავიდან აიცილოთ იგი, შეგიძლიათ მხოლოდ წაიკითხოთ ასეთი "დატვირთული" ფაილი და მხოლოდ იმ შემთხვევაში, თუ გამოიცნობთ დროშებს, რომლითაც ის გაიხსნა. სამწუხაროდ, ჩვენთვის საინტერესო ინფორმაციის „რეგისტრაციის ფაილში“ ჩაწერა შეუძლებელი იქნება. სხვათა შორის, რეესტრში საჭირო ინფორმაციის ჩაწერის ფუნქცია შეიძლება იმუშაოს, თუ რეესტრში ჩაწერთ *.BAK ფაილებს, ისინი აუცილებლად ჩასაწერია.

ასე რომ, უყურე შენს ხელს :).

პირველი, რაც შეიძლება მოგახსენოთ, არის პირდაპირ რეესტრის ფაილის გახსნა და იქ რაღაცის დაწერა.

თეორიულად, ეს შეიძლება გაკეთდეს, ამისათვის საჭიროა, პირველ რიგში, შეძლოთ "დატვირთული" ფაილებით მუშაობა (მოძებნეთ მეთოდები ინტერნეტში) და მეორეც, როგორც ზემოთ ვთქვი, უნდა იცოდეთ რეესტრის შიდა სტრუქტურა. ფაილები. ეს მეთოდი საკმაოდ მოუხერხებელია, მაგრამ მისი სისულელეების მიუხედავად, საკმაოდ სიცოცხლისუნარიანია, თუმცა ძნელია მისი განხორციელება პრაქტიკაში (სცადეთ ექსპერიმენტები თავად გააკეთოთ).

აქ მე შემოგთავაზებთ ორ მეთოდს, რომელიც დაგეხმარებათ რეესტრის წვრილ ნაწილებად დაჭრაში.

პირველი გზა არის ის, რომ კონფიგურაციის მენეჯერისთვის (Configuration Manager, ოპერაციული სისტემის ნაწილი, თუ არ იცით), რეესტრი სხვა არაფერია, თუ არა მკაცრად განსაზღვრული სტრუქტურების ნაკრები ოპერატიული მეხსიერებაში, რომელიც, როგორც ირკვევა, ძალიან ადვილია მუშაობა. რა არის ეს სტრუქტურები, გეკითხებით? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, CM_* სტრუქტურების მთელი რიგი, რომლებიც გამოიყენება კონფიგურაციის მენეჯერის მიერ რეესტრის სამართავად. ოპერაციული სისტემის თვალსაზრისით, რეესტრი არის უბრალოდ რეგულირებული სტრუქტურების ნაკრები RAM-ში. მაგალითად, ხელმოწერა "regf", რომელიც განსაზღვრავს "რეესტრის ფაილს", არის წინასწარ განსაზღვრული მუდმივი:

განსაზღვრეთ HBASE_BLOCK_SIGNATURE 0x66676572 typedef struct _HBASE_BLOCK ( ULONG ხელმოწერა; //0x66676572 ULONG თანმიმდევრობა1; ULONG თანმიმდევრობა2; LARGE_INTEGER დროის შტამპი; .... )

ანუ მთელი ამ ჩემი მონოლოგის აზრი არის ის, რომ არის დიდი შესაძლებლობა ოპერაციული სისტემის დონეზე რეესტრით მანიპულირება, მაგრამ მისი სტანდარტული ხელსაწყოების გამოყენების გარეშე. როგორ არის ეს შესაძლებელი? ჩვენ უბრალოდ ვაბაძავთ თავად ოპერაციული სისტემის მოქმედებებს, ზუსტად ისე, როგორც თავად მუშაობს რეესტრთან! მნიშვნელოვანია, როგორც უკვე ვთქვი, გვესმოდეს, რომ თავად OS-სთვის, რეესტრი სხვა არაფერია, თუ არა მეხსიერების შესაბამისი სტრუქტურების ნაკრები.

თუ ჩვენ გვაქვს წვდომა რეესტრის ფაილებზე ბირთვის დონეზე, მაშინ რატომ ვართ უარესები, ვიდრე თავად OS, რათა დავამყაროთ მისი წესრიგი?

და აქ ყველაზე საინტერესო კითხვა ჩნდება სცენაზე - როგორ მოვძებნოთ ეს იგივე სტრუქტურები მეხსიერებაში? მართალია, არ არსებობს სტანდარტული სისტემის ინსტრუმენტები ამ პრობლემის გადასაჭრელად, ასე რომ თქვენ მოგიწევთ მისგან თავის დაღწევა ეშმაკურად.

იმის ცოდნა, თუ როგორ გამოიყურება სტრუქტურები, უნდა გახსოვდეთ, რომ თითოეულ ფაილს, რეესტრის სკივარს, აქვს თავისი მუდმივი ხელმოწერა. მაგალითად, "regf" არის 0x66676572. სკისთვის, ხელმოწერა იქნება 0xBEE0BEE0. ბირთვიდან მეხსიერების წვდომით, ჩვენ შეგვიძლია ვიპოვოთ ეს ხელმოწერები მეხსიერებაში საკმაოდ მარტივად, უბრალოდ სკანირებით. თქვენ ასევე შეგიძლიათ მეხსიერების სკანირება "CM10" ხელმოწერის მოსაძებნად - ეს არის ის, რაც ენიჭება კონფიგურაციის მენეჯერის მიერ swap მეხსიერების ბლოკს, რომელიც გამოყოფილია CMHIVE სტრუქტურისთვის. მე მჯერა, რომ როგორც კი თქვენს მეხსიერებაში იპოვით ელემენტს, რომელიც გვაინტერესებს, გაიგებთ, რა უნდა გააკეთოთ შემდეგ :).

როგორ, მაგალითად, შეგიძლიათ შეცვალოთ რეესტრის უჯრედის მნიშვნელობა? მნიშვნელობა ინახება CM_KEY_VALUE->Data ველში, ასე რომ, თუ თქვენ გაქვთ დავალება შეცვალოთ რომელიმე ველი კონკრეტულ რეესტრის გასაღებში, მოძებნეთ მნიშვნელობა იქ:

Typedef struct _CM_KEY_VALUE ( WORD ხელმოწერა; // #define CM_KEY_VALUE_SIGNATURE 0x6B76 WORD NameLength; ULONG მონაცემთა სიგრძე; ULONG მონაცემები; //<---------- данные ячейки будут здесь ULONG Type; WORD Flags; WORD Spare; WCHAR Name; } CM_KEY_VALUE, *PCM_KEY_VALUE;

მეორე ვარიანტი პირველის ერთგვარი მოდიფიკაციაა. თუ იცით, რეესტრთან მუშაობისას არის ერთი თავისებურება - ყველა ცვლილება, ანუ „ახალი გასაღებების შექმნა / ჩაწერა / კლავიშების წაშლა“, როგორც წესი, ძალაში შედის სისტემის გადატვირთვის შემდეგ (ან მკვლევარის გადატვირთვის შემდეგ, ეს არის ჰაკის მეთოდი). მანამდე, როგორც ჩანს, ყველა ცვლილება შეჩერებულ, „ბინძურ“ მდგომარეობაშია. უფრო მეტიც, როდესაც სისტემა შედის რეესტრში, ის დაუკავშირდება მას ფაილური სისტემის ქეშის საშუალებით. ეს გასაგებია - შეიძლება იყოს ასობით ზარი რეესტრში წამში, ამიტომ არაგონივრულია დაეყრდნოთ ფაილური სისტემის მუშაობას. ამრიგად, სისტემა მუშაობს რეესტრთან, როგორც ამბობენ, ვირტუალურად, ფაილური სისტემის ქეშის საშუალებით. და აქ, იმისათვის, რომ რეესტრის ნაწლავები შუქზე გაიტანოთ, თქვენ უნდა შეხვიდეთ ქეშში! როგორ კეთდება ეს უკვე აღწერილია ტირნეტებში, მათ შორის.

დადებითი და უარყოფითი მხარეები, ან დასკვნის ნაცვლად

ბოლოს რა ვთქვა? სტატიაში მკითხველისთვის შეთავაზებული რეესტრზე პირდაპირი კონტროლის თემაზე ვარიაცია ექსკლუზიურად ექსპერიმენტული ხასიათისაა. მე არ ვკამათობ, პრაქტიკული განხორციელებისთვის ცოტა რთულია და ბევრი იტყვის, რომ უმჯობესია გამოიყენოთ ნორმალური WinAPI ფუნქციები, რომლებიც შექმნილია რეესტრთან მუშაობისთვის - და ისინი გარკვეულწილად მართლები იქნებიან. თუმცა, die_hard-ის მიერ პრაქტიკაში განხორციელებული lib, სტატიაში მოცემულ პრინციპებზე დაფუძნებული, ექნება ჭეშმარიტად თერმობირთვული სიმძლავრე, ვერც სერვერების, ისე თავად ოპერაციული სისტემის კონტროლის მიღმა.

მერე დავამთავრებ. გილოცავთ შედგენას და შეიძლება Force იყოს თქვენთან ერთად!

WWW

მარკ რუსინოვიჩის სტატია რეესტრის შესახებ "რეესტრის შიგნით" აუცილებლად წასაკითხია, რუსული თარგმანიც კი იყო. მშვენიერი ინსტრუმენტი რეესტრის ინფორმაციის შეგროვებისთვის: http://goo.gl/iSSVy.



რაიმე შეკითხვა?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: