Registry ĚŠĚ u j Be. Lukáš Patka Registry o centrální úložiště konfiguračních dat o nastavení HW, ovladačů, konfigurace OS, aplikací, lokálních zásad, uživatelských preferencí,.. • systémové nástroje (mmc, konfigurační dialogy) jsou jen user friendly rozhraní pro editaci registru o hierarchická struktura o jednotný formát o možnost nastavení oprávnění Trocha historie o MS-DOS Config.sys - načtení ovladačů o device=c:\windows\himem.sys device=c: \windows\emm386.exe dos=umb, high, auto files=150 device=c:\dos\CDromDriver.sys device=c:\dos\SoundDriver.sys device=C:\WINDOWS\COMMAND\display.sys con = (ega„l) Country=042,852,C:\WINDOWS\COMMAND\country.sys Autoexec.bat - spuštění programu, proměnné prostředí o mode con codepage prepare=((852) C:\WINDOWS\COMMAND\ega.cpi) mode con codepage select=852 keyb cz„C:\WINDOWS\COMMAND\keybrd2.sys LH c:\windows\command\mscdex.exe LH c:\dos\mouse.com PATH=C:\DOS;C:\WINDOWS každá aplikace si ukládá nastavení po svém Trocha historie o Windows 3.0 *.INI - ukládání nastavení do textových souboru o [mysqld] default-character-set = utf8 language = english max-connections = 60 o plochá struktura, komplikované ukládání bijwních hodnot, nestandardizovane (podobná nastavení v různých aplikacích nemají jednotný formát) o Windows 3.1 zrod registru o vytvořeny pro ukládání informací o typech souborů, registrace OLE objektu o Windows 95 .. Registry se stávají „srdcem a duší systému" Struktura registrů o Subtree • HKEY_LOCAL_MACHINE (HKLM) • HKEYJJSERS (HKU) pro snazší orientaci jsou předdefinovány další subtrees (odkazují do výše uvedených kořenových subtrees): o HKEY_CLASSES_ROOT (HKCR) HKLM\Software\Classes + HKCU\Software\Classes o HKEY_CURRENT_USER (HKCU) HKU\"SID aktuálně přihlášeného uživatele" o HKEY_CURRENT_CONFIG (HKCG) HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current o Key obdoba složek/podsložek o Entry každý key má alespoň jeden entry (default) každý entry má 3 položky: název, typ, hodnota Datové typy o REG_SZ • String o REG_BINARY binární data (hexadecimálně) o REG_DWORD • 1-8 hexa číslic (32b) o REG_MULTI_SZ • víceřádkový String • null (0x00) ukončuje řádek, 2x null ukončuje celý seznam o REG_EXPAND_SZ String + expanze proměnných (%systemroot%) Hive files, HKLM o o fyzická reprezentace registrů na disku HKLM %SystemRoot% \System32\config HKLM\SAM SAM, SAM.LOG HKLM\SECURITY SECURITY, SECURITY.LOG HKLM\SOFTWARE Software, Software.log, Software.sav HKLM\SYSTEM System, System.log, System.sav o bez přípony: hive file .alt: System.alt je záložní kopie System hive, ve WinXP se nepoužívá .log: transakční log pro danou hive, pokud systém během updatů rejgistru zhavaruje, po restartu je na základě info z .log obnoven do původního stavu .sav: záložní kopie dané hive vytvořená po dokončení text-mode fáze instalace systému, pokud selže graphic-mode fáze instalace -> po restartu se obnoví hive files a zopakuje se jen graphic-mode fáze instalace, updatují se pouze v případe reinstalace (opravy) systému HKLM\SYSTEM\CurrentControlSet\Control\hivelist Hive files, HKU o HKU HKU\SID %UserProfile% \NTUSER.DAT HKU\SID_Classes %UserProfile% \Local Settings\Application Data\Microsoft\Windows\UsrClass.dat HKUVDefault %SystemRoot%\System32\config\default o HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList seznam hive files všech uživatelů HKEY CLASSES ROOT přípony souboru, asociace přípon s typem souboru HKCR\.txt\(Default) = „txtfile" HKCR\*\OpenWithl_Ist Definice tříd Úplný název typu souboru o HKCR\txtfile\(Default) = „Text document" Příkazy pro otevření/tisk daného typu souboru o HKCR\txtfile\shell\open\command = „%SystemRoot%\system32\NOTEPAD.EXE %1 " o HKCR\txtfile\shell\print\command = „%SystemRoot%\system32\NOTEPAD.EXE/p %1 " Informace pro správu embedded objektů daného typu souboru přidělení ikony, povolení quick view CLSID (class identifier) Každý OLE objekt má jedinečný class identifier HKCR\CLSID My Computer{20D04FE0-3AEA-1069-A2D8-08002B30309D} o Administrative Tools{D20EA4El-3957-llD2-A40B-0C5020524153} o Run{2559AlF3-21D7-llD4-BDAF-00C04F60B9F0} Samotné třídy obvykle editovat nepotřebujeme jejich identifikátory můžeme využít v dalších klíčích, př: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\Ne wStartPanel HKEY CURRENT USER o nastavení interaktivně přihlášeného uživatele AppEvents- přiřazení zvuků různým událostem (otevření menu, odhlášení ..) Console- nastavení konzolí (character-mode applications), včetně príkazového radku Control Panel- nastavení, která běžně konfigurujeme přes ovládací panely Environment- uživatelské proměnné prostředí Identities- definice identit pro MS Outlook Express Keyboard Layout- přidání/odebrání rozložení klávesnice (Keyboard Layout\Preload) Network- mapované sítové disky Printers- uživatelské preference tiskáren Software- standardizovaná struktura Software\výrobce\program\verze o Software\Microsoft\Windows\CurrentVersion Volatile Environment- proměnné nadefinované pro danou session, neukládají se po odhlásení H KEY LOCAL MACHINE o nastavení HW, nastavení systému a aplikací vztahující se na všechny uživatele HARDWARE. Stores data describing the hardware that Windows detects as it starts. The operating system creates this key each time it starts, and it includes information about devices and the device drivers and resources associated with them. This key contains information that IT professionals find useful during a network inventory. SAM (Security Accounts Manager)- databáze uživatelských účtů a skupin o oprávnění pro čtení nemá ani skupina Administrators o odkazuje do HKLM\SECURITY\SAM SECURITY- bezpečnostní nastavení systému o oprávnění pro čtení nemá ani skupina Administrators SOFTWARE- nastavení SW vztahující se na všechny uživatele o Klíče mají stejnou strukturu jako HKCU\Software SYSTÉM- konfigurace HW, služeb o Systém obsahuje alespoň dva ControlSets (aktuální a záložní) o HKLM\SYSTEM\CurrentControlSet odkazuje na aktuální ControlSet o HKLM\SYSTEM\Select určuje role uložených ControlSets Current, Default, Failed, Last known good HKEY USERS o Uživatelská nastavení SW • .Default- nastavení, které systém použije pro zobrazení plochy předtím než dojde k přihlášení uživatele Neplést s default user profile • SID- nastavení uživatele s daným SID o whoami /user /sid ..zobrazí SID přihlášeného uživatele • SID_Classes- uživatelské definice tříd, uživatelské asociace přípon s typem souboru Nástroje pro správu registrů o regedit o reg /query /add /delete /save /restore .. o SublnACL (http://support.microsoft.com/kb/265360) o regmon (http://www, microsoft.com/technet/sysinternals/utilitie s/reqmon.mspx) o API: RegCloseKey, RegOpenKey, RegConnectRegistry, RegCreateKey, ..