Windowsin rekisterin pääavaimet. Mikä on Windowsin rekisteri

Tänään yritämme päästä Windowsin rekisteriin takaovesta käyttämättä tähän tarkoitettuja tavallisia WinAPI-toimintoja. Mitä se meille lopulta antaa? Mahdollisuus kirjoittaa ja lukea rekisteristä suoraan, ohittaen virustorjuntaratkaisujen kehittäjien asettamat rajoitukset!

Tulevaisuudessa huomautan: tämä aihe on mielenkiintoinen, mutta siinä on joukko vakavia ongelmia. Vaikka kuka sanoi, että meillä ei ole siihen varaa? 🙂

Mikä on rekisteri, tai vähän sanoituksia

Windows-käyttöjärjestelmän näkökulmasta rekisteri on ainutlaatuinen ruokakomero. Tämä erikoisesti rakennettu hierarkkinen tietokanta tallentaa asetukset, tiedot, rekisteröintitiedot ja muuta paskaa lähes kaikesta järjestelmästä, ohjelmista tietyn käyttäjän asetuksiin. Melkein kaikki on tallennettu rekisteriin. Huolimatta siitä, että jotkut ohjelmat haluavat tallentaa asetukset ini-konfiguraatioihin (etenkin Win 3.11:lle kirjoitetut ohjelmat - toim.), Windows itse lukee kaikki tarvittavat tiedot itsestään rekisteristä. Oikeudenmukaisuuden vuoksi huomautamme, että * nixin kaltaisissa käyttöjärjestelmissä järjestelmä, jolla asetukset tallennetaan kaikenlaisiin kokoonpanoihin, hallitsee edelleen.

Uusille tulokkaille - järjestelmänvalvojille, kun he alkavat työskennellä rekisterin kanssa, vanhemmat toverit pelkäävät, että virheellinen konfigurointi ja rekisteriparametrien muuttaminen voivat hukuttaa järjestelmän täysin myöhemmän uudelleenasennuksen yhteydessä. Ja todellakin on.

Esimerkiksi niin sanotut palautuspisteet ovat rekisterin kopioita. Käyttäjät käyttävät niitä laajalti, kun he kohtaavat erilaisia ​​​​ongelmia sekä käyttöjärjestelmän että ohjelmistojen ja laitteistojen kanssa.

Minun on sanottava, että 99% Windowsin rekisterin tiedoista on kuvaus tärkeimmistä avaimista ja neuvoja niiden kanssa työskentelemiseen. Mutta miten käyttöjärjestelmä itse toimii rekisterin kanssa? Ja voimmeko jäljitellä hänen tekojaan? Spekuloidaan vähän.

Mitä sitten?

Rekisteri on sekä Windowsin vahvuus että heikko kohta. Rekisterin vahvuus on, että ohjelmistokehittäjien ei tarvitse manipuloida joukkoa konfiguraatioita, kuten esimerkiksi nixissä toteutetaan. Rekisteri on kätevä myös COM-komponenttien tekijöille - järjestelmä rekisteröi tällaisen komponentin automaattisesti rekisteriin ja helpottaa sen jatkokäyttöä.

Rekisterin heikkous on, että pääsy rekisterin herkkien alueiden muokkaamiseen antaa sinun hallita Windowsia millä tahansa äskettäin luotujen haittaohjelmien kirjoittamilla ohjelmilla. Muista ainakin Windows-rekisterin tunnetuin haara, jonka avulla voit suorittaa ohjelmia käyttöjärjestelmän alussa :).

Jos Windows 98:ssa rekisterin voi korjata kuka tahansa, joka sen ajatteli, niin Windows XP:stä alkaen vain käyttäjillä, joilla on järjestelmänvalvojan tili, on pääsy rekisteriin. Vista+:ssa rekisterin käyttö on suojattu UAC:lla. Tämä on ymmärrettävää.

Minun on myönnettävä, että Win7:n julkaisun myötä rekisterin kanssa työskentelyn tietoturvakäsitteet on tarkistettu parempaan suuntaan. Esimerkiksi rekisteriavain HKEY_LOCAL_MACHINE on suojattu. Yleensä yritys kirjoittaa siihen jotain ohjataan nykyisen käyttäjän asianmukaiseen HKEY_CURRENT_USER haaraan.

Käyttöliittymä

Rekisterin kanssa työskentelyä varten Windows tarjoaa ohjelmoijalle joukon WinAPI:itä, jotka jokaisen järjestelmän kehittäjän tulee tuntea - nämä ovat Reg * -funktioita, kuten RegOpenKey, RegQueryValue ja niin edelleen. Win-ytimessä nämä ovat NtOpenKey, NtQueryValueKey ja monet muut. Niiden kuvailemisessa ei ole mitään järkeä - kaikki näiden toimintojen oikeaa käyttöä koskevat asiakirjat löytyvät MSDN:stä.

Tässä on huomion arvoinen asia. Virustentorjuntaohjelmat ja ennakoivat sovellukset käyttäjien toimien hallitsemiseksi asensivat koukut mainittuihin toimintoihin sekä ytimeen että käyttäjätilaan.

Win7 x64:n julkaisun myötä tilanne on muuttunut, ja kirjoitin tästä jo kerran. Windows-kehittäjät päättivät luopua mahdollisuudesta siepata Win-ytimen mahdollisesti vaarallisia toimintoja. Nyt x64:n KeServiceDescriptorTable-muuttuja viedään enää, eikä vaaditun koodiosan kirjoittaminen onnistu - PatchGuard ei anna sitä. Tietysti on olemassa sadomasokistisia ratkaisuja näiden rajoitusten kiertämiseen - mutta niistä tulee enemmän paskaa kuin voittoa. Lisäksi Microsoft tarjoaa kätevät ObRegisterCallbacks-toiminnot rekisterin hallintaan.

TIEDOT

Webissä on hyvin vähän tietoa rakenteista, jotka kuvaavat päärekisteritiedostoja. Ja melkein kaikki ne ovat englanniksi. Perustiedot löytyy. Lisäksi rekisteristä on hyvin kirjoitettu järjestelmäsuunnittelijan raamatussa "Ikkunoiden sisäinen järjestely" tovereilta M. Russinovich ja D. Solomon.

Ja nyt - mielenkiintoisimmista

Mutta mikä rekisteri oikeastaan ​​on? Jos katsot WINDOWSsystem32config-kansiota, näet siellä useita tiedostoja: järjestelmä, ohjelmisto, tietoturva, SAM ja useita muita.

Nämä ovat rekisteritiedostoja.

Olisi kuitenkin epäreilua puhua rekisteristä vain muistiin ladattujen tiedostojen yhdistelmänä. Suuri osa siitä, mitä rekisteri sisältää, on dynaamista, eli useita arvoja lasketaan itse järjestelmän latausvaiheessa, pääasiassa tämä koskee tiettyjä laitteistoparametreja. Tämä on esimerkiksi rekisterin HKEY_DYN_DATA aliavain, jonka tiedot käyttöjärjestelmän ladatessa sijaitsevat RAM-muistissa ja pysyvät siellä, kunnes käyttöjärjestelmä suljetaan. Samaa voi muuten sanoa avaimen aliavaimesta HKEY_LOCAL_MACHINE, jolla ei ole vastaavaa tiedostoa levyllä, mutta joka on itse asiassa muodostettu muista rekisteritiedostoista, kuten ohjelmistoista, järjestelmästä ja muista.

Siten, sisältä katsottuna, rekisteriä voidaan melko karkeasti kutsua "rekisteritiedostojen virtuaaliseksi yhdistelmäksi". Järjestelmän käynnistämisen jälkeen nämä tiedostot sijaitsevat sekä sivutussa poolissa että sivuttamattomassa muistissa.

Rekisterin rakenne

Jotta voit oppia työskentelemään rekisterin kanssa suoraan, ei voi tehdä ilman tietoa sen sisäisestä rakenteesta. Yleensä Microsoft ei ole koskaan paljastanut rekisterin muodostavien tiedostojen sisäisen rakenteen salaisuuksia, koska se aiheuttaa turvallisuusriskin. Havaintojeni mukaan kaikki saatavilla olevat kuvaukset rekisteritiedostoista ja niiden rakenteesta (ja niitä on muuten aika paljon) ovat uranuurtajien tutkimuksen tuloksia. Täydellisin tällainen "tutkimus" on mielestäni mahdollista, se kuuluu toveri Peter Norrisille.

Emme mene rekisterin organisaation ja rakenteen yksityiskohtiin, tämä on pitkä, työläs liiketoiminta, eikä se sovi tarkalleen artikkelin puitteisiin. Tässä on tärkeää ymmärtää, että rekisteri on hierarkkinen puumainen rakenne, joskus sen sanotaan myös näyttävän hunajakennolta.

Ja mitä tälle kaikelle nyt tehdä?

Suretun heti: et voi sotkea rekisteriä suoraan käyttäjätilassa, järjestelmä ei anna sinun tehdä tätä, kuten yleensä muiden prosessien käyttämien tiedostojen kanssa. Jos yrität kiertää, voit lukea vain sellaisen "varatun" tiedoston, ja sitten jos arvaat lipuilla, joilla se avattiin. Valitettavasti tietoja ei voi kirjoittaa meitä kiinnostavaan "rekisteritiedostoon". Muuten, ominaisuus, joka kirjoittaa tarvittavat tiedot rekisteriin, voi toimia, jos kirjoitat rekisterin * .BAK-tiedostoihin, ne ovat varmasti saatavilla kirjoitettavaksi.

Varo siis käsiäsi :).

Ensimmäinen asia, joka tulee mieleesi, on avata rekisteritiedosto suoraan ja kirjoittaa siihen jotain.

Teoriassa tämä voidaan tehdä, tätä varten sinun on ensinnäkin kyettävä työskentelemään "varattujen" tiedostojen kanssa (etsi menetelmiä verkosta) ja toiseksi, kuten edellä sanoin, sinun on tiedettävä tiedoston sisäinen rakenne. rekisteritiedostot. Tämä menetelmä on melko kömpelö, mutta harhaluuloisuudestaan ​​​​huolimatta se on varsin käyttökelpoinen, vaikka sitä on vaikea toteuttaa käytännössä (kokeile sitä itse).

Tässä tarjoan kaksi tapaa, joiden avulla voit leikata rekisterin pieniksi paloiksi.

Ensimmäinen tapa on, että kokoonpanonhallinnassa (Configuration Manager, osa käyttöjärjestelmää, jos et tiedä) rekisteri on vain joukko tiukasti määriteltyjä rakenteita muistissa, jotka, kuten käy ilmi, ovat erittäin helppo työskennellä. Mitä nämä rakenteet ovat, kysyt? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, joukko CM_ * -rakenteita, joita asetusten hallinta käyttää rekisterin hallintaan. Käyttöjärjestelmän näkökulmasta rekisteri on yksinkertaisesti kokoelma säänneltyjä rakenteita muistissa. Esimerkiksi "rekisteritiedoston" allekirjoitus "regf" on ennalta määritetty vakio:

Määrittele HBASE_BLOCK_SIGNATURE 0x66676572 typedef struct _HBASE_BLOCK (ULONG Signature; // 0x66676572 ULONG Sequence1; ULONG Sequence2; LARGE_INTEGER Timestamp; ....) Ja tässä on ... regf signature

Toisin sanoen kaiken tämän monologini tarkoitus on, että on upea mahdollisuus manipuloida rekisteriä käyttöjärjestelmätasolla, mutta samalla ei käyttämällä sen vakiotyökaluja. Kuinka tämä on mahdollista? Emuloimme vain itse käyttöjärjestelmän toimintoja, täsmälleen samalla tavalla kuin se itse toimii rekisterin kanssa! Kuten sanoin, on tärkeää ymmärtää, että itse käyttöjärjestelmälle rekisteri on vain joukko vastaavia rakenteita muistissa.

Jos meillä on pääsy rekisteritiedostoihin ytimen tasolla, niin miksi olemme huonompia kuin itse käyttöjärjestelmä oman järjestyksensä luomiseksi?

Ja tässä näyttämölle ilmestyy mielenkiintoisin kysymys - kuinka löytää nämä rakenteet muistista? Totta, tämän ongelman ratkaisemiseen ei ole olemassa tavallisia järjestelmätyökaluja, joten sinun on päästävä ulos hankalalla tavalla.

Kun tiedät, miltä rakenteet näyttävät, sinun on muistettava, että jokaisella tiedostolla, rekisterin pesällä, on oma jatkuva allekirjoitus. Esimerkiksi "regf" on 0x66676572. Pesän osalta allekirjoitus on 0xBEE0BEE0. Ytimen muistin avulla voimme löytää nämä allekirjoitukset muistista melko helposti yksinkertaisesti skannaamalla sen. Voit myös skannata muistia etsimään "CM10"-allekirjoitusta - tämän allekirjoituksen määrittää asetusten hallinta sivutulle muistilohkolle, joka on varattu CMHIVE-rakenteelle. Oletan, että kun olet löytänyt meitä kiinnostavan elementin muistista, keksit mitä tehdä sen kanssa edelleen :).

Miten voit esimerkiksi muuttaa rekisterisolun arvoa? Arvo on tallennettu CM_KEY_VALUE-> Data-kenttään, joten jos sinulla on tehtävä muuttaa mitä tahansa kenttää tietyssä rekisteriavaimessa, etsi arvo sieltä:

Typedef struct _CM_KEY_VALUE (WORD-allekirjoitus; // #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;

Toinen vaihtoehto on eräänlainen muunnos ensimmäisestä. Jos tiedät, rekisterin kanssa työskennellessä on yksi erikoisuus - kaikki muutokset, toisin sanoen "uusien avainten luominen / avainten kirjoittaminen / poistaminen", tulevat yleensä voimaan järjestelmän uudelleenkäynnistyksen jälkeen (no tai Explorerin uudelleenkäynnistyksen jälkeen, tämä on sellainen hakkerointimenetelmä). Siihen asti kaikki muutokset ovat keskeytetyssä, "likaisessa" tilassa. Lisäksi järjestelmä, kun se käyttää rekisteriä, kommunikoi sen kanssa tiedostojärjestelmän välimuistin kautta. Tämä on ymmärrettävää - rekisteriin voi tulla satoja puheluita sekunnissa, joten tiedostojärjestelmän nopeuteen luottaminen on kohtuutonta, mikään nopeus ei pelasta sinua täällä. Siksi järjestelmä toimii rekisterin kanssa, kuten sanotaan, virtuaalisesti tiedostojärjestelmän välimuistin kautta. Ja täällä, jotta voit vetää rekisterin sisut valoon, sinun on päästävä välimuistiin! Kuinka tämä tehdään, on jo kuvattu tyrnetissä, mukaan lukien.

Plussat ja miinukset, tai päätelmän sijaan

Mitä voin sanoa lopuksi? Artikkelissa lukijalle ehdotettu vaihtelu rekisterin suoran hallinnan aiheesta on puhtaasti kokeellinen. En väitä, että se on liian raskas käytännön toteuttamiseen, ja monet sanovat, että on parempi käyttää normaaleja WinAPI-toimintoja, jotka on suunniteltu toimimaan rekisterin kanssa - ja ne ovat jossain määrin oikein. Todellisuudessa toteutetulla die_hardilla, joka perustuu artikkelissa annettuihin periaatteisiin, tulee kuitenkin olemaan todella lämpöydinvoima, joka ei ole Aversin tai itse käyttöjärjestelmän hallinnassa.

Nyt lopetan. Hyvää kokoelmaa ja olkoon Voima kanssasi!

www

Mark Russinovichin artikkeli "Inside the Registry" -sivustosta on pakollinen luettava, siellä oli jopa venäjänkielinen käännös. Erinomainen työkalu rekisteritietojen keräämiseen: http://goo.gl/iSSVy.

Windowsin rekisteri (Windows Registry) on hierarkkinen (puumainen) tietokanta, joka sisältää tietueita, jotka määrittelevät Microsoft Windows -käyttöjärjestelmien parametrit ja asetukset. Rekisteri sellaisena kuin se näyttää rekisterieditorin tarkasteltuna, on luotu rekisteritiedostoista ja käynnistyksen aikana kerätyistä laitteistotiedoista peräisin olevista tiedoista. Englanninkieliset rekisteritiedostot käyttävät termiä "Pesä"... Microsoftin dokumentaatiossa tämä termi on käännetty nimellä "Puska".

Päätiedostot, jotka vastaavat rekisterin muodostamisesta

Rekisteritiedostot luodaan käyttöjärjestelmän asennuksen aikana ja tallennetaan kansioon:

% SystemRoot% \ system32 \ config (yleensä C: \ windows \ system32 \ config).

Windows-käyttöjärjestelmissä nämä ovat tiedostoja, joiden nimet ovat:

järjestelmä
ohjelmisto
sam
turvallisuus
oletuksena
komponentit
bcd-malli

Käyttöjärjestelmissä Windows Vista, Windows 7, Windows8,,, rekisteritiedostot sijaitsevat hakemistossa \ Windows \ system32 \ config ja niillä on samat nimet, mutta nämä käyttöjärjestelmät ovat lisänneet uuden rekisteriavaimen tallennettavaksi ( Käynnistysmääritystiedot) Nimellä BCD00000000... Tämän osion tiedot sisältävällä tiedostolla on nimi bcd ja sijaitsee piilotetussa kansiossa Saapas aktiivinen osio (osio, josta järjestelmä käynnistetään). Yleensä tavallisen Windows-asennuksen aikana luodaan pieni aktiivinen osio (100 - 500 megatavua käyttöjärjestelmästä riippuen), joka on piilotettu käyttäjältä ja sisältää vain palvelutiedot järjestelmän käynnistämiseksi - käynnistystietueet, käynnistyshallinta bootmgr, käynnistysasetuskauppa BCD, lokalisointitiedostot ja muistin testausohjelmat. Bushin sijainti bcd riippuu siitä, kuinka käynnistyslatain on määritetty järjestelmän asennuksen yhteydessä, ja se voi olla samassa osiossa kuin Windows-hakemisto.

Rekisteritiedostojen sijaintia missä tahansa Windows-versiossa voi tarkastella Rekisterieditorin kohdasta:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ hivelist

Tämä osio tallentaa tiedot kaikista mehiläispesistä, mukaan lukien käyttäjäprofiilit, sekä linkit niiden sijaintiin Windowsin tiedostojärjestelmässä.

Rekisterin rakenne

Windowsin rekisterissä on puurakenne ja se koostuu viidestä päärekisteriavaimesta:

HKEY_LOCAL_MACHINE (HKLM) - Suurin rekisteriavain. Se sisältää kaikki käyttöjärjestelmän perusasetukset sekä tietokoneen laitteiston ja ohjelmiston. Tämän osion tiedot koskevat kaikkia järjestelmään rekisteröityviä käyttäjiä.

HKEY_ CLASSES_ ROOT (HKCR) - Sisältää sovellusten ja tiedostotyyppien välisiä assosiaatioita (tiedostotunnisteiden mukaan). Lisäksi tämä osa sisältää tietoja rekisteröidyistä tiedostotyypeistä sekä COM- ja ActiveX-objekteista. paitsi HKEY_ CLASSES_ ROOT nämä tiedot tallennetaan myös osioihin HKEY_LOCAL_MACHINE ja HKEY_CURRENT_USER... Luku HKEY_LOCAL_MACHINE \ Ohjelmisto \ Luokat sisältää oletusasetukset, jotka koskevat kaikkia paikallisen tietokoneen käyttäjiä. Osion sisältämät vaihtoehdot HKEY_CURRENT_USER \ Software \ Classes, ohittaa oletusarvon ja koskee vain nykyistä käyttäjää. Luku HKEY_CLASSES_ROOT sisältää tiedot molemmista lähteistä.

HKEY_USERS (HKU) - Sisältää kunkin ladatun käyttäjäprofiilin ympäristöasetukset sekä oletusprofiilin. V HKEY_USERS on sisäkkäinen osio \ Oletus sekä muut SID:n tunnistamat alakohdat ( Turvatunnus, SID) jokaisesta käyttäjästä.

HKEY_CURRENT USER (HKCU) - Sisältää järjestelmään kirjautuneen käyttäjän ympäristöasetukset (ympäristömuuttujat, työpöydän asetukset, verkkoasetukset, sovellukset ja liitetyt laitteet).

Tämä osio kopioi tiedot HKEY_USERS \ käyttäjän SID, missä käyttäjän SID- järjestelmään kirjautuneen käyttäjän suojaustunnus (selvitä nykyisen käyttäjän SID kirjoittamalla komentoriville whoami / käyttäjä).

HKEY_CURRENT_ CONFIG (HKCC) - Sisältää nykyisen laitteistoprofiilin asetukset. Nykyinen laitteistoprofiili sisältää muutokset, jotka on tehty alaosissa määritettyyn laitteen oletuskokoonpanoon Ohjelmisto ja Järjestelmä juuriosio HKEY LOCAL_MACHINE... V HKEY_CURRENT_CONFIG vain muutokset näkyvät. Lisäksi tämän osan tiedot sijaitsevat osoitteessa HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ HardwareProfiles \ Current.

Rekisteritiedot tallennetaan parametreina, jotka sijaitsevat rekisteriavaimissa. Jokaiselle parametrille on ominaista nimi, tietotyyppi ja arvo.

Rekisterin perustietotyypit

REG_DWORD on 32-bittinen luku. Tätä tietotyyppiä käyttävät monet parametrit laiteajureissa ja palveluissa. Rekisterieditorit voivat näyttää nämä tiedot binääri-, heksadesimaali- ja desimaalimuodossa.

REG_SZ - Ihmisen luettavissa oleva tekstimerkkijono. Tämä tietotyyppi määritetään yleensä arvoille, jotka edustavat komponenttien kuvauksia.

REG_EXPAND_SZ - Laajentuva tietomerkkijono. Tämä merkkijono on teksti, joka sisältää muuttujan, joka voidaan korvata sovelluksesta kutsuttaessa, esimerkiksi ympäristömuuttujien kirjoittamiseen.

REG_MULTI_SZ - Monirivinen kenttä. Arvoilla, jotka ovat itse asiassa luetteloita tekstijonoista ihmisen luettavassa muodossa, on yleensä tämä tietotyyppi. Rivit ovat NULL-eroteltuja.

REG_BINARY - Binääritiedot. Useimmat laitteistokomponentit käyttävät tietoa, joka on tallennettu binääritietona. Rekisterieditorit näyttävät nämä tiedot heksadesimaalimuodossa.

REG_RESOURCE_LIST - Laitteistoresurssien luettelo. Koskee vain haaraa HKEY_LOCAL_MACHINE \ HARDWARE.

Joskus voit löytää myös tämän tyyppisiä rekisteritietoja:

REG_RESOURCE_ REQUIREMENTS_LIST- Luettelo tarvittavista laitteistoresursseista. Koskee vain haaraa HKEY_LOCAL_MACHINE \ HARDWARE.

REG_FULL_RESOURCE_ DESCRIPTOR - Laitteistoresurssin kuvaaja (kuvaaja). Koskee vain haaraa HKEY_LOCAL_MACHINE \ HARDWARE.

REG_QWORD on 64-bittinen numero.

REG_DWORD_ LITTLE_ENDIAN - 32-bittinen little-endian-luku, vastaava REG_DWORD.

REG_DWORD_BIG_ENDIAN - 32-bittinen luku big-endian-muodossa.

REG_QWORD_LITTLE_ENDIAN – 64-bittinen piikkiluku. Vastaava REG_QWORD.

REG_NONE - Parametrilla ei ole tiettyä tietotyyppiä.

Rekisterin vuorovaikutus käyttöjärjestelmän kanssa

Kun tietokone käynnistyy, laitteiston tunnistus ( laitteiston tunnistin) lisää luettelon löytämistään laitteista rekisteriin. Tyypillisesti laitteistotunnistuksen tekee ohjelma Ntdetect.com ja käyttöjärjestelmän ydin Ntoskrnl.exe

Järjestelmän käynnistyksen yhteydessä järjestelmän ydin poimii rekisteristä tiedot ladattavista laiteajureista ja niiden latausjärjestyksestä. Lisäksi ohjelma Ntoskrnl.exe siirtää itsestään tietoja rekisteriin (esim. versionumero).

Järjestelmän käynnistyksen aikana laiteajurit vaihtavat käynnistysparametreja ja kokoonpanotietoja rekisterin kanssa. Laiteohjain raportoi käyttämänsä järjestelmäresurssit, mukaan lukien laitteistokeskeytykset ( IRQ) ja muistin pääsykanavat ( DMA), jotta järjestelmä voi sisällyttää nämä tiedot rekisteriin. Muuten, rekisterin avulla voit luoda useita laitteistoprofiileja. Laitteistoprofiili ( laitteistoprofiili) on joukko ohjeita, joiden avulla voit kertoa käyttöjärjestelmälle, mitkä laiteohjaimet ladataan, kun käynnistät tietokoneen. Oletusarvoisesti järjestelmä luo vakiolaitteistoprofiilin, joka sisältää tiedot kaikista tietokoneessa olevista laitteistoista.

Kun käyttäjä kirjautuu sisään, käyttäjäprofiilit ladataan ( käyttäjäprofiilit). Kaikki tiettyyn käyttäjätunnukseen ja siihen liittyviin oikeuksiin liittyvät tiedot tallennetaan rekisteriin. Käyttäjäprofiili määrittää yksittäiset järjestelmäasetukset (näytön resoluutio, verkkoyhteysasetukset, liitetyt laitteet ja paljon muuta). Käyttäjäprofiilitiedot tallennetaan myös rekisteriin.

Sovelluksia asennettaessa. Joka kerta kun asennusohjelma käynnistyy, se lisää uusia määritystietoja rekisteriin. Käynnistettäessä kaikkien asentajien on luettava tiedot rekisteristä määrittääkseen, onko järjestelmässä heidän tarvitsemiaan komponentteja. Lisäksi rekisteri sallii sovellusten jakaa asetustietoja, mikä parantaa niiden yhteentoimivuutta. Sovelluksen tulee käyttää rekisteriä aktiivisesti ja oikein sekä pystyä poistamaan se oikein vaikuttamatta komponentteihin, joita muut ohjelmat voivat käyttää (kirjastot, ohjelmamoduulit jne.). Nämä tiedot tallennetaan myös rekisteriin.

Järjestelmää hallittaessa. Kun käyttäjä tekee muutoksia järjestelmän kokoonpanoon järjestelmän hallintatyökaluilla (esim Ohjauspaneelit tai napsauttaa MMC), kaikki muutokset näkyvät välittömästi järjestelmän rekisterissä. Itse asiassa hallintatyökalut ovat kätevimmät ja turvallisimmat työkalut rekisterin muokkaamiseen. Muuten, rekisterieditori ( regedit.exe), koska kaikki muutokset järjestelmään voidaan tehdä suoraan muokkaamalla rekisteriä.

■ Käyttöjärjestelmän käynnistyksen ja käytön aikana rekisteritietoja käsitellään jatkuvasti sekä lukemista että kirjoittamista varten. Rekisteritiedostot muuttuvat jatkuvasti, koska paitsi järjestelmä, myös yksittäiset sovellukset voivat tallentaa rekisteriin omia tietojaan, parametrejaan ja asetuksiaan. Toisin sanoen rekisteriin pääsy on yksi yleisimmistä toiminnoista. Vaikka käyttäjä ei työskentele tietokoneella, rekisteriin pääsevät silti järjestelmäpalvelut, ajurit ja sovellukset.

■ Rekisteritiedostojen eheyden rikkominen (tietorakenteen rikkominen) tai tiettyjen kriittisten parametrien virheelliset arvot voivat johtaa järjestelmän kaatumiseen. Siksi, ennen kuin kokeilet rekisteriä, huolehdi mahdollisuudesta tallentaa ja palauttaa se.

Windowsin rekisteri on yksi käyttöjärjestelmän salaperäisimmistä osista, jonka avulla voit mukauttaa ja muokata melkein kaikkia Windowsin ominaisuuksia. Jotkut ihmiset työskentelevät rekisterin kanssa koko ajan, mutta useimmat ihmiset ymmärtävät siitä vain heikkoja, eivätkä ole aivan varmoja, kuinka mukautettuja osioita ja parametreja luodaan. Joten yritetään selvittää, mikä Windowsin rekisteri on.

Mikä on Windowsin rekisteri

Windowsin rekisteri ei ole muuta kuin kokoelma erilaisia ​​järjestelmäkokoonpanoja ja asetuksia.

Sitä voidaan pitää tietokantana, joka tallentaa melkein kaiken tärkeän tiedon. Nämä tiedot sisältävät kaiken, mikä liittyy laitteistojärjestelmään, sovellusasetuksiin, asennettuihin ohjelmiin, käyttäjäprofiileihin jne. Windows käyttää jatkuvasti rekisteriä, koska, kuten jo mainittiin, kaikki tärkeät tiedot on tallennettu siihen, ja käyttöjärjestelmän on paljon nopeampaa ja helpompaa hallita kaikkea yhdestä paikasta kuin näpertely eri paikoissa sijaitsevien asetustiedostojen kanssa.

Windowsin rekisterikomponentit

Windows 10 -rekisterissä on kolme pääosaa - juuritason avaimet, avaimet ja asetukset.

Juuritason avaimet sisältävät osioita, joilla on omat parametrit.

Päätason avaimia on viisi erilaista, ja niillä kaikilla on omat tarkoituksensa. Tässä on niiden ydin:

  • HKEY_CLASSES_ROOT (HKCR): tätä avainta käytetään Object Linking and Embedding (OLE) ja tiedostotyyppien yhdistämiseen. Tämä on avain, jossa Windows yhdistää tiedostot vastaaviin ohjelmiinsa, jotta käyttäjä voi avata niitä ja olla vuorovaikutuksessa niiden kanssa.
  • HKEY_NYKYINEN_KÄYTTÄJÄ (HKCU): Tämä Windowsin rekisteriavain tallentaa kaikki sisäänkirjautuneeseen käyttäjään liittyvät tiedot, käyttäjätason asetukset ja määritykset. Ei vain Windows, vaan myös muut ohjelmat tallentavat tähän nykyiseen käyttäjään liittyviä tietoja.
  • HKEY_LOCAL_MACHINE (HKLM): riippumatta käyttäjän tilasta, tämä avain sisältää kaikki järjestelmäosiot, mukaan lukien kaikki laitteistoasetukset, ohjelmistoparametrit jne. Koska HKLM sisältää suurimman osan järjestelmätiedoista, se on yksi julkisimmista Windowsin juuriavaimista.
  • HKEY_USERS (HKU): Kuten nimestä voi päätellä, tämä juuriavain sisältää asetukset kaikille käyttäjille, myös sisään- ja uloskirjautuneille käyttäjille, joten älä sekoita tätä avainta HKCU:han.
  • HKEY_CURRENT_CONFIG (HKCC): yksinkertaisemmin sanottuna se on pseudojuuriavain, koska se on suora linkki HKLM-juuriavaimen nykyisiin laitteistoprofiiliasetuksiin.

Osion parametrit

Jokaisella juuriavaimella on omat osiot ja jokaisella osalla on omat parametrinsa. Jokainen osa voi luoda 6 erityyppistä parametria, ja näiden parametrien arvot ovat täysin riippuvaisia ​​kohdeohjelmasta ja/tai kokoonpanovaatimuksista.

Yleisesti ottaen minkä tahansa version - 7.8 tai 10 - Windowsin rekisterieditorissa käytetään neljää päätyyppiä:

  • Merkkijonoparametri: koostuu pelkästä luettavasta tekstistä ja on yksi Windowsin rekisterin yleisimmin käytetyistä asetuksista.
  • Binääriparametri: Kuten nimestä voi päätellä, tämä parametri sisältää vain binääridataa (0, 1). Käytetään usein ottamaan käyttöön tai poistamaan käytöstä tietty ominaisuus.
  • ParametriDWORD (32 bittiä): samanlainen kuin binääriparametri, mutta pystyy tallentamaan minkä tahansa kokonaisluvun 32 bitin alueella. Suunniteltu toimimaan 32-bittisten järjestelmien kanssa, mutta sitä käytetään myös 64-bittisissä järjestelmissä taaksepäin yhteensopivuuden takaamiseksi.
  • ParametriQWORD (64 bittiä): Tämä parametri on melkein kuin DWORD, mutta se pystyy kuljettamaan minkä tahansa kokonaisluvun 64 bitin alueella. Voimme sanoa, että QWORD on suunniteltu toimimaan 64-bittisten järjestelmien kanssa.

Kuinka avata Windowsin rekisterieditori

Tämä rekisterin avaamistapa toimii riippumatta asennetusta Windows-versiosta - 7.8 tai 10:

Paina KEY + R KEY avataksesi Suorita-ikkunan. Kirjoita tai ja paina Enter tai OK. Jos User Account Control (UAC) -ikkuna tulee näkyviin, napsauta Kyllä.

Rekisterieditorin pääsuoritettava tiedosto sijaitsee hakemistossa C: \ Windows... Joten voit avata kyseisen kansion ja suorittaa regedit.exe-tiedoston suoraan tai voit yksinkertaisesti luoda pikakuvakkeen regedit.exe-tiedostoon sinulle sopivaan paikkaan.

Rekisterieditori: 64- ja 32-bittisille Windowsille

Windowsin 64-bittisten versioiden rekisteri koostuu 32- ja 64-bittisistä osista. Monilla 32-bittisillä osioilla on samat nimet kuin 64-bittisillä osioilla ja päinvastoin.

64-bittinen versio (oletus) (regedit.exe) näyttää sekä 64-bittiset että 32-bittiset osiot. Rekisterieditorin 64-bittisessä versiossa 32-bittiset avaimet näkyvät seuraavassa rekisteriavaimessa:

HKEY_LOCAL_MACHINE \ Ohjelmisto \ WOW6432Solmu

Voit tarkastella ja muokata 64- ja 32-bittisiä osia ja parametreja käyttämällä editorin 64-bittistä versiota. Jos haluat tarkastella tai muokata 64-bittisiä avaimia, sinun on käytettävä rekisterieditorin 64-bittistä versiota (regedit.exe). Voit myös muokata ja tarkastella 32-bittisiä avaimia ja arvoja käyttämällä 32-bittistä versiota (% systemroot \% Syswow64). Voit avata Rekisterieditorin 32-bittisen version seuraavasti:

  • Avaa Suorita-valintaikkuna.
  • Tulla sisään % systemroot% \ syswow64 \ regedit ja napsauta OK.

Huomautus

Ennen kuin avaat 32-bittisen version, sinun on suljettava Rekisterieditorin 64-bittinen versio (ja päinvastoin). Voit kuitenkin avata Rekisterieditorin toisen esiintymän. Jos esimerkiksi editorin 64-bittinen versio on jo käynnissä, kirjoita komento % systemroot% \ syswow64 \ regedit -m käynnistääksesi editorin 32-bittisen version.

Uusien osien ja parametrien luominen

Osioiden ja parametrien luominen on erittäin helppoa. Mutta ennen kuin teet mitään, varmuuskopioi Windowsin rekisteri, koska virheelliset asetukset tai tärkeiden kohteiden poistaminen voivat aiheuttaa kohtalokkaita virheitä.

Luo varmuuskopio napsauttamalla editoriikkunassa "Tiedosto -> Vie", syötä tiedostonimi ja tallenna se turvalliseen paikkaan.

Luo uusi osio napsauttamalla hiiren oikealla painikkeella juuritason avainta ja valitsemalla Uusi -> Osio. Uusi osio näyttää kansiolta, ja oletusarvoisesti sen nimi on "Uusi osio # 1". Tietenkin voit aina nimetä osan uudelleen. Sama menettely pätee aina, kun uusi aliavain on luotava.

Luo uusi parametri napsauttamalla hiiren kakkospainikkeella tyhjää aluetta editorin oikeanpuoleisessa ruudussa ja valitsemalla haluamasi parametri. Luodulle parametrille on annettava nimi; nimi riippuu täysin erityisvaatimuksista.

Jos haluat määrittää parametrille arvon, kaksoisnapsauta sitä ja anna arvo. Jälleen arvo riippuu ohjelmasta tai tietyistä asetuksista.

Rekisteriavaimien käyttöoikeudet

Vastaavasti tiettyjen NTFS-tiedostojärjestelmän objektien oikeuksien ja käyttöoikeuksien kanssa, sama suojaus on annettu rekisteriavaimille.

Windows Vistan ajoista lähtien suuri määrä käyttöjärjestelmäkohtaisia ​​rekisteriavaimia, jotka tallentavat Windows-asetukset, on suojattu Windowsin resurssien suojauksella, joten et voi vain poistaa tai muuttaa niitä. Et voi tehdä tätä ilman, että sinusta tulee niiden omistaja ja määritä niille käyttöoikeudet (käyttöoikeudet). Onneksi käyttöjärjestelmä sallii tämänkin, mutta manuaalinen menetelmä on liian ankea, joten on parempi käyttää yksinkertaista apuohjelmaa, joka automatisoi koko prosessin.

Siinä kaikki! Toivon, että yllä oleva on auttanut sinua ymmärtämään paremmin Windowsin rekisteriä ja sen pääkomponentteja. Jaa näkemyksesi ja kokemuksesi alla olevissa kommenteissa!

Hyvää päivän jatkoa!

Joten tänään keskustelussa keskitytään aiheeseen, joka ei vaikuta kovin tärkeältä, mutta itse asiassa erittäin tarpeelliselta jokaiselle Windows-käyttäjälle (ja heitä on ylivoimainen enemmistö) - siitä, mikä rekisteri on, mistä se koostuu, miksi sitä tarvitaan ja kuinka se tallennetaan roskikseen. Mikä rekisteri sitten on? Pohjimmiltaan tämä on valtava, hierarkkisesti jäsennelty tietokanta, joka perustuu käyttäjien pyyntöihin. Tätä tietokantaa tarvitaan järjestelmää koskevien tietojen järjestämiseen sekä niiden käytön optimoimiseen. Rekisteri sisältää paljon monipuolista tietoa sekä käyttöjärjestelmän tavallisista asetuksista että erilaisista hienosäätöasetuksista, mukaan lukien suojausasetukset ja työskentely matalan tason ohjelmien kanssa sekä ohjaimia.

Rekisteri ei ole ulkoinen ohjelma, se on osa käyttöjärjestelmää. Ntdetect etsii rekisteritiedostoja järjestelmän käynnistyessä ja lataa juuri tämän käynnistyksen parametrit sieltä. Rekisteriavaimien tuntemus ja niiden merkityksen tunteminen on välttämätöntä tehokkaan järjestelmänhallinnan kannalta. Ja myös ainakin perusdiagnostiikassa "miksi se ei toimi niin". Rekisteri on puumainen arvo/avainluettelojärjestelmä. Jotka ovat vastuussa tietyistä asetuksista. Lisäksi on pidettävä mielessä, että erilaiset avaimet voivat olla eri tyyppisiä - booleanista merkkijonoon.

Havainnollistava anatomia.

Joten kannattaa kertoa, mistä rekisteri fyysisesti koostuu ja miten se toimii. Kannattaa tehdä varaus heti. Että siinä muodossa, jossa rekisteri esitetään käyttäjälle, sitä ei tallenneta minnekään ja sen muokkaamiseen tarvitaan erityisiä ohjelmia - rekisterieditoreja. Normaali regedit.exe ja regedit32.exe ovat kunnossa. Järjestelmän konfiguroinnin ja asennuksen aikana muodostuu osa rekisteritiedoista, samoin kuin järjestelmän toiminnan aikana - toinen. Tämän seurauksena järjestelmän käynnistyessä muodostuu virtuaaliobjekti REGISTRY \, joka on rekisteri. Rekisterin muokkaamiseen, tarkastelemiseen ja tutkimiseen Windowsin tavallisilla työkaluilla (ohjelmat regedit.exe ja regedt32.exe) käytettävissä ovat rekisterihaarat. Rekisterin muokkauksen ja/tai muutosten tekemisen jälkeen nämä muutokset kirjoitetaan välittömästi tiedostoihin, jotka ovat rekisterin olennaisia ​​osia. Nämä ovat Windows 95:ssä ja Windows 98:ssa user.dat ja system.dat; Windows ME:ssä - user.dat, classes.dat ja system.dat. Järjestelmän myöhemmissä versioissa ilmestyi paljon suurempi määrä tarvittavia tiedostoja.

Tietoja puutteista ja siitä, kuinka huijarit ansaitsevat rahaa näillä puutteilla.

Itse asiassa järjestelmä on melko monimutkainen, mutta melko luotettava. Liian monimutkaisuuden vuoksi rekisteriä on vaikea pirstalla ja siksi - sen toiminnan nopeudella. Rekisterillä on myös taipumus tulla liian "lihavaksi" pitkän ajan kuluessa tapahtuvan tiedon kerääntymisen seurauksena, mikä myös vaikeuttaa sen toimintaa. Tämä ongelma ratkaistaan ​​erityisten ohjelmien avulla, jotka optimoivat ja puhdistavat rekisterin. Käsitellessäsi tätä ongelmaa itse, sinun tulee muistaa, että sinun ei pidä poistaa mitään rekisteristä, jos et tiedä sen tarkoitusta - tämä voi vahingoittaa järjestelmää vakavasti tai jopa poistaa sen kokonaan käytöstä. Lisäksi huijarit yrittävät tulla hyvin toimeen näissä ongelmissa - verkko on täynnä tarjouksia "lataa ohjelma rekisterin optimoimiseksi, jonka asennuksen jälkeen tietokone toimii 30% nopeammin". Yleensä tällaista tarjousta seuraa tekstiviestin lähetyslomake, joka vahvistaa aiemmat epäilyt. Sinun ei pitäisi kiinnittää huomiota sellaisiin asioihin ja vielä enemmän uskoa niihin - niin et menetä rahaa tai hermoja.

Rekisterin päähaarat, niiden merkitys ja tarkoitus.

HKEY_CLASSES_ROOT on linkki HKEY_LOCAL_MACHINE \ Software \ Classes. Tänne tallennetut tiedot varmistavat, että vaadittu ohjelma käynnistyy, kun avaat tiedoston Explorerilla. Tämä osio sisältää sovellusten ja tiedostotyyppien välisiä assosiaatioita sekä tietoja OLEsta.

HKEY_USERS - Tämä osio sisältää asetukset kaikille tietokoneen käyttäjille.

HKEY_CURRENT_USER - tämä haara on linkki tiettyyn sisäiseen aliavaimeen HKEY_USERS. Kaikki asetukset asetetaan sen mukaan, kuka käyttäjistä on tällä hetkellä järjestelmässä (eli mikä istunto on aktiivinen).

HKEY_LOCAL_MACHINE - Sisältää käytännössä tähän tietokoneeseen kuuluvat asetukset ja parametrit, mukaan lukien laitteistoasetukset, laitteiston määritykset ja käyttäjäprofiilit.

HKEY_CURRENT_CONFIG on pohjimmiltaan vain viittaus kohtaan HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Hardware Profiles \ Current. Sieltä löydät kaikki järjestelmän käynnistämiseen tarvittavat saapuvat laitteistoasetukset.

Yllä kirjoitettuja pääosia ei voi poistaa tai nimetä uudelleen. Jotkut rekisteriavaimet ovat haihtuvia eikä niitä tallenneta mihinkään tiedostoon. Käyttöjärjestelmä luo ja hallitsee nämä osiot kokonaan RAM-muistissa tallentamatta niitä kiintolevylle, joten ne ovat luonteeltaan väliaikaisia. Järjestelmä luo haihtuvia osioita joka kerta, kun se käynnistyy. Esimerkiksi HKEY_LOCAL_MACHINE \ HARDWARE on rekisteriavain, joka tallentaa tietoja laitteistoista ja niille osoitetuista resursseista. Resurssien osoittaminen ja laitteiston etsintä tapahtuu joka kerta, kun järjestelmä käynnistyy, joten on loogista ja luonnollista, että näitä tietoja ei tarvitse tallentaa pysyvästi kiintolevylle.

Kuinka säilyttää "jo hankittu".

Joskus on hyödyllistä tehdä varmuuskopio (varmuuskopio) järjestelmärekisteristä - sen vaurioitumisen pelossa. Tämä voi tapahtua epäonnistuneiden rekisterikokeiden, ohjainten virheellisen asennuksen ja monien kymmenien muiden syiden seurauksena. Eikä sen saaminen "varmuuden vuoksi" myöskään haittaa. Jotta et tekisi tätä manuaalisesti joka kerta, voit käyttää yhtä monista automaattisista varmuuskopiointiohjelmista, esimerkiksi Comodo Backupia.