Image

Preniknite do tajov registrov 1.

Registre fungujú ako hierarchická databáza obsahujúca rôzne systémové, konfiguračné, informačné alebo softvérové nastavenia, ktoré umožňujú fungovanie systému.

Aj keď ide „len“ o veľkú pasívnu kolekciu nastavení uložených na pevnom disku počítača, zohráva kľúčovú úlohu pri všetkých jeho aktivitách. Windows neurobí žiadnu operáciu bez toho aby predtým nekonzultoval registre, už či sa jedná o prezeranie súborov, editovanie dokumentov, surfovanie po internete atď. Pri inštalácii nového zariadenia Windows najprv priradí zdroje k zariadeniu na základe informácii z registrov a až potom uloží potrebné konfiguračné nastavenia pre dané zariadenie. Registre tiež umožňujú vývojárom organizovať dáta spôsobom, ktorý nebol možný v súboroch INI využívaných hlavne vo Windows v3.1. Určujú celkové správanie sa a vzhľad Windows, a zároveň kontrolujú aplikácie pod ním spustené. Vyššie opísané možnosti dávajú registrom potenciu stať sa silným nástrojom pre nastavenia, ktoré navyše často krát ani nie je možné robiť cez grafické užívateľské rozhranie. Po objasnení potrebných pojmov si postupne vysvetlime, ako na konfiguráciu registrov, ako sa o registre starať, ako ich zálohovať a ako ich bezpečne konfigurovať.

Základné pojmy
Nakoľko bez znalosti základných pojmov potrebných pre prácu s Registrami Windows, ich nie je možné dostatočne efektívne a bezpečne editovať, mali by ste venovať náležitú pozornosť a vážnosť nasledujúcim riadkom, ktoré vám ich pomôžu ozrejmiť.

Security Identifiers (SID)

Systémové účty, užívateľské účty, skupiny užívateľov a iné objekty sa riadia bezpečnostnými zásadami, ktoré určujú Security Identifiers (SID). Vždy, keď Windows XP alebo Active Directory vytvárajú bezpečnostné zásady vygenerujú pre ne SID. Local Security Authority (LSA) vo Widows XP generuje SID pre lokálnu politiku zabezpečenia a ukladá ich v lokálnej databáze zabezpečenia. Domain Security Authority (DSA) generuje SID pre politiku zabezpečenia v doméne a ukladá ich do Active Directory. Každý užívateľský účet má SID.
Príklad skutočného SID: S-1-5-21-1957994488-706699826-839522115-1219, ale aj S-1-5-18. SID vždy začína písmenom S.

Globally Unique Identifiers (GUID)
GUID sú čísla, ktoré identifikujú objekty, ako počítače, komponenty programov a iné zariadenia. Tieto objekty majú zvyčajne svoje názvy. GUID zostáva unikátne aj vtedy, ak dve zariadenia majú rovnaké mená alebo aj keď ich premenujeme. Všetky GUID majú stále ten istý formát. Sú to 16 bytové hexadecimálne čísla usporiadané v skupinách po 8, 4, 4, 4 a 12 číslic oddelených pomlčkou a uzatvorených svorkovou zátvorkou.

Príklad skutočného GUID: {21EC2020-3AEA-1069-A2DD-08002B30309D}, ktoré reprezentuje Ovládací panel.

Hexadecimálny zápis (Hexadecimal Notation)
V oblasti IT technológii desiatková sústava nemá príliš veľa priestoru, nakoľko sa ťažko aplikuje do počítačového systému jednotiek a núl. Binárna (dvojková) sústava je z toho hľadiska vyhovujúca, ale problémom je zložitý prevod medzi dvojkovou a desiatkovou sústavou. Riešením je hexadecimálna (šestnástková) sústava, pomocou ktorej je vykonaných 99 % zápisov v registroch. Tie sa potom jednoduchšie konvertujú na binárne. Hexadecimálnu sústavu reprezentujú číslice 0 – 9 a písmena A – F. Prevod medzi hexadecimálnym a binárnym zápisom je priamy, ale časovo náročný. Môžeme však použiť malý trik podľa uvedenej tabuľky.

Image

Pri prevode z hexadecimálnej do binárnej sústavy berieme stále skupinu 4 číslic z ľavá do pravá. Napríklad pri prevode binárneho čísla 01001110 na hexadecimálne, nájdeme binárnu hodnotu 0100 čo v tabuľke zodpovedá hexadecimálnej hodnote 4, potom nájdeme štvorčíslie 1110 čomu prislúcha hodnota E, čiže hexadecimálne číslo bude 4E. V prípade ak počet číslic v binárnom čísle nie je deliteľný štyrmi, doplníme potrebný počet núl z ľavej stany.

Pri prevode hexadecimálnych čísel na binárne ideme taktiež v poradí z ľavá do pravá po jednom znaku a zapisujeme binárne hodnoty z tabuľky. Napríklad pri prevode hexadecimálnej hodnoty 1B na binárnu nájdeme v tabuľke hexadecimálnu hodnotu 1 pričom binárny ekvivalent je 0001, potom nájdeme B kde ekvivalent je 1011. Teda celá binárna číselná hodnota je 00011011.
Istým problémom je číslo 12. Je to decimálne alebo hexadecimálne číslo? Keďže si nikdy nemôžme byť istý, riešením je vždy používať prefix 0x na začiatku hexadecimálneho čísla. Potom už nie je problém s istotou identifikovať, že 0x12 je hexadecimálne číslo a 12 je decimálne. 

Bity a Bit Masky
Nastavenia vo Windows XP sú niekedy zoskupené spolu v jednom čísle. Každý bit v tomto čísle je samostatné nastavenie. Preto v jednom byte môže byť uložených 8 nastavení, vo word-e 16, v dword-e 32 a v qword-e 64. Ak sa stretnete s inštrukciou, že nastavenie bitovej masky je 0x80, znamená to, že nastavenie aplikujete zapnutím bitu 7 (binárnu 0 zmeníme na binárnu 1), hodnota binárneho čísla v našom príklade (obr. 2) by sa potom zmenila na 11100111 .

Image

Binárne číslice bitov počítame z pravá do ľavá, začínajúc s 0 ako znázorňuje nasledujúci príklad. V ňom bit-y 0, 1, 2, 5 a 6 sú binárne 1, ostatné sú binárne 0. Ak sa stretnete s inštrukciou – zapnite bit 4, hodnota binárneho čísla sa zmení na 01110111. 

Binárna 1 ma význam ako Yes alebo True, binárna 0 ako No alebo False. Sú to hodnoty typu Boolean. Inštrukcie však nie sú stále také jasné ako v uvedenom príklade, preto musíme niekedy použiť trochu matematiky. Napríklad, ak máme zapnúť bit 0x20 v hexadecimálnom čísle 0x42. Začneme tým, že čísla najprv prevedieme na binárne hodnoty, kde 0x20 bude 00100000 a 0x42 bude 01000010. Z toho zistíme, ktorý bit bitová maska reprezentuje a zmeníme ho z 0 na 1. Potom prevedieme binárnu hodnotu späť na hexadecimálnu. Na výpočty je samozrejme najvhodnejšie použiť kalkulačku.

Little-Endian a Big-Endian
Little-Endian a Big-Endian sú vlastne spôsoby (poradie), akými programy ukladajú číselné hodnoty v pamäti. Ak program uloží číselnú hodnotu spôsobom Big-Endian, tak najprv je uložený v pamäti byte najvyššieho rádu. Nasledujú ho byty nižšieho rádu. Byty v ľavo sú vyššieho rádu, pretože sú násobené vyššou hodnotou zo 16. Napríklad hexadecimálne číslo 0x01020304 uložené v pamäti spôsobom Big-Endian bude vyzerať takto 0x01 0x02 0x03 0x04. Pozor si treba dávať na to, že procesory založené na architektúre Intel (každý počítač s x86 alebo Pentium mikroprocesorom) ukladajú hexadecimálne čísla v pamäti spôsobom Little-Endian. Čiže byte najnižšieho rádu je uložený v pamäti najskôr t.j. 0x01020304 – 0x04 0x03 0x02 0x01. Aj keď väčšina nástrojov na spravovanie registrov zobrazuje uložené hexadecimálne čísla spôsobom Little-Endian a Big-Endian správne, treba venovať zvýšenú pozornosť ak sú zobrazené v binárnom zápise, pretože použité nástroje neotočia automatický poradie bytov. Nezabudnite preto obrátiť ich poradie, aby pri Little-Endian číslo zobrazené v binárnom zápise 0x34 0x77 bolo po prevode na hexadecimálne v správnom poradí 0x7734.

V budúcom čísle pokračujeme s definíciou základných pojmov a začneme rozoberať štruktúru registrov.

Zdroj: Windows XP Registry Guide (Jerry Honeycutt)
Pomocník Windows XP (Microsoft Knowledge Base)

{moscomment}