Anatomia Rejestru i podstawy edycji

Transkrypt

Anatomia Rejestru i podstawy edycji
Anatomia Rejestru i podstawy edycji
O Rejestrze Windows miałam juŜ okazję pisać, skupiając się na problemie jego optymalizacji i niektórych
modyfikacjach, pozwalających na indywidualne dostosowanie systemu. Dostrzegam jednak pewien błąd, jakim było
pominięcie podstawowych informacji o strukturze Rejestru i jego składnikach. Na ile pozwala moja praktyka
chciałabym ten błąd naprawić. Z całą pewnością nie wyjaśnię wszystkiego. Mam jednak nadzieję, Ŝe podejmując ten
temat uchylę nieco tajemnic i dodam więcej odwagi tym, którzy dopiero zaczynają tę przygodę.
Mówiąc ogólnie - Rejestr to baza danych, w której przechowywane są informacje o konfiguracji systemów
operacyjnych Windows serii 9x (95/98/Me) oraz NT, do których naleŜą: NT, 2000 i XP. Zawiera ona informacje i
ustawienia dotyczące sprzętu, oprogramowania, uŜytkowników oraz ich indywidualnych preferencji. Z bazy danych
Rejestru korzysta oczywiście Windows, a takŜe pracujące w nim aplikacje. Zmieniając jakiekolwiek ustawienia czy
instalując nowe oprogramowanie dokonujemy jednocześnie zmian w Rejestrze.
W sensie fizycznym na Rejestr składają się konkretne pliki, których nazwy i połoŜenie są róŜne w poszczególnych
wersjach systemu.
•
•
•
w systemach Windows 95 i 98 są to ukryte pliki user.dat i system.dat znajdujące się w folderze
systemowym (najczęściej C:\Windows)
w Windows Me część rejestru zawiera dodatkowo plik classes.dat
w systemach NT Rejestr znajduje się w folderze Windows\System32\Config i w folderze Documents and
Settings\nazwa uŜytkownika\ntuser.dat
Do przeglądania Rejestru i jego modyfikacji słuŜy wbudowa ne w
Windows narzędzie o nazwie Edytor Rejestru.
Nie moŜna jednak dostać się do niego bezpośrednio z pozio mu menu
Start. To niejako forma zabezpieczenia przed przypadkowym dostępem
niedoświadczonego uŜytkownika. Niestety - jak wielokrotnie
wspominałam usuwanie wpisów lub ich nieprzemyślana modyfikacja
moŜe czasami skoń- czyć się reinstalacją całego systemu.
Aby uruchomić Edytor Rejestru klikamy na przycisk Start, następnie
wybieramy polecenie "Uruchom". W oknie, które się pojawi wpisujemy
"regedit" i klikamy na OK.
Otwiera się okno, które przypomina Eksploratora Windows. W lewej
części znajduje się 5 (tę stronę przygotowuję korzystając z systemu
XP), a w systemach operacyjnych Windows 9x - 6 Ŝółtych ikon. Są to
odpowiedniki folderów zwane kluczami. Po kliknięciu na widoczne
obok znaczniki "+" uzyskujemy oczywiście dostęp do kolejnych gałęzi
drzewa kluczy.
Kliknięcie na klucz powoduje, Ŝe w prawym oknie pojawiają się odpowiedniki plików zwane w Rejestrze
"Wartościami" (rys. powyŜej). ŚcieŜka dostępu do danej wartości wyświetlana jest na pasku stanu edytora (rys.
poniŜej). Rejestr jest zatem podzielony na 5 lub 6 zasadniczych kluczy.
Spróbujmy się teraz przyjrzeć ich
przeznaczeniu.
zawiera informacje o wszystkich skojarzeniach plików, skrótach i innych
elementach interfejsu uŜytkownika jak menu konteksto- we. Jest to inna nazwa
gałęzi klucza HKEY_LOCAL_MACHINE.
to alias podgałęzi klucza Rejestru HKEY_USERS, odnoszącej się do uŜytkownika
właśnie zalogowanego na komputerze. Informacje tu zawarte to między innymi
ustawienia pulpitu czy menu Start oraz ustawienia zainstalowanych programów.
ten klucz zawiera informacje dotyczące komputera: typu sprzętu oraz
sterowników, a takŜe podstawowych ustawień aplikacji. Są to dane wspólne dla
wszystkich uŜytkowników peceta.
zawiera indywidualne ustawienia kaŜdego z uŜytkowników kom- putera
jest aliansem podgałęzi klucza HKEY_LOCAL_MACHINE i pokazuje aktualną
konfigurację sprzętową komputera.
jest wyodrębnionym jedynie w systemach linii Windows 9x alia- sem podgałęzi
klucza rejestru HKEY_LOCAL_MACHINE i zawiera dynamiczne, przechowywane
w pamięci RAM ustawienia sprzętowe.
W systemach linii NT uŜytkownik nie posiadający dostępu do konta administratora nie moŜe dokonywać Ŝadnych
modyfikacji w podstawowych kluczach z wyjątkiem swoich ustawień osobistych zawartych w kluczu HKEY_CURRENT_
USER.
Podobnie jak istnieją róŜne formaty plików tak samo w Rejestrze moŜemy odnaleźć róŜne typy wartości, a kaŜdy z
nich pełni inną rolę.
Wartość DWORD moŜe zawierać liczby o długości maksymalnej 32 bitów (232). Typ DWORD jest teŜ uŜywany do
przechowywania danych logicznych: 0 - wyłączony, 1 - włączo ny. Korzystaliśmy z nich uprzednio przy
modyfikowaniu niektórych ustawień.
Wartość binarna moŜe przechowywać dane zawierające liczby dłuŜsze niŜ DWORD. Edytor Rejestru wyświetla je w
postaci szesnastkowej.
Wartość ciągu - przechowuje dane tekstowe, takie jak na przykład ścieŜka dostępu do pliku.
Wartość ciągu rozwijanego występuje tylko w systemach Windows NT, 2000 i XP. Zawiera zmienne, które zostaną
zastąpione przez właściwe dane, kiedy zaŜąda ich aplikacja.
W systemach linii NT występuje teŜ Wartość wielociągu zawierająca kilka danych ciągu oddzielonych separatorem np.
spacją lub gwiazdką.
Pomimo, Ŝe wartości kluczy nadal pozostają "czarną magią"
korzystanie z nich i modyfikacja wcale nie są takie trudne jeŜeli
logicznie przeanalizuje się ich zawartość.
Dla przykładu w kluczu HKEY_CURRENT_USER - Control Panel i
Colors moŜemy zmienić domyślne ustawienia wszystkich kolorów
systemowych inter- fejsu i w ten sposób zindywidualizować
swoje ustawie
nia, które graficznie nie będą róŜnić się od pozostałych uŜytkowników.
To jednak co u innych jest systemowo niebieskie, u mnie moŜe mieć odcień lekko fioletowy itp.
Na pozór skomplikowane wartości ciągu dword są bowiem niczym innym jak parametrami barw składowych RGB.
Przedstawiony przykład jest opisem barw stosowanych w przycisku paska tytułowego w klasycznym schemacie
Windows XP.
Na kolejnej stronie sporządzimy kopię rejestru. Wykorzystując Notatnik wprowadzimy zmiany metodą skryptu, który
wyeksportujemy następnie do Rejestru Windows.
Ciekawą funkcją Edytora Rejestru jest moŜliwość importowania i eksportowania ustawień Rejestru do
pliku tekstowego. Plik ten jest rozpoznawany przez edytor dzięki unikalnemu rozszerzeniu .reg.
Podwójne kliknięcie na taki plik eksportuje zawarte w nim dane do Rejestru. To właśnie dzięki tej
właściwości moŜemy sporządzić kopię rejestru i w kaŜdej chwili go przywrócić.
Szansę taką daje równieŜ sam system, który kaŜdego dnia, niezaleŜnie od nas, wykonuje kopię Rejestru. W razie
dostrzeŜonej awarii moŜna przywrócić Rejestr i prawidłową konfigurację np. z poprzedniego dnia. Jak to zrobić? - z
pewnością podpowiem.
Ta właściwość rodzi jednak pewne niebezpieczeństwo. JeŜeli zdarzy się
nam trafić na jakiś plik z rozszerzeniem .reg a nie wiemy jakie
modyfikacje są w nim zawarte lepiej go nie dotykać. W najgorszym
razie moŜemy nawet poŜegnać się z systemem i poszukać czasu na
reinstalację.
Aby wyeksportować cały Rejestr (zrobić jego kopię) w oknie edytora
klikamy na ikonę "Mój Komputer", a następnie z menu wybieramy "Rejestr"
i polecenie "Eksportuj plik Rejestru". W oknie, które się pojawi, wpisujemy
nazwę pliku (ja oznaczyłam go uŜywając daty) oraz zaznaczamy pole
"Wszystko". Jak widać na przykładowym rysunku, moŜna równieŜ
eksportować dowolną gałąź rejestru, a nawet pojedynczy klucz który
zamierzamy zmodyfikować.
W takim przypadku w lewym oknie zaznaczamy gałąź (klucz) a precyzując zakres eksportu oznaczamy "Wybrana
gałąź". Aby lepiej zrozumieć zasady edycji wartości Rejestru posłuŜę się przykładem:
Wyobraźmy sobie, Ŝe modyfikując re- jestr
dokonaliśmy usunięcia opcji "Wylo- guj" z menu
Start. W tym celu zmieni- liśmy odpowiednią
wartość DWORD w kluczu HKEY_CURRENT_USER
(jak? - kliknij). Komuś, kto narzekał równieŜ na
nieprzydatność tej funkcji chcemy zapro- ponować
identyczną modyfikację.
Zamiast tłumaczenia zawiłości tego pro- cesu
chcemy pomóc udostępniając kopię
odpowiedniego klucza rejestru.
Zaznaczając w edytorze klucz (ścieŜka oznaczona
na niebiesko) przygotowaliś- my plik log.reg.
Zgrywając go na dyskiet kę i przekazując tej
osobie z pewnością zrobimy jej nie tyle dobrą
przysługę co niezły kawał.
Otwierając ten plik w Notatniku zauwaŜy- my, Ŝe
klucz zawiera o wiele więcej wartości niŜ ta, o
którą chodziło. Oprócz wartości DWORD 00000001
przy pozycji "NoLogoff" mamy identyczną wartość
przy pozycji "NoRecentDocsMenu", a to oznacza,
Ŝe usunęliśmy takŜe dostęp do historii ostatnio
otwieranych dokumentów w menu Start.
Takich zmian mogliśmy dokonać znacz- nie więcej
i przy zaimportowaniu takiego pliku funkcje te
automatycznie zostałyby usunięte równieŜ na
innym komputerze. A przecieŜ nie o to chodziło.
MoŜemy jednak ten plik odpowiednio
zmodyfikować.
Co więcej moŜemy stworzyć taki plik od podstaw w notatniku i zapisując go z rozszerzeniem .reg nadać mu postać
pliku rejestru, który da się zaimportować. W ten sposób tworzymy skrypt. Aby to było moŜliwe przyjrzyjmy się
tekstowej postaci pliku rejestru.
Nagłówek zawiera informację o typie pliku oraz jego wersji. W naszym przypadku REGEDIT4 oznacza, Ŝe jest to plik
w systemie Windows 9x. W przypadku Windows XP nagłówek będzie miał postać następującą:
Pod treścią nagłówka znajdujemy ścieŜkę dostępu
do klucza. Uwaga! ŚcieŜka pokazana na rysunku i
oznaczona niebieskim polem, została dla potrzeb
tej strony podzielona na trzy wiersze.
Tworząc skrypt musimy ją bezwzględnie zapisać w jednym wierszu bez uŜywania klawisza Enter.
Bezpośrednio pod ścieŜką mamy listę wartości. KaŜda jest umieszczona w oddzielnym wierszu, a jej nazwa ujęta w
cudzysłów. Po znaku równości znajdują się dane wartości, a typ wartości ilustruje składnia zapisu. Spróbujmy je
zidentyfikować:
Wartość DWORD zawiera po znaku równości nazwę dword i po dwukropku dane np.
(wartość logiczna 1 oznacza "wykonaj polecenie" - nie pokazuj
Wartość ciągu zawiera po znaku równości dane w cudzysłowie np:
(czas po którym nastąpi uruchomienie wygaszacza określono na 60 sek)
Wartość binarna, po znaku równości zawiera wyraŜenie hex i po dwukropku wartości szesnastkowe oddzielone
przecinkami np:
funkcji automatycznego uruchamiania krąŜków - autorun.
(ta konkretna wartość decyduje o
KaŜdy klucz rejestru zawiera teŜ wartość ciągu o nazwie "Domyślna", która w systemach linii Windows 9x jest z
reguły nieokreślona. W serii NT np. Windows XP występuje najczęściej w postaci nazwy i tym samym lepiej pozwala
zorientować się uŜytkownikowi w zastosowaniu innych wartości klucza np:
Jak widać w pliku tekstowym .reg oznaczana jest symbolem @.
Aby przygotować właściwy skrypt modyfikujący tylko jedną wybraną wartość musi zatem pozostawić w pliku tyko:
•
•
•
nagłówek zaleŜny od wersji systemu
ścieŜkę dostępu do klucza
zmodyfikowaną wartość
Stąd jeden wniosek - jeŜeli nasza modyfikacja ma dotyczyć usunięcia wybranego klucza to wskazana metoda nie
będzie skuteczna.
A teraz dwa małe tricki, które przygotujemy właśnie w postaci pliku tekstowego (skryptu), nadamy mu następnie
rozszerzenie .reg i wyeksportujemy do Rejestru.
Modyfikacja systemowych postaci skrótów - napis
Kiedy tworzymy w Windows skrót do pliku, katalogu czy dokumentu system oznacza ikonę specjalną
strzałką i napisem "Skrót do ...". Z reguły kaŜdy usuwa potem tę część nazwy, aby podpis pod ikoną
wyglądał estetycznie. Wprowadzając odpowiednią zmianę moŜemy spowodować aby ten dodatkowy
napis nie pojawiał się nigdy. W tym celu przygotujemy skrypt (plik .reg) o treści jak na rysunku
poniŜej.
Wartość binarna przywracająca napis ma standardową postać: 1e 00 00 00
Przyspieszanie dostępu do menu i list rozwijanych
Gdy klikamy na przycisk Start a następnie przeciągamy kursor na pozycję ze strzałką, wywołujemy na ekran
podmenu.
Za kaŜdym razem musimy jednak chwilę
odczekać zanim ujrzymy jego zawartość
na ekranie. To moŜe być denerwujące.
Z tej animacji pozwoli nam zrezygnować
skrypt po prawej. Standardowo nie ma w
Rejestrze tej wartości.
A teraz zachęcam do eksperymentowania. JeŜeli posiadacie jeszcze jakieś tricki związane z Rejestrem, albo uzyskacie
ciekawe i przydatne efekty własnych doświadczeń - napiszcie do mnie. Chętnie je dołączę, oczywiście nie
zapominając o Autorze.