Malware Removal Information

Ga naar de inhoud

Hoofdmenu

Register

Informatie

Inleiding

Het register wordt wel eens het hart van windows genoemd. Terecht want al de instellingen van de computer, de hard- en software, info van de gebruikers worden in deze enorme database opgeslagen.
Om het register te kunnen bewerken heeft windows een registereditor aan boord: regedit.exe.
Het bewerken van deze database houdt echter risico's in. Wijzigingen die je doorvoert worden ook effectief doorgevoerd, een undo functie is niet aanwezig.
Niet alle wijzigingen zijn onmiddellijk van kracht, sommigen gebeuren pas na een herstart.



2. Hives

Het register bestaat uit verschillende onderdelen, hives genoemd:

  • HKEY_CLASSES_ROOT

  • HKEY_CURRENT_USER

  • HKEY_LOCAL_MACHINE

  • HKEY_USERS

  • HKEY_CURRENT_CONFIG

Hierbij staat HKEY voor HandleKEY.

HKEY_CLASSES_ROOT

Deze sleutel bevat informatie over geregistreerde programma's, zoals de bestandsnamen associaties en de com classes registraties.
Hierin wordt ondermeer opgeslagen welke programma's gestart worden wanneer je een bestand opent met een bepaalde extensie.
De sleutel is eigenlijk een combinatie van HKEY_LOCAL_MACHINE\SOFTWARE\Classes en de HKEY_CURRENT_USER\Software\Classes.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes omvat de standaard settings voor alle gebruikers op de computer, HKEY_CURRENT_USER\Software\Classes bevat instellingen specifiek voor de ingelogde gebruiker.
Indien een bepaalde setting onder beide sleutels voorkomt, dan krijgt deze onder HKEY_CURRENT_USER de voorkeur.

HKEY_CURRENT_USER

Deze sleutel bevat de gegevens die gelden voor de op dat moment ingelogde gebruiker.
De sleutel is eigenlijk een link naar een subsleutel van HKEY_USERS die refereert naar de ingelogde gebruiker.
De gebruikersinstellingen worden opgeslagen in de bestanden:
%userprofile%\NTUSER.DAT
%userprofile%\Local Settings\Application Data\Microsoft\Windows\USRCLASS.DAT

HKEY_LOCAL_MACHINE

Deze sleutel bevat informatie over het besturingssysteem, de hardware, het geheugen, de geïnstalleerde software, drivers, services, welke programma's en bestanden geladen worden bij het opstarten.
HKEY_LOCAL_MACHINE omvat de volgende subsleutels: SAM, SECURITY, SOFTWARE, SYSTEM en HARDWARE
De instellingen voor de eerste vier subsleutels worden opgeslagen in verschillende bestanden:
%windir%\system32\config\DEFAULT
%windir%\system32\config\SAM
%windir%\system32\config\SECURITY
%windir%\system32\config\SOFTWARE
%windir%\system32\config\SYSTEM

Het bestand SYSTEM bevat informatie over de drivers en de services.
Het bestand SOFTWARE bevat informatie over de windows settings en de geïnstalleerde programma's
De bestanden SAM en SECURITY bevatten info over de gebruikersrechten, de gebruikers binnen een domein of werkgroep en over de inloggegevens (wachtwoorden).
De info van de subsleutel HARDWARE wordt niet opgeslagen in een bestand.

HKEY_USERS

Deze sleutel bevat alle gebruikersprofielen.
Wanneer iemand inlogt op de computer wordt hier het juiste profiel gekozen en dat profiel wordt geladen/getoond onder HKCU, de current user.
Elke account (gebruiker, computer) staat onder HKEY_USERS geregistreerd met een SID (Security Identifier).
Aan een SID zijn rechten gekoppeld en hiermee wordt binnen een netwerk of NT-systeem bepaald wat je kan en niet kan, waar je toegang hebt en waar niet.
Vb van een SID:
S-1-5-21-462729384-3288775363-3524172073-1000
Een SID start steeds met een S.
De 1 is het versienummer van de SID.
Daarna volgt het authoriteitsnummer, hier nummer 5. Dit kan een andere waarde hebben, maar meestal is het 5 en dat staat voor de NT authority.
462729384-3288775363-3524172073 is de domain of de local computer identifier.
De 1000 staat voor de relative ID (RID), en voor elke gebruiker of groep die niet standaard aangemaakt wordt is deze waarde gelijk aan 1000, of hoger dan 1000.

HKEY_CURRENT_CONFIG

Deze sleutel bevat alle informatie over het hardwareprofiel dat geladen wordt bij het opstarten.
In deze sleutel staat eigenlijk geen data, maar er wordt verwezen (gelinkt) naar de volgende sleutel: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current



Structuur en opbouw

Wanneer je de registereditor start zie je dat de structuur van het register een grote gelijkenis vertoont met de windows verkenner.



Je ziet 2 vensters. Het linkse scherm is het sleutelscherm. Elke map die je ziet in het sleutelscherm is een registersleutel.
Het rechtse venster is het waarde venster. Hier zie je de waarden die bij een registersleutel horen.
De naam van (register)waarden kan je vergelijken met de naam van het bestand in de windows verkenner.
Het type van de registerwaarde kan je vergelijken met de extensie van een bestand. Het geeft aan om welke type registerwaarde het gaat.
Het waardevenster bestaat uit 3 kolommen: Naam, Type en Gegevens.

Naam

Elke registerwaarde heeft een naam. Deze kan uit maximum 256 tekens bestaan.
Een backslash (\), een asterisk (*), of een vraagteken (?) zijn niet toegestaan in de naamgeving.
De namen in een registersleutel zijn unieke namen.

Type

Elke type bepaalt wat voor soort gegevens (data) deze waarde bevat.
De verschillende types zijn:

  • REG_BINARYDeze worden getoond in hexadecimale indeling.vb: 0x02 0xAB 0xA9 0x38 0x92 0x38 0xD9 0xEF

  • REG_DWORDDit type kan weergegeven worden in binaire, hexadecimale of in decimale indeling.vb: 0x00000003De parameters van services en drivers bv worden met dit type bepaald.Ook voor Boolean Flags wordt vaak dit type gebruikt: 0 = waar = ja, en 1 = onwaar = neen.Tijd wordt ook als een REG_DWORD opgeslagen. Dit gebeurt in milliseconden (1000 milliseconden = 1 seconde).

  • REG_EXPAND_SZDit gegevenstype bevat variabelen die door programma's of bv door services herleid worden.vb: REG_EXPAND_SZ %systemroot%\system32\svchost.exe -kDeze wordt herleid naar c:\windows\system32\svchost.exe -k.

  • REG_MULTI_SZDit gegevenstype kan meerdere waarden bevatten. De verschillende waarden worden gescheiden door scheidingstekens zoals een komma, spatie,..vb: netsvc onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost

  • REG_SZDit is een gegevenstype met een vaste lengte.Variabelen die in dit gegevenstype voorkomen worden niet herleid door de programma's.


Gegevens

Elke waarde kan leeg zijn, kan nul zijn, of kan gegevens (data) bevatten.
Elke registersleutel bevat minstens 1 waarde: de standaardwaarde.
Het kan zijn dat deze nul is, en dan wordt dit door de registereditor getoond als "waarde niet bepaald".



Het register op 64-bit systemen
De werking van het register op 64-bit systemen is niet evident.
In de loop van de voorbije jaren werd aan deze werking ook al heel wat gewijzigd.

Op 64-bits besturingssystemen moeten 64-bit programma's en ook 32-bit programma's gebruikt kunnen worden.
In het register vertaalt zich dit ook in verschillende delen: een deel voor 32-bit programma's, een deel voor 64-bit programma's.
Een 64-bit programma gebruikt vaak andere registersleutels en registerwaarden dan de 32-bit variant.
Een vrij complex iets, beide delen van het register zien er dan ook anders uit.
Om alles vlot te laten verlopen heeft men de registry redirector en de registry reflection in het leven geroepen.
Registry reflection wordt niet meer gebruikt in Windows 7 en Windows Server 2008 R2.


Wow6432Node - Registry redirector

Om de 32-bit applicaties probleemloos te laten werken, wordt de noodzakelijke info hiervoor opgeslagen in de volgende registersleutels en hun subsleutels:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node

  • HKEY_USERS\*\SOFTWARE\Classes\Wow6432Node


Deze 32-bit sleutels maken dus deel uit van het 64-bit gedeelte en bevinden zich op een bepaald knooppunt (node): de Wow6432Node.
De registry redirector zorgt dat de registersleutels op de juiste plaats aangemaakt worden. Installeer je een 32-bit applicatie dan zal de registry redirector er voor zorgen dat de registersleutels en registerwaarden aangemaakt worden onder HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node en niet onder HKEY_LOCAL_MACHINE\SOFTWARE.
Installeer je een 64-bit applicatie dan worden de nodige gegevens weggeschreven onder het 64-bit gedeelte, namelijk HKEY_LOCAL_MACHINE\SOFTWARE.
De registry redirection wordt uitgevoerd in user mode.


Gedeelde registersleutels

Sommige registersleutels worden gedeeld, ze worden zowel door 32-bit als door 64-bit applicaties gebruikt.
Deze registersleutels bestaan enkel in het registergedeelte van de 64-bit versie.

  • HKEY_LOCAL_MACHINE\Software\Classes\HCP

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Calais\Current

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Calais\Readers

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services

  • HKEY_LOCAL_MACHINE\Software\Microsoft\CTF\SystemShared

  • HKEY_LOCAL_MACHINE\Software\Microsoft\CTF\TIP

  • HKEY_LOCAL_MACHINE\Software\Microsoft\DFS

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Driver Signing

  • HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates

  • HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Non-Driver Signing

  • HKEY_LOCAL_MACHINE\Software\Microsoft\RAS

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Software\Microsoft\Shared Tools\MSInfo

  • HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates

  • HKEY_LOCAL_MACHINE\Software\Microsoft\TermServLicensing

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Transaction Server

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Group Policy

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\OC Mmanager

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Telephony\Locations

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontDpi

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontMapper

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\NetworkCards

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Print

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Ports

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Time Zones

  • HKEY_LOCAL_MACHINE\Software\Policies

  • HKEY_LOCAL_MACHINE\RegisteredApplications



Registry reflection

Van sommige sleutels bestaan 2 fysieke kopies in het register, eentje in het 64-bit gedeelte en eentje in het 32-bit gedeelte.
Wordt bij installatie van een 64-bit programma een registersleutel aangemaakt in het 64-bit gedeelte van 1 van onderstaande sleutels dan wordt deze sleutel met waardes ook gekopieerd naar het 32-bit gedeelte van het register. Wanneer de registersleutel gebruikt wordt door een 32-bit of door een 64-bit applicatie, wordt nu dus telkens de 64-bit registersleutel gebruikt.
Bij installatie van een 32-bit applicatie worden de gegevens weggeschreven in het 32-bit gedeelte van het register. De gegevens worden door de registry redirector ook gekopieerd naar het 64-bit gedeelte. Maakt een applicatie gebruik van deze registersleutel, dan zal dus telkens de 32-bit registersleutel gebruikt worden.
Degene (32-bit of 64-bit) die als laatste de sleutel wegschrijft in het register bepaalt welke variant (32-bit of 64-bit) gebruikt wordt.
Dit heet registry reflection of registry mirroring. De registersleutels die hiervoor in aanmerking komen zijn de volgende:

  • HKEY_LOCAL_MACHINE\Software\Classes

  • HKEY_LOCAL_MACHINE\Software\Classes\Appid

  • HKEY_LOCAL_MACHINE\Software\Microsoft\COM3

  • HKEY_LOCAL_MACHINE\Software\Microsoft\EventSystem

  • HKEY_LOCAL_MACHINE\Software\Microsoft\OLE

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc

  • HKEY_CURRENT_USER\Software\Classes

  • HKEY_CURRENT_USER\Software\Classes\Appid

  • HKEY_USERS\*\Software\Classes (of HKEY_USERS\*_Classes)(* staat voor de verschillende SID's)



Wijzigingen vanaf Windows 7 en Windows Server 2008 R2

WOW64 gebruikt geen registry reflection meer in Windows 7 en Windows Server 2008 R2. In plaats daarvan wordt gebruik gemaakt van shared registry keys.
Ook een aantal registersleutels die vroeger geredirect werden, worden nu geshared in Windows 7 en Windows Server 2008 R2:

  • HKEY_LOCAL_MACHINE\Software\Clients

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft\Notepad\DefaultFonts

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows\CurrentVersion\PreviewHandlers

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\Console

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\Gre_Initialize

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\Language Pack



Een overzicht van de gedeelde registersleutels op Windows 7 en Windows Server 2008 R2:

  • HKEY_LOCAL_MACHINE\Software\Classes\Appid

  • HKEY_LOCAL_MACHINE\Software\Classes\HCP

  • HKEY_LOCAL_MACHINE\Software\Clients

  • HKEY_LOCAL_MACHINE\Software\Microsoft\COM3

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Calais\Current

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Calais\Readers

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services

  • HKEY_LOCAL_MACHINE\Software\Microsoft\CTF\SystemShared

  • HKEY_LOCAL_MACHINE\Software\Microsoft\CTF\TIP

  • HKEY_LOCAL_MACHINE\Software\Microsoft\DFS

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Driver Signing

  • HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates

  • HKEY_LOCAL_MACHINE\Software\Microsoft\EventSystem

  • HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Non-Driver Signing

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft\Notepad\DefaultFonts

  • HKEY_LOCAL_MACHINE\Software\Microsoft\OLE

  • HKEY_LOCAL_MACHINE\Software\Microsoft\RAS

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Software\Microsoft\Shared Tools\MSInfo

  • HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates

  • HKEY_LOCAL_MACHINE\Software\Microsoft\TermServLicensing

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Transaction Server

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Group Policy

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows\CurrentVersion\PreviewHandlers

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\OC Mmanager

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Telephony\Locations

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\Console

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontDpi

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontMapper

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\Gre_Initialize

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

  • HKEY_LOCAL_MACHINE\sOFTWARE\Microsoft\Windows NT\CurrentVersion\Language Pack

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\NetworkCards

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Print

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Ports

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Time Zones

  • HKEY_LOCAL_MACHINE\Software\Policies

  • HKEY_LOCAL_MACHINE\RegisteredApplications

  • HKEY_CURRENT_USER\Software\Classes

  • HKEY_CURRENT_USER\Software\Classes\Appid

  • HKEY_USERS\*\Software\Classes (of HKEY_USERS\*_Classes)(* staat voor de verschillende SID's)



Op Windows 7 en Windows Server 2008 R2 worden de volgende sleutels nog geredirect:

  • HKEY_LOCAL_MACHINE\Software

  • HKEY_LOCAL_MACHINE\Software\CLSID

  • HKEY_LOCAL_MACHINE\Software\DirectShow

  • HKEY_LOCAL_MACHINE\Software\Interface

  • HKEY_LOCAL_MACHINE\Software\Media Type

  • HKEY_LOCAL_MACHINE\Software\MediaFoundation

  • HKEY_CURRENT_USER\Software\Classes\CLSID

  • HKEY_CURRENT_USER\Software\Classes\DirectShow

  • HKEY_CURRENT_USER\Software\Classes\Interface

  • HKEY_CURRENT_USER\Software\Classes\Media Type

  • HKEY_CURRENT_USER\Software\Classes\MediaFoundation


Terug naar de inhoud | Terug naar het hoofdmenu