Secțiunile principale ale registrului Windows. Ce este Registrul Windows

Astăzi vom încerca să intrăm în registry Windows din ușa din spate, fără a folosi funcțiile standard WinAPI destinate acestui lucru. Ce ne va oferi asta până la urmă? Abilitatea de a scrie și citi direct din registru, ocolind restricțiile stabilite de dezvoltatorii de soluții antivirus!

Privind în viitor, voi observa: acest subiect este interesant, dar există un întreg set de probleme serioase aici. Deși cine a spus că nu ne putem descurca? 🙂

Ce este un registru sau niște versuri

Din punctul de vedere al sistemului de operare Windows, registry este o cameră de stocare unică. Această bază de date ierarhică construită în mod unic stochează setări, date, informații de înregistrare și alte prostii despre aproape tot ce se află în sistem, de la programe la setările unui anumit utilizator. Aproape totul este stocat în registru. În ciuda faptului că unele programe preferă să-și stocheze setările în ini-configs (în special programele scrise pentru Win 3.11 - Nota editorului), Windows însuși citește toate informațiile necesare despre sine din registry. Pentru a fi corect, observăm că în sistemele de operare asemănătoare *nix sistemul de stocare a setărilor în tot felul de configurații încă domină.

Când încep să lucreze cu registry, administratorii de sistem începători sunt speriați de tovarășii mai în vârstă că configurarea și modificarea incorectă a parametrilor registry poate prăbuși complet sistemul cu reinstalarea lui ulterioară. Și acest lucru este adevărat.

De exemplu, așa-numitele puncte de recuperare sunt copii ale registrului. Sunt utilizate pe scară largă de către utilizatori atunci când apar diverse probleme atât cu sistemul de operare, cât și cu software-ul și hardware-ul.

Trebuie spus că 99% din informațiile despre registry Windows sunt o descriere a principalelor chei plus sfaturi despre cum să lucrezi cu ele. Dar cum funcționează sistemul de operare în sine cu registry? Și putem emula acțiunile ei? Să speculăm puțin.

Şi ce dacă?

Registrul este atât un punct forte, cât și un punct slab al Windows. Puterea registrului este că pentru dezvoltatorii de software nu este nevoie să manipuleze o mulțime uriașă de configurații, așa cum sunt, de exemplu, implementate în Nix. Registrul este, de asemenea, convenabil pentru creatorii de componente COM - sistemul înregistrează automat o astfel de componentă în registru și facilitează sarcina de utilizare ulterioară.

Punctul slab al registrului este că accesul la modificarea zonelor sensibile ale registrului permite oricărui program scris de un malware nou creat să controleze Windows. Nu uitați decât cea mai faimoasă ramură a registrului Windows, care vă permite să lansați programe la începutul sistemului de operare :).

Dacă în Windows 98 registry ar putea fi reparat de oricine s-a gândit la asta, atunci începând cu Windows XP doar utilizatorii cu cont de administrator au acces la registry. În Vista+, accesul la registru este protejat de UAC. Acest lucru este de înțeles.

Trebuie să recunoaștem că odată cu lansarea Win7, conceptele de securitate atunci când lucrați cu registrul au fost revizuite în bine. De exemplu, ramura registrului de chei HKEY_LOCAL_MACHINE este protejată. În general, o încercare de a scrie ceva în acesta va fi redirecționată către ramura corespunzătoare HKEY_CURRENT_USER pentru utilizatorul curent.

Interfață

Pentru a lucra direct cu registrul, Windows oferă programatorului un set întreg de WinAPI, care ar trebui să fie familiar oricărui dezvoltator de sistem - acestea sunt funcții Reg*, cum ar fi RegOpenKey, RegQueryValue și așa mai departe. În nucleul Win, acestea sunt NtOpenKey, NtQueryValueKey și o serie de altele. Nu are niciun rost în descrierea lor - toată documentația privind utilizarea corectă a acestor funcții poate fi găsită pe MSDN.

Iată ceva ce merită remarcat. Pentru a controla acțiunile utilizatorului, antivirusurile și programele proactive au instalat interceptări asupra funcțiilor menționate, atât în ​​kernel, cât și în modul utilizator.

Odată cu lansarea Win7 x64, situația s-a schimbat și am scris deja despre asta o dată. Dezvoltatorii Windows au decis să renunțe la capacitatea de a intercepta funcții potențial periculoase din nucleul Win. Acum variabila KeServiceDescriptorTable nu mai este exportată în x64, iar PatchGuard nu vă va permite să rescrieți secțiunea necesară a codului. Există, desigur, soluții sadomasochiste pentru a ocoli aceste restricții - dar va fi mai multă durere decât profit. În plus, Microsoft oferă ObRegisterCallback-uri convenabile pentru monitorizarea registrului.

INFO

Există foarte puține informații pe Internet despre structurile care descriu principalele fișiere de registry. Și aproape toate sunt în engleză. Cunoștințele de bază pot fi găsite. În plus, este bine scris despre registrul în biblia sistemelor „Dispozitive interne ale Windows” de la camarazii M. Russinovich și D. Solomon.

Și acum - despre partea distractivă

Dar ce este de fapt un registru? Dacă vă uitați în folderul WINDOWSsystem32config, puteți vedea mai multe fișiere acolo: sistem, software, securitate, SAM și multe altele.

Acestea sunt fișiere de registry.

Cu toate acestea, ar fi nedrept să vorbim despre registry pur și simplu ca o combinație de fișiere încărcate în memorie. O mare parte din ceea ce conține registrul este de natură dinamică, adică o serie de valori sunt calculate în etapa de încărcare a sistemului în sine, în primul rând, aceasta se referă la anumiți parametri hardware. De exemplu, aceasta este subcheia de registru HKEY_DYN_DATA, ale cărei date, atunci când sistemul de operare pornește, sunt plasate în RAM și rămân acolo până când sistemul de operare se închide. Apropo, același lucru se poate spune despre subcheia HKEY_LOCAL_MACHINE, care nu are propriul fișier corespunzător pe disc, dar este de fapt format din alte fișiere de registry, cum ar fi software, sistem și altele.

Astfel, registrul din interior poate fi numit foarte vag „combinație virtuală de fișiere de registry”. După ce sistemul pornește, aceste fișiere sunt localizate atât în ​​fișierul de paginare (pool paginat) cât și în memoria nepaginată (nonpaged).

Structura registrului

Pentru a învăța cum să lucrați direct cu registrul, nu puteți face fără cunoașterea structurii sale interne. În general, Microsoft nu a dezvăluit niciodată structura internă a fișierelor care alcătuiesc registry deoarece prezintă un risc de securitate. Conform observațiilor mele, toate descrierile disponibile ale fișierelor de registru și ale structurii acestuia (și, apropo, sunt foarte puține dintre ele) sunt rezultatele cercetărilor cercetătorilor de pionier. Cea mai completă, după părerea mea, o astfel de „cercetare” este posibilă, îi aparține tovarășului Peter Norris.

Nu vom intra în detalii despre organizarea și structura registrului acum, aceasta este o chestiune lungă, plictisitoare și cu siguranță nu se încadrează în domeniul de aplicare al articolului. Este important de înțeles aici că registrul este o structură ierarhică asemănătoare unui arbore, uneori despre care se spune că este ca un fagure.

Și ce să faci cu toate astea acum?

Vă voi dezamăgi imediat: nu veți putea juca cu ușurință trucuri direct cu registry în modul utilizator, sistemul nu vă va permite să faceți acest lucru, așa cum este de obicei cazul fișierelor ocupate de alte procese; Dacă încercați să o evitați, puteți citi doar un astfel de fișier „ocupat” și numai dacă ghiciți steagurile cu care a fost deschis. Din păcate, nu va fi posibil să scriem informațiile care ne interesează în „fișierul de registru”. Apropo, caracteristica de scriere a informațiilor necesare în registru poate funcționa dacă scrieți în registru fișiere *.BAK, acestea sunt cu siguranță inscriptibile.

Deci, ai grija de mana :).

Primul lucru care v-ar putea veni în minte este să deschideți direct fișierul de registry și să scrieți ceva acolo.

Teoretic, acest lucru se poate face, pentru aceasta trebuie, în primul rând, să puteți lucra cu fișiere „ocupate” (căutați metode pe Internet) și, în al doilea rând, așa cum am spus mai sus, trebuie să cunoașteți structura internă a registrului fișiere. Această metodă este destul de stângace, dar, în ciuda prostiei sale, este destul de viabilă, deși este dificil de implementat în practică (încercați să experimentați singur).

Aici voi oferi două metode care vă vor ajuta să tăiați registrul în bucăți mici.

Prima modalitate este că pentru managerul de configurare (Manager de configurare, parte a sistemului de operare, dacă nu știți), registrul nu este altceva decât un set de structuri strict definite în memoria de operare, care, după cum se dovedește, sunt foarte ușor de lucrat. Ce sunt aceste structuri, vă întrebați? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, o grămadă de structuri CM_* utilizate de managerul de configurare pentru a gestiona registrul. Din punctul de vedere al sistemului de operare, registrul este pur și simplu un set de structuri reglementate în RAM. De exemplu, semnătura „regf”, care definește un „fișier de registry”, este o constantă predefinită:

Definiți HBASE_BLOCK_SIGNATURE 0x66676572 typedef struct _HBASE_BLOCK ( ULONG Signature; //0x66676572 ULONG Sequence1; ULONG Sequence2; LARGE_INTEGER TimeStamp; .... ) Și aici este semnătura „reg”

Adică, rostul acestui monolog al meu este că există o mare oportunitate de a manipula registrul la nivel de sistem de operare, dar fără a folosi instrumentele sale standard. Cum este posibil acest lucru? Pur și simplu emulăm acțiunile sistemului de operare în sine, exact așa cum funcționează el însuși cu registrul! Este important, așa cum am spus deja, să înțelegem că pentru sistemul de operare în sine, registry nu este altceva decât un set de structuri corespunzătoare în memorie.

Dacă avem acces la fișierele de registry la nivel de kernel, atunci de ce suntem mai răi decât sistemul de operare însuși pentru a-și stabili ordinea?

Și aici apare cea mai interesantă întrebare pe scenă - cum să găsim aceleași structuri în memorie? Este adevărat, nu există instrumente standard de sistem pentru a rezolva această problemă, așa că va trebui să ieși din ea într-un mod viclean.

Știind cum arată structurile, trebuie să vă amintiți că fiecare fișier, stupul de registry, are propria sa semnătură constantă. De exemplu, „regf” este 0x66676572. Pentru un stup, semnătura va fi 0xBEE0BEE0. Cu acces la memorie din nucleu, putem găsi aceste semnături în memorie destul de ușor, prin simpla scanare. De asemenea, puteți scana memoria în căutarea semnăturii „CM10” - aceasta este atribuită de managerul de configurare blocului de memorie swap, care este alocată structurii CMHIVE. Cred că odată ce vei găsi un element care ne interesează în memoria ta, îți vei da seama ce să faci cu el în continuare :).

Cum, de exemplu, puteți modifica valoarea unei celule de registry? Valoarea este stocată în câmpul CM_KEY_VALUE->Date, așa că dacă aveți o sarcină de a modifica orice câmp dintr-o anumită cheie de registry, căutați valoarea acolo:

Typedef struct _CM_KEY_VALUE ( WORD Signature; // #define CM_KEY_VALUE_SIGNATURE 0x6B76 WORD NameLength; ULONG DataLength; ULONG Data; //<---------- данные ячейки будут здесь ULONG Type; WORD Flags; WORD Spare; WCHAR Name; } CM_KEY_VALUE, *PCM_KEY_VALUE;

A doua opțiune este un fel de modificare a primei. Dacă știți, există o particularitate atunci când lucrați cu registry - toate modificările, adică „crearea de chei noi / scrierea / ștergerea cheilor”, de regulă, au efect după repornirea sistemului (sau după repornirea exploratorului, aceasta este o metodă de hack). Înainte de aceasta, toate schimbările par să fie într-o stare suspendată, „murdar”. Mai mult, atunci când sistemul accesează registry, comunică cu acesta prin intermediul cache-ului sistemului de fișiere. Acest lucru este de înțeles - pot exista sute de apeluri către registry pe secundă, prin urmare, nu este rezonabil să vă bazați pe performanța sistemului de fișiere, nicio performanță nu vă va salva aici. Prin urmare, sistemul funcționează cu registry, așa cum se spune, virtual, prin memoria cache a sistemului de fișiere. Și aici, pentru a scoate curajul registrului în lumină, trebuie să intri în cache! Cum se face acest lucru a fost deja descris în tyrnets, inclusiv în.

Pro & Contra, sau în loc de concluzie

Ce pot sa spun pana la urma? Variația pe tema controlului direct asupra registrului oferită cititorului în articol este exclusiv de natură experimentală. Nu argumentez, este puțin dificil pentru implementarea practică și mulți vor spune că este mai bine să utilizați funcții WinAPI normale concepute să funcționeze cu registry - și vor fi corecte în anumite privințe. Cu toate acestea, lib-ul implementat de die_hard în practică, bazat pe principiile prezentate în articol, va avea o putere cu adevărat termonucleară, dincolo de controlul fie al serverelor, fie al sistemului de operare în sine.

Atunci voi termina. Compilare fericită și ca Forța să fie cu tine!

WWW

Articolul lui Mark Russinovich despre registru „În interiorul registrului” este de citit obligatoriu, a existat chiar și o traducere în limba rusă. Un instrument minunat pentru colectarea informațiilor de registru: http://goo.gl/iSSVy.

Registrul Windows (registru de sistem) este o bază de date ierarhică (arboresc) care conține înregistrări care definesc parametrii și setările sistemelor de operare Microsoft Windows. Registrul, așa cum apare atunci când este vizualizat de Editorul de registry, este construit din date care provin din fișierele de registry și informații despre hardware colectate în timpul procesului de pornire. Când descrieți fișierele de registry în limba engleză, se folosește termenul "Stup". În documentația Microsoft, acest termen este tradus ca "Bush".

Principalele fișiere responsabile pentru crearea registrului

Fișierele de registry sunt create în timpul procesului de instalare a sistemului de operare și sunt stocate în folderul:

%SystemRoot%\system32\config (de obicei C:\windows\system32\config).

Pentru sistemele de operare Windows, acestea sunt fișiere numite:

sistem
software
sam
securitate
implicit
componente
bcd-şablon

În sistemele de operare Windows Vista, Windows 7, Windows8, , , , fișierele de registry se află în director \Windows\system32\configși au aceleași nume, totuși, în aceste sisteme de operare a fost adăugată o nouă cheie de registry la stocare ( Date de configurare a pornirii) cu nume BCD00000000. Fișierul cu datele pentru această secțiune este numit bcdși se află într-un folder ascuns Boot partiția activă (partiția de pe care pornește sistemul). De obicei, în timpul unei instalări standard Windows, este creată o partiție mică activă (de la 100 la 500 de megaocteți în funcție de sistemul de operare), care este ascunsă utilizatorului și conține doar date de serviciu pentru pornirea sistemului - înregistrări de pornire, manager de încărcare bootmgr,magazin de configurare a pornirii BCD, fișiere de localizare și programe de testare a memoriei. Locația Bush bcd depinde de modul în care este configurat încărcătorul de încărcare a sistemului în timpul instalării și poate fi localizat pe aceeași partiție ca și directorul Windows.

Locația fișierelor de registry în orice versiune de Windows poate fi vizualizată folosind Editorul de registry, în secțiunea:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

Această secțiune stochează informații despre toți stupii, inclusiv profilurile de utilizator, cu link-uri către locația lor în sistemul de fișiere Windows.

Structura registrului

Registrul Windows are o structură arborescentă și constă din 5 chei principale de registry:

HKEY_LOCAL_MACHINE (HKLM) este cea mai mare cheie de registry. Conține toate setările de bază ale sistemului de operare, precum și hardware-ul și software-ul computerului. Informațiile conținute în această secțiune se aplică tuturor utilizatorilor care se înregistrează în sistem.

HKEY_CLASSES_ROOT (HKCR) - conține asocieri între aplicații și tipuri de fișiere (după extensiile de fișiere). Această secțiune conține, de asemenea, informații despre tipurile de fișiere înregistrate și despre obiectele COM și ActiveX. Cu excepţia HKEY_CLASSES_ROOT aceste informații sunt stocate și în secțiuni HKEY_LOCAL_MACHINEŞi HKEY_CURRENT_USER. Capitol HKEY_LOCAL_MACHINE\Software\Class Conține setări implicite care se aplică tuturor utilizatorilor de pe computerul local. Opțiunile conținute în secțiune HKEY_CURRENT_USER\Software\Class, înlocuiți-le pe cele implicite și aplicați numai utilizatorului curent. Capitol HKEY_CLASSES_ROOT include date din ambele surse.

HKEY_USERS (HKU) - conține setările de mediu pentru fiecare dintre profilurile de utilizator încărcate, precum și pentru profilul implicit. ÎN HKEY_USERS există o secțiune imbricată \Implicit, precum și alte subsecțiuni identificate prin identificatorul de securitate ( ID de securitate, SID) fiecare utilizator.

  HKEY_CURRENT USER (HKCU) - conține setările de mediu pentru utilizatorul conectat în prezent în sistem (variabile de mediu, setări desktop, setări de rețea, aplicații și dispozitive conectate).

Această secțiune dublează informațiile în HKEY_USERS\SID utilizator, Unde SID utilizator- identificatorul de securitate al utilizatorului înregistrat în prezent în sistem (puteți afla SID-ul utilizatorului curent tastând în linia de comandă whoami/utilizator).

HKEY_CURRENT_CONFIG (HKCC) - conține setări pentru profilul hardware curent. Profilul hardware actual include seturi de modificări aduse configurației standard a dispozitivului specificate în subsecțiuni SoftwareŞi Sistem partiția rădăcină HKEY LOCAL_MACHINE. ÎN HKEY_CURRENT_CONFIG Doar schimbările sunt reflectate. În plus, informațiile din această secțiune se află în HKEY_LOCAL_MACHINE\System\CurrentControlSet\HardwareProfiles\Current.

Datele din registry sunt stocate sub formă de setări situate în cheile de registry. Fiecare parametru este caracterizat de un nume, tip de date și valoare.

Tipuri de date de bază utilizate în registru

REG_DWORD - număr pe 32 de biți. Multe setări ale driverului de dispozitiv și ale serviciului folosesc acest tip de date. Editorii de registry pot afișa aceste date în format binar, hexazecimal și zecimal.

REG_SZ - Un șir de text într-un format care poate fi citit de om. Valorilor care reprezintă descrieri ale componentelor li se atribuie de obicei acest tip de date.

REG_EXPAND_SZ - Șirul de date care urmează să fie extins. Această linie este text care conține o variabilă care poate fi înlocuită atunci când este apelată de aplicație, de exemplu folosită pentru a înregistra variabilele de mediu.

REG_MULTI_SZ - Câmp cu mai multe linii. Valorile care sunt de fapt liste de șiruri de text într-un format care poate fi citit de om au de obicei acest tip de date. Liniile sunt separate prin caracterul NULL.

REG_BINARY - Date binare. Majoritatea componentelor hardware folosesc informații care sunt stocate ca date binare. Editorii de registry afișează aceste informații în format hexazecimal.

REG_RESOURCE_LIST - Lista resurselor hardware. Se aplică numai unei sucursale HKEY_LOCAL_MACHINE\HARDWARE.

De asemenea, uneori puteți găsi următoarele tipuri de date de registry:

REG_RESOURCE_REQUIREMENTS_LIST- Lista resurselor hardware necesare. Se aplică numai unei sucursale HKEY_LOCAL_MACHINE\HARDWARE.

REG_FULL_RESOURCE_ DESCRIPTOR - Descriptor (descriptor) al unei resurse hardware. Se aplică numai unei sucursale HKEY_LOCAL_MACHINE\HARDWARE.

REG_QWORD - număr pe 64 de biți.

REG_DWORD_LITTLE_ENDIAN - număr pe 32 de biți în format little-endian, echivalent REG_DWORD.

REG_DWORD_BIG_ENDIAN este un număr pe 32 de biți în format big-endian.

REG_QWORD_LITTLE_ENDIAN este un număr de 64 de biți în format vârf de săgeată. Echivalent REG_QWORD.

REG_NONE - Parametrul nu are un tip de date specific.

Interacțiunea registrului cu sistemul de operare

Când computerul pornește, dispozitivul de recunoaștere hardware ( dispozitiv de recunoaștere hardware) plasează în registru o listă de dispozitive pe care le detectează. De obicei, recunoașterea hardware-ului se face prin software Ntdetect.comși nucleul sistemului de operare Ntoskrnl.exe

Când sistemul pornește, nucleul sistemului preia informații din registru despre driverele de dispozitiv care sunt încărcate și ordinea în care sunt încărcate. În plus, programul Ntoskrnl.exe trimite informații despre sine către registry (de exemplu, numărul versiunii).

În timpul procesului de pornire a sistemului, driverele de dispozitiv schimbă parametrii de pornire și datele de configurare cu registrul. Un driver de dispozitiv raportează resursele de sistem pe care le utilizează, inclusiv întreruperile hardware ( IRQ) și canale de acces la memorie ( DMA) astfel încât sistemul să poată include aceste date în registru. Apropo, registrul vă permite să creați mai multe profiluri hardware. Profil hardware ( profilul hardware) este un set de instrucțiuni care poate fi folosit pentru a spune sistemului de operare ce drivere de dispozitiv ar trebui să se încarce la pornirea computerului. În mod implicit, sistemul creează un profil hardware standard care conține informații despre tot hardware-ul găsit pe computer.

Când un utilizator se conectează, profilurile de utilizator sunt încărcate ( profiluri de utilizator). Toate informațiile legate de un anumit nume de utilizator și drepturile asociate sunt stocate în registru. Un profil de utilizator definește setările individuale ale sistemului (rezoluția afișajului, setările de conexiune la rețea, dispozitivele conectate și multe altele). Informațiile despre profilurile utilizatorilor sunt, de asemenea, stocate în registru.

La instalarea aplicațiilor. De fiecare dată când rulați programul de instalare, noi date de configurare sunt adăugate în registry. La pornire, toate programele de instalare trebuie să citească informații din registry pentru a determina dacă componentele de care au nevoie sunt prezente în sistem. În plus, registrul permite aplicațiilor să partajeze informații de configurare, oferindu-le mai multă interoperabilitate. Aplicația trebuie să utilizeze în mod activ și corect registry și, de asemenea, să îl poată elimina cu grație, fără a afecta componentele care pot fi utilizate de alte programe (biblioteci, module de program etc.). Aceste informații sunt stocate și în registru.

La administrarea sistemului. Când un utilizator face modificări la configurația sistemului utilizând instrumente de administrare a sistemului (de exemplu, folosind Panouri de control sau snap MMC), toate modificările sunt reflectate imediat în registrul de sistem. De fapt, instrumentele de administrare sunt cele mai convenabile și sigure mijloace de modificare a registrului. Apropo, editorul de registry poate fi considerat și un instrument administrativ ( regedit.exe), deoarece toate modificările sistemului pot fi făcute direct prin editarea registrului.

  ■ În timpul încărcării și funcționării sistemului de operare, datele de registru sunt accesate în mod constant, atât pentru citire, cât și pentru scriere. Fișierele de registry se schimbă constant, deoarece nu numai sistemul, ci și aplicațiile individuale pot folosi registry pentru a-și stoca propriile date, setări și setări. Cu alte cuvinte, accesarea registrului este una dintre cele mai frecvente operațiuni. Chiar dacă utilizatorul nu lucrează la computer, registry este încă accesat de serviciile de sistem, drivere și aplicații.

  ■ Încălcarea integrității fișierelor de registry (încălcarea structurii datelor) sau valorile incorecte ale parametrilor critici individuali pot duce la prăbușirea sistemului. Prin urmare, înainte de a experimenta cu registrul, aveți grijă de posibilitatea de salvare și restaurare a acestuia.

Registrul Windows este una dintre cele mai misterioase părți ale sistemului de operare, permițându-vă să personalizați și să modificați aproape fiecare aspect al Windows. Unii oameni lucrează cu registry tot timpul, dar majoritatea oamenilor au doar o înțelegere vagă a acestuia și nu sunt în întregime siguri cum să creeze chei și setări personalizate. Deci, să încercăm să ne dăm seama ce este registrul Windows.

Ce este Registrul Windows

Registrul Windows nu este altceva decât o colecție de diverse configurații și setări ale sistemului.

Poate fi considerată ca o bază de date care stochează aproape toate informațiile importante. Aceste informații includ tot ce ține de sistemul hardware, setările aplicației, programele instalate, profilurile de utilizator etc. Windows accesează registry în mod constant, deoarece, așa cum am menționat deja, stochează toate informațiile importante și este mult mai rapid și mai ușor pentru sistemul de operare să gestioneze totul dintr-un singur loc decât să se joace cu fișiere de configurare separate situate în locuri diferite.

Componentele Registrului Windows

Registrul Windows 10 este format din trei componente principale - chei la nivel de rădăcină, chei și setări.

Cheile la nivel rădăcină conțin secțiuni care au propriul set de parametri.

Există cinci chei diferite la nivel de rădăcină și toate au propriile lor scopuri specifice. Iată esenta lor:

  • HKEY_CLASSES_ROOT (HKCR): această cheie este utilizată pentru legarea și încorporarea obiectelor (OLE) și asocierea tipului de fișier. Aceasta este cheia în care Windows asociază fișierele cu programele lor respective, astfel încât utilizatorul să le poată deschide și interacționa cu acestea.
  • HKEY_ACTUAL_UTILIZATOR(HKCU): Această cheie de registry Windows stochează toate datele, setările la nivel de utilizator și configurațiile asociate cu utilizatorul conectat. Nu numai Windows, ci și alte programe stochează aici date referitoare la utilizatorul actual.
  • HKEY_LOCAL_MACHINE (HKLM): Indiferent de starea utilizatorului, această cheie conține toate partițiile de sistem, inclusiv orice setări hardware, setări software etc. Deoarece HKLM conține majoritatea informațiilor de sistem, este una dintre cele mai publice chei rădăcină Windows.
  • HKEY_USERS (HKU): După cum sugerează și numele, această cheie rădăcină conține setările tuturor utilizatorilor, inclusiv utilizatorii conectați și deconectați, așa că nu confundați această cheie cu HKCU.
  • HKEY_CURRENT_CONFIG (HKCC): Mai simplu spus, este o pseudo cheie rădăcină, deoarece este o legătură directă către setările curente ale profilului hardware din cheia rădăcină HKLM.

Opțiuni de partiție

Fiecare dintre aceste chei rădăcină are propriile sale secțiuni și fiecare secțiune are propriii parametri. Fiecare secțiune poate crea 6 tipuri diferite de parametri, iar valorile acestor parametri depind în întregime de programul țintă și/sau de cerințele de configurare.

În general, există patru tipuri principale de date utilizate în Editorul de registru Windows pentru orice versiune - 7,8 sau 10:

  • Parametru șir: constă dintr-un text simplu, care poate fi citit și este una dintre setările cele mai frecvent utilizate în Registrul Windows.
  • Parametru binar: După cum sugerează și numele, acest parametru conține doar date binare (0, 1). Adesea folosit pentru a activa sau dezactiva o anumită caracteristică.
  • ParametruDWORD (32 de biți): similar cu un parametru binar, dar capabil să stocheze orice număr întreg în intervalul de 32 de biți. Conceput pentru a funcționa cu sisteme pe 32 de biți, dar este utilizat și pe sistemele pe 64 de biți pentru compatibilitate inversă.
  • ParametruQWORD (64 de biți): acest parametru este aproape ca un DWORD, dar este capabil să transporte orice număr întreg în intervalul de 64 de biți. Putem spune că QWORD este proiectat să funcționeze cu sisteme pe 64 de biți.

Cum se deschide Windows Registry Editor

Această metodă de deschidere a registrului va funcționa indiferent de versiunea instalată de Windows - 7, 8 sau 10:

Apăsați tasta +R pentru a deschide fereastra Run. Tastați sau și apăsați Enter sau OK. Dacă apare fereastra User Account Control (UAC), faceți clic pe Da.

Fișierul executabil principal al editorului de registry se află în director C:\Windows. Deci, puteți deschide acest folder și rula direct regedit.exe sau puteți crea pur și simplu o comandă rapidă la regedit.exe într-o locație convenabilă pentru dvs.

Editor de registru: pentru Windows pe 64 și 32 de biți

Registrul din versiunile pe 64 de biți de Windows constă din secțiuni pe 32 de biți și 64 de biți. Multe dintre partițiile pe 32 de biți au aceleași nume ca și omologii lor pe 64 de biți și invers.

Versiunea implicită pe 64 de biți (regedit.exe) afișează atât partițiile pe 64 de biți, cât și pe 32 de biți. În versiunea pe 64 de biți a Editorului de registry, cheile pe 32 de biți apar în următoarea cheie de registry:

HKEY_LOCAL_MACHINE\Software\WOW6432Node

Puteți vizualiza și edita secțiuni și setări pe 64 de biți și 32 de biți folosind versiunea pe 64 de biți a editorului. Pentru a vizualiza sau edita cheile pe 64 de biți, trebuie să utilizați versiunea pe 64 de biți a Editorului de registru (regedit.exe). De asemenea, puteți edita și vizualiza chei și valori pe 32 de biți folosind versiunea pe 32 de biți (%systemroot\%Syswow64). Pentru a deschide versiunea pe 32 de biți a Registry Editor, urmați acești pași:

  • Deschideți dialogul Run.
  • Intră %systemroot%\syswow64\regeditși faceți clic pe OK.

Nota

Trebuie să închideți versiunea pe 64 de biți a Editorului de registry înainte de a deschide versiunea pe 32 de biți (și invers). Cu toate acestea, puteți deschide oa doua instanță a Editorului de registru. De exemplu, dacă versiunea pe 64 de biți a editorului rulează deja, introduceți comanda %systemroot%\syswow64\regedit -m pentru a lansa versiunea pe 32 de biți a editorului.

Crearea de noi secțiuni și parametri

Crearea secțiunilor și a parametrilor este foarte simplă. Dar înainte de a face ceva, vă rugăm să creați o copie de rezervă a registrului Windows, deoarece orice setări incorecte sau ștergerea elementelor importante pot cauza erori critice.

Pentru a crea o copie de rezervă, în fereastra editorului, faceți clic pe „Fișier -> Export”, introduceți un nume de fișier și salvați-l într-un loc sigur.

Pentru a crea o partiție nouă, faceți clic dreapta pe cheia de la nivel rădăcină și selectați Nou -> Partiție. Noua partiție va arăta ca un folder și, implicit, va fi numită ceva de genul „New Partition #1”. Desigur, secțiunea poate fi întotdeauna redenumită. Aceeași procedură este urmată ori de câte ori trebuie creată o nouă subcheie.

Pentru a crea un nou parametru, faceți clic dreapta într-o zonă goală din panoul din dreapta al editorului și selectați parametrul dorit. Parametrului creat trebuie să primească un nume; Numele depinde în întregime de cerințele specifice.

Pentru a atribui o valoare unui parametru, faceți dublu clic pe el și introduceți o valoare. Din nou, valoarea depinde de program sau de setările specifice.

Drepturi de acces la cheile de registry

Prin analogie cu drepturile și permisiunile pentru anumite obiecte din sistemul de fișiere NTFS, aceeași protecție este asigurată pentru cheile de registry.

De la Windows Vista, un număr mare de chei de registry specifice sistemului de operare care stochează setările Windows au fost protejate de Windows Resource Protection, așa că nu le puteți șterge sau modifica pur și simplu. Nu puteți face acest lucru fără să deveniți proprietarul lor și să le setați permisiuni (drepturi de acces). Din fericire, sistemul de operare permite și acest lucru, dar metoda manuală este prea plictisitoare, așa că este mai bine să folosiți un utilitar simplu care automatizează întreg acest proces.

Asta e tot! Sper că cele de mai sus v-au ajutat să înțelegeți mai bine Registrul Windows și componentele sale principale. Împărtășește-ți opiniile și experiențele în comentariile de mai jos!

O zi bună!

Așadar, astăzi vom vorbi despre un subiect care pare să nu fie foarte important, dar, de fapt, foarte necesar pentru fiecare utilizator de Windows (și există marea majoritate a acestora) - ce este registry, în ce constă, de ce este nevoie și cum să-l păstreze în coșurile lor. Deci, ce este mai exact un registru? În esență, aceasta este o bază de date uriașă, structurată ierarhic, care funcționează pe baza solicitărilor utilizatorilor. Această bază de date este necesară pentru sistematizarea datelor de sistem, precum și pentru optimizarea accesului la acestea. Registrul conține o mulțime de informații diverse atât despre setările normale ale sistemului de operare, cât și despre diverse setări de reglare fină, inclusiv setările de securitate și lucrul cu programe de nivel scăzut, precum și drivere.

Registrul nu este un program extern, este parte a sistemului de operare. Ntdetect caută fișiere de registry atunci când sistemul pornește și încarcă parametrii de pornire de acolo. cunoașterea cheilor de registry și cunoașterea semnificației acestora este necesară pentru un management eficient al sistemului. Și, de asemenea, cel puțin pentru diagnosticarea de bază „de ce nu funcționează așa”. Registrul este un sistem arborescent de directoare valori/chei. Care sunt responsabile pentru anumite setări. Mai mult, trebuie luat în considerare faptul că diferite chei pot avea diferite tipuri - de la logic la șir.

Anatomie demonstrativă.

Deci, merită să spuneți în ce constă fizic registrul și cum funcționează. Merită să faceți o rezervare imediat. Că în forma în care registrul este prezentat utilizatorului, acesta nu este stocat nicăieri și sunt necesare programe speciale pentru a-l edita - editori de registry. Regedit.exe și regedit32.exe standard sunt în regulă. În timpul procesului de configurare și instalare a sistemului, o parte din datele de registru este generată, iar o altă parte este generată în timpul funcționării sistemului. Ca urmare, atunci când sistemul pornește, se formează un obiect virtual REGISTRY\, care este registry. Ramurile de registry sunt disponibile pentru editarea, vizualizarea și studiul registrului folosind instrumente standard Windows (programele regedit.exe și regedt32.exe). După editarea registrului și/sau modificarea acestuia, aceste modificări sunt imediat scrise în fișierele care fac parte din registry. Acestea sunt, în Windows 95 și Windows 98 user.dat și system.dat; în Windows ME - user.dat, classes.dat și system.dat. În versiunile ulterioare ale sistemului, a apărut un număr mult mai mare de fișiere necesare.

Despre deficiențe și despre modul în care escrocii câștigă bani din aceste neajunsuri.

De fapt, sistemul este destul de complex, dar destul de fiabil. Din cauza complexității excesive, apar dificultăți cu fragmentarea registrului și, prin urmare, cu viteza de funcționare a acestuia. De asemenea, registrul tinde să devină excesiv de „gras” ca urmare a acumulării de date pe o perioadă lungă de funcționare, ceea ce complică și funcționarea acestuia. Această problemă poate fi rezolvată folosind programe speciale pentru a optimiza și curăța registry. Când vă ocupați de această problemă pe cont propriu, ar trebui să vă amintiți că nu ar trebui să ștergeți ceva din registru dacă nu cunoașteți scopul său - acest lucru poate deteriora grav sistemul sau chiar îl poate dezactiva complet. În plus, escrocii încearcă să facă mare lucru din aceste probleme - rețeaua este plină de oferte pentru a „descărca un program pentru a optimiza registry, după care computerul tău va rula cu 30% mai repede.” De obicei, o astfel de ofertă este urmată de un formular de trimitere a unui SMS, care confirmă suspiciunile anterioare. Nu ar trebui să fii atent la astfel de lucruri, cu atât mai puțin să le crezi - atunci nu vei pierde nici bani, nici nervi.

Principalele ramuri ale registrului, semnificația și scopul lor.

HKEY_CLASSES_ROOT este un link către secțiunea HKEY_LOCAL_MACHINE\Software\Class. Informațiile stocate aici asigură că programul necesar pornește atunci când deschideți un fișier utilizând Explorer. Această secțiune conține conexiuni între aplicații și tipuri de fișiere, precum și informații despre OLE.

HKEY_USERS - această secțiune conține setări pentru toți utilizatorii de computer.

HKEY_CURRENT_USER – această ramură este o legătură către o anumită subcheie internă HKEY_USERS. Toate setările sunt setate în funcție de utilizatorul care se află în prezent în sistem (adică ce sesiune este activă).

HKEY_LOCAL_MACHINE - Conține aproape toate setările și parametrii care aparțin acestui computer, inclusiv setările hardware, configurația hardware și profilurile utilizatorului.

HKEY_CURRENT_CONFIG este în esență doar un link către HKEY_LOCAL_MACHINE\ SYSTEM \CurrentControlSet\ Hardware Profiles\Current. Există toate setările hardware primite necesare pentru a rula sistemul.

Principalele secțiuni standard scrise mai sus nu pot fi șterse sau redenumite. Unele chei de registry sunt volatile și nu sunt stocate în niciun fișier. Sistemul de operare creează și gestionează aceste partiții în întregime în RAM, mai degrabă decât să le salveze pe hard disk, deci sunt de natură temporară. Sistemul creează partiții volatile de fiecare dată când pornește. De exemplu, HKEY_LOCAL_MACHINE\HARDWARE este o cheie de registry care stochează informații despre dispozitivele hardware și resursele alocate acestora. Alocarea resurselor și detectarea hardware-ului au loc de fiecare dată când sistemul pornește, așa că este logic și firesc ca aceste date să nu necesite stocare permanentă pe hard disk.

Cum să salvezi ceea ce ai dobândit deja.

Uneori este util să faci o copie de rezervă a registrului de sistem de teamă să nu-l deteriorezi. Acest lucru se poate întâmpla ca urmare a experimentelor nereușite cu registrul, a instalării incorecte a driverelor și a zeci de alte motive. Și nu strica să o ai „pentru orice eventualitate”. Pentru a nu face acest lucru manual de fiecare dată, puteți utiliza unul dintre numeroasele programe de backup automat, de exemplu, Comodo Backup.