KĄCIK MAJSTRA Rejestr systemowy Windows cz.2 Witam ponownie wszystkich zainteresowanych podejrzeniem "co w rejestrze piszczy". W drugiej części naszego cyklu zapoznamy się dokładnie z większością sekcji występujących w rejestrze Windows. Żeby nie przedłużać bierzemy się do dzieła: Jako pierwszy klucz weźmy HKEY_CLASSES_ROOT - jak już wspomniałem wcześniej klucz ten jest jedynie skrótem do innego klucza a mianowicie HKEY_LOCAL_MACHINE\Software\Classes. Z punktu widzenia użytkownika klucz ten zawiera tylko informacje o typach plików, ich wzajemnych powiązaniach z aplikacjami itd. Wydawać by się mogło ,że nie jest to nic interesującego. I faktycznie tak jest - większość zmian, których moglibyśmy dokonać modyfikując dane tego klucza można uzyskać w o wiele prostszy sposób używając do tego celu np. Eksploratora Windows. Z tego też względu na razie zostawimy ten klucz w spokoju i przejdziemy do następnego klucza: HKEY_LOCAL_MACHINE - podstawowy klucz konfiguracyjny Windows'a. W kluczu tym możemy znaleźć następujące sekcje: - Config - zawiera informacje o konfiguracji sprzętowej systemu. Jak zapewne Ci wiadomo ;) system Windows może obsługiwać kilka różnych konfiguracji sprzętowych np. możesz zdefiniować sobie w systemie, że posiadasz dwie konfiguracje systemu: pierwsza standardowa i druga z dołączonym przenośnym dyskiem twardym. Konfiguracje takie noszą w systemie nazwę profili sprzętowych. Teraz w momencie uruchamiania systemu przegląda on rejestr i na podstawie bieżącej konfiguracji sprzętowej wybiera odpowiednią konfigurację. Jeśli systemowi nie uda się rozpoznać żadnej z konfiguracji zwykle ładuje konfigurację domyślną lub zapytuje użytkownika o wybór jednej z możliwych. Właśnie te konfiguracje ukryte są w podkluczu Config. Kolejne konfiguracje zapisywane są z kolejnymi numerami 0001,0002,.....Same konfiguracje nie zawierają niczego szczególnego: parametry wyświetlania oraz trochę informacji o sprzęcie zawartych w podkluczu Enum. - Enum - kolejny ważny podklucz - przechowuje on informacje generowane przez enumeratory urządzeń typu Plug&Play. Znajdują się tam m.in. numer identyfikacyjny urządzenia, typ urządzenia, krótki opis, nazwa producenta, ew. litera dysku przypisana do danego urządzenia, określenie zasobów niezbędnych dla urządzenia itp. Klucz ten został podzielony na kilka podkluczy, które reprezentują grupy urządzeń. I tak : BIOS - zawiera informacje o sprzęcie rozpoznanym przez BIOS EISA - zawiera informacje o urządzeniach przyłączonych do magistrali EISA ESDI - informacje o dyskach twardych, birtualnych napędach CD-Rom itp. FLOP - osobny klucz zarezerwowany tylko dla stacji dyskietek HTREE - zawiera informacje o ustawieniach sprzętowych zdefiniowanych ręcznie przez użytkownika. Jeśli np. ktoś zarezerwował sobie przerwanie dla karty muzycznej to odpowiednia informacja o tym umieszczana jest właśnie w tym miejscu. ISAPNP - informacje o urządzeniach typu PNP przyłączonych do magistrali ISA MF - zawiera informacje konfiguracyjne kontrolerów dysków twardych Monitor - to wydaje się być oczywiste :) Network - informacje o protokołach sieciowych oraz ich powiązaniach PCI - urządzenia przyłączone do magistrali PCI Root - urządzenia niezgodne ze specyfikacją Plug&Play. Wpis zawiera listę sterowników dla tych urządzeń. SCSI - urządzenia przyłączone do magistrali SCSI Oczywiście powyższa list może być dłuższa lub krótsza w zależności od ilości sprzętu zainstalowanego w systemie. Dodatkowe klucze mogą zostać założone np. dla modemów, drukarek itd. - Hardware - kolejny podklucz HKEY_LOCAL_MACHINE - jest w zasadzie kluczem rzadko wykorzystywanym przez system. W zasadzie zawiera on jedynie informacje o typie procesora, które można sobie potem obejrzeć we Właściwościach - Mojego komputera. Do dziś pewnie chłopcy z MS zastanawiają się op co w ogóle ten klucz się pojawił w Windows'ie 95. Jedynym wytłumaczeniem jest próba zachowania kompatybilności rejestru Windows 9x z rejestrem Windows NT, gdzie klucz ten ma o wiele większe znaczenie. - Network - kolejna gałąź niezbyt często wykorzystywania i nie zawierająca żadnych użytecznych informacji. Zawiera w sobie jeden podklucz Logon, w którym zawarto domyślną nazwę użytkownika logującego się do systemu, nazwę sieci oraz o ile jest używany: nazwę skryptu logującego - Security - klucz wykorzystywany jedynie w pracy sieciowej z wykorzystaniem serwera. W kluczu tym zawarte są informacje o plikach konfiguracyjnych użytkowników o ich kontach oraz inne dane związane z zabezpieczeniem systemu. Wszystkie wisy w tym kluczu są generowane przez sieciowe systemy operacyjne takie jak np. NetWare, czy Windows NT. W przypadku używania sieci lokalnej typu peer-to-peer lub jej braku klucz ten pozostaje niewykorzystany. - Software - najbardziej rozbudowana gałąź HKEY_LOCAL_MACHINE. Zawiera informacje konfiguracyjne dla wszystkich aplikacji wykorzystywanych w systemie, o ile potrafią one korzystać z dobrodziejstw rejestru. Jednym z kluczy w tej gałęzi jest wspominany już wcześniej CLASSES. W zasadzie to w kluczu tym panuje pewien niepisany standard zapisu informacji. Otóż każda aplikacja rejestrująca się w rejestrze dokonuje tego właśnie w kluczu Software, przy czym przyjęto następującą konwencję: HKEY_LOOCAL_MACHINE\Software\nazwa_producenta\nazwa_aplikacji W kolejnych podkluczach umieszcza się dane konfiguracyjne dla poszczególnych aplikacji. Mogą to być np. ścieżki dostępu do plików 9choć standardowo informacje takie zawarte są w innym miejscu), numer wersji programu, data instalacji i cokolwiek czego zażyczył sobie autor aplikacji. Zwracam tutaj uwagę, że w kluczu HKEY_LOCAL_MACHINE zawarte są tylko informacje ogólne. Informacje bardziej szczegółowe, zmieniające się w zależności od zalogowanego użytkownika (np. rozmiar okienek, typy kursorów itp.) umieszczone są w odpowiednim kluczu HEY_CURRENT_USER. Wracając jednak do gałęzi Software. Interesujący jest tutaj klucz Microsoft\Windows\CurrenVersion (jak widać nawet MS się dostosował do niepisanego standardu :)). W kluczu tym można znaleźć m.in. takie podklucze jak: AppPaths - zawierający pełne ścieżki do aplikacji, taki odpowiednik zmiennej PATH z DOS-a Ekslporer/Desktop - zawiera informacje o ikonach standardowo zakładanych przez system i umieszczanych na pulpicie np. Koszu Eksplorer/ShellFolders - zawiera informacje o katalogach wykorzystywanych przez powłokę systemu m.in. katalog pulpitu Fonts - informacje o zainstalowanych czcionkach skalowalnych i nazwach plików z nimi związanych Fontsize - informacje o fontach nieskalowalnych oraz plików z nimi związanych MS-DOSoptions - zawiera dane wykorzystywane przy uruchamianiu trybu MS-DOS w oknie Network - informacje o udostępnionych zasobach sieciowych ScreenSavers - informacje o zainstalowanych wygaszaczach ekranu Klucz ten zawiera jeszcze masę innych kluczy, których tutaj nie wymieniłem. Zrobiłem to celowo, gdyż w następnych częściach większość z nich zostanie bliżej opisana. - System - jest ostatnim podkluczem HKEY_LOCAL_MACHINE zawiera konfiguracje sterowników pogrupowane za pomocą podklucza CurrentControlSet. Podklucz ten zawiera dany wykorzystywane na etapie inicjalizacji systemu i składa się zasadniczo z dwóch podkluczy: - Control - zawierający dane o podsystemach Windows - Services - zawierający informacje o sterownikach Zacznijmy od Control: gałąź ta zawiera informacje niezbędne do uruchomienia i zamknięcia systemu, układ klawiatury itp. W szczególności znaleźć tam można następujące klucze: - ComputerName - nazwa komputera widoczna w sieci - FileSystem - ustawienia systemu plików. Możemy tutaj np. wyłączyć sterowniki 32-bitowe - IDCOnfigDB - identyfikator bieżącego profilu sprzętowego oraz jego nazwa nadana przez użytkownika - Installedfiles - info o zainstalowanych plikach systemowych, wykorzystywanych np. przy zmianie wersji sterowników - KeyboardLayouts - lista bibliotek odpowiedzialnych za narodową obsługę klawiatur - MediaProperities - dane konfiguracyjne dla urządzeń multimedialnych - MediaResources - dane dla zasobów wykorzystywanych przez urządzenia multimedialne - NetworkProvider - konfigi sterowników sieciowych - Nls - konfiguracje lokalne. Wpisy zawierają informacje m.in. o kodach języków, których może używać Windows (polski to 415) oraz informacje o stronach kodowych znaków. - Print - informacje o zainstalowanych drukarkach, a w tym: - environments - sterowniki i procesy drukowania zainstalowane w danym środowisku - monitors - wskazuje biblioteki DLL, wykorzystywane w procesie monitorowania zachowania urządzeń. - printers - podstawowe informacje i drukarkach i wykorzystywanych przez nie portach, - providers - spis bibliotek wykorzystywanych przy drukowaniu przez sieć. - PwdProvider - zawiera spis bibliotek obsługujących zabezpieczenia hasłem. Podstawowe z nich to: - msnp32 - dla haseł sieci Mirosoft Network, - nwnp32 - dla haseł sieci Nowell Netware, - scrsave - dla haseł używanych przez wygaszacze ekranu. - session manager - bardzo ciekawy klucz zawierający informacje m.in. o: - łatach do aplikacji - sekcja AppPatches - aplikacji sprawiających kłopoty systemowi (bardzo ciekawa lektura ;)) - CheckBadApps - lista bibliotek, których wersje muszą zostać zawsze sprawdzone - checkVerDLLs oraz WarnVerDLLs - TimeZoneInformation - informacje o bieżącej strefie czasowej - Update - informacja o tym, czy Windows zainstalowany został na jakieś swojej poprzedniej wersji - nikt nie wie po co to jest - VMM32Files - lista plików używanych przez maszynę wirtualną VMM32. Drugim podkluczem w omawianej sesji jest SErvices. Zawiera on następujące podklucze: - Arbitratos - zawiera informacje o zasobach zarezerwowanych przez urządzenia typu Plug&Play - Class - zawiera wszystkie niezbędne informacje o klasach wykorzystywanych w systemie, a w szczególności :opisy plików, urządzeń, nazwy plików INF zawierających informacje konfiguracyjne - MSNP32 - podobnie jak w sekcji Config - zawiera informacje niezbędne do zalogowania się w Microsoft Network - Remote Access - zawiera spis protokołów i obsługujących je programów wykorzystywanych przy zdalnym łączeniem się z serwerami. - VxD - zawiera podklucze do wszystkich sterowników wirtualnych zainstalowanych w systemie - WinSock - zawiera informacje konfigurujące gniazdo Windows - używane do połączeń z Internetem. Tyle na dzisiaj. Następnym razem przedstawię resztę kluczy rejestru oraz podam kilka praktycznych przykładów na wykorzystanie rejestru systemowego Windows. Kikol |