SafeGroup

Pełna wersja: Konstrukcja plików naprawczych rejestru
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Konstrukcja plików naprawczych rejestru

Ostrzeżenie:
Bawicie się tym na własną odpowiedzialność. Jeśli ktoś nie czuje bluesa nawet po przeczytaniu tego manuala niech lepiej nie zabiera się za pomaganie innym.


[Aby zobaczyć linki, zarejestruj się tutaj]


Fix.regtworzony w notatniku ma za zadanie korektę wpisów rejestru, kiedy jest to konieczne. Zacznijmy od tego, czym jest windowsowy rejestr. Uruchamiając, edytor rejestru (Start -> Uruchom -> regedit)zobaczymy następujące okienko:

[Aby zobaczyć linki, zarejestruj się tutaj]


Najkrócej mówiąc, jest to baza danych konfiguracyjnych, w której znajdują się praktycznie wszystkie ustawienia. Dla bardziej zainteresowanych nieco literaturki:

[Aby zobaczyć linki, zarejestruj się tutaj]

,

[Aby zobaczyć linki, zarejestruj się tutaj]

,

[Aby zobaczyć linki, zarejestruj się tutaj]

i

[Aby zobaczyć linki, zarejestruj się tutaj]

.

Plik naprawczy składa się z nagłówka, klucza i ewentualnie wartości, jednakże te rzadko się nadaje, a przeważnie usuwa. Ogólny schemat:

Cytat: Nagłówek

[Jakiś_klucz]
"Wartość” = “typ danych”



Prosty fix.regod środka wygląda tak:

Cytat: Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionDrivers32]
"midimapper"="midimap.dll"


REGEDIT4 czy Windows Registry Editor Version 5.00?

Pierwsza linia to linia nagłówka, w której podajemy wersję edytora rejestru. Jest to albo REGEDIT4 (system Windows 98/NT) albo Windows Registry Editor Version 5.00 (dla systemu Windows 2000/XP/2003). Teoretycznie REGEDIT4 działa także w nowszych systemach, jednak w praktyce nie zawsze to się sprawdza. Po nagłówku ZAWSZE zostawiamy pustą linię, która go oddziela od kluczy. Taką samą pustą linię zostawiamy, jeśli chcemy w jednym pliku naprawczym umieścić kilka różnych kluczy. Np.

Cytat: Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{E6FB5E20-DE35-11CF-9C87-00AA005127ED}]
@="WebCheck"

[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{E6FB5E20-DE35-11CF-9C87-00AA005127ED}
InProcServer32]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,53,79,73,74,65,6d,33,32,5c,77,
65,62,63,68,65,63,6b,2e,64,6c,6c,00
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOTCLSID{E6FB5E20-DE35-11CF-9C87-00AA005127ED}InProcServer32]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,53,79,73,74,65,6d,33,32,5c,77,
65,62,63,68,65,63,6b,2e,64,6c,6c,00
"ThreadingModel"="Apartment"


Dobra, w takim razie co tam robi ta małpka i dziwne cyferki?

Znak @sprawia, że dana wartość staje się wartością domyślną (Default). Natomiast te nic nie mówiące nam cyferki to kod heksadecymalny, inaczej szesnastkowy. Poprawny zapis danej wartości wygląda właśnie tak. Dlaczego? Bo jest uniwersalny. Na szczęście takie fixy tworzymy rzadko.

Wartość „duch”?

Cytat: Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]
"System" = ""


Jak widać, “System” pozornie nie ma żadnej wartości. Ale dzięki dwóm cudzysłowom, wartość ta jest nadana i jest zwana wartością pustą . Nadajemy ją wtedy, kiedy dana wartość musi istnieć w systemie i jest wartością domyślną. Na szczęście nie będziemy się z tym spotykać za często.

Zapisuję plik, a on mi się otwiera w notatniku...

Żeby plik był czytany jako skrypt rejestru, musimy mu nadać specjalne rozszerzenie .reg . Robimy to w ten sposób:

Z menu Notatnika -> Plik -> Zapisz jako -> Zmień rozszerzenie z .txt na wszystkie pliki -> zapisz pod nazwą Fix.reg

Mam loga z Silent Runners i chcę usunąć szkodliwy wpis...

Zazwyczaj fixy tworzymy, usuwając dane wartości:

Cytat: Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun]
"isamonitor.exe"=-
"pmsngr.exe"=-


Jednak jest kilka pewnych sekcji, w których ciachamy całe klucze. Są to odpowiednio:

HKLMSoftwareMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects
HKLMSoftwareMicrosoftInternet ExplorerExtensions
HKLMSoftwareClasses*shellexContextMenuHandlers
HKLMSoftwareClassesFoldershellexColumnHandlers
HKLMSoftwareClassesDirectoryshellexContextMenuHandlers
HKLMSoftwareClassesFoldershellexContextMenuHandlers
HKLMSoftwareMicrosoftWindows NTCurrentVersionWinlogonNotify
HKLMSoftwareMicrosoftWindows NTCurrentVersionImage File Execution Options
HKLMSoftwareMicrosoftInternet ExplorerExplorer Bars
HKLMSoftwareClassesPROTOCOLSFilter
HKLMSoftwareClassesCLSID


Fix wtedy wygląda tak:

Cytat: Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects{9B2C40CC-AB58-FCDF-5000-FC3A8659719A}]


Ale w Silencie mam na początku tylko cztery literki, a ty wymyślasz tutaj jakieś local machine...

Windowsowy edytor rejestru nie potrafi czytać skrótów, więc niestety trzeba pisać ich pełne nazwy.
  • HKLM= HKEY_LOCAL_MACHINE
  • HKCU= HKEY_CURRENT_USER
  • HKU= HKEY_USERS
  • HKCR= HKEY_CLASSES_ROOT
  • HKCC= HKEY_CURRENT_CONFIG



Przykłady tworzenia

Wyobraźmy sobie, że w logu z Silenta mamy takie coś:
Cytat: HKLM SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun{++}
"none" = "CTonguerogram FilesVideo ActiveX Objectpmsngr.exe" [file not found]

Oraz wiemy, że wpis ten jest do usunięcia. Otwieramy więc notatnik i tworzymy plik naprawczy:
Cytat: Windows Registry Editor Version 5.00

[ HKEY_LOCAL_MACHINE SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun ]
"none" =-

Kolorami zaznaczyłam powtarzające się kawałki.

I teraz druga sytuacja. W logu z Silenta widzimy takie herezje:
Cytat: HKLM SoftwareMicrosoftWindows NTCurrentVersionWinlogonNotify
INFECTION WARNING! artm_newreg DLLName = "CGrinocuments and SettingsAll UsersDokumentySettingsartm_new.dll" [file not found]

W tym wypadku plik naprawczy wygląda tak:
Cytat: Windows Registry Editor Version 5.00

[ -HKEY_LOCAL_MACHINE SoftwareMicrosoftWindows NTCurrentVersionWinlogonNotify artm_newreg ]