Jump to content

Fachinformatiker - Blog

  • Einträge
    27
  • Kommentare
    94
  • Aufrufe
    21.005

Mitwirkende

Die Windows Registry

Windows-Registry

Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne :)

Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.

 

Legen wir los!

Was ist die Registry?

Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.

Einstellungen? Welche Einstellungen denn zum Beispiel?

Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.

Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen ;) )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.

Wo ist die Registry?

Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.

Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?

Ich gebe euch einen Tipp: Das steht auch in der Registry ;) (* siehe Bonus-Wissen ganz unten!)

Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!

'Ordner'?

Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.

Aber gehen wir mal kurz einen Schritt zurück.

Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?

Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:

C:\Windows\system32\config\System 	(HKEY_CURRENT_CONFIG)
C:\Windows\system32\config\SAM		(HKEY_LOCAL_MACHINE\SAM)
C:\Windows\system32\config\Security	(HKEY_LOCAL_MACHINE\Security)
C:\Windows\system32\config\Software	(HKEY_LOCAL_MACHINE\Software)
C:\Windows\system32\config\System 	(HKEY_LOCAL_MACHINE\System)
C:\Windows\system32\config\Default	(HKEY_USERS\.DEFAULT)
C:\Users\Benutzername\ntuser.dat	(HKEY_CURRENT_USER)

Hier mal ein Bild:

registry.PNG.b8f50b4f7a9e5f04e5e35f474412b9df.PNG

Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.

Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?

Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.

... ?

Wir schauen uns das natürlich an:

Der Aufbau der Registry

Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.

Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:

HKEY_LOCAL_MACHINE

\

Software\Classes

und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:

HKEY_CURRENT_USER

\Software\Classes

Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:

Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:

Registry1.PNG.c70e2b4fcaaefa82cdb0e07cbf1e432b.PNG

Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:

registry2.PNG.8c9454c28268b9d2848eb8e610469e2b.PNG

Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:

Registry3.PNG.c28f541ac8f655c6e627c685d42c2159.PNG

Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise)  zusammen gelegt.

Und das war schon das ganze Hexenwerk für heute! :)

Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.

Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.

 

_____________________________________________________

Bonus-Wissen:

(*)Hier geht es um die sogenannte Path-Umgebungsvariable.

Bitte was?

Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!

Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?

Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!

Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.

Aber ich hab putty! Liegt doch direkt auf meinem Desktop!

Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.

Das heißt also...?

Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!



13 Kommentare


Empfohlene Kommentare

@afo

Ich zermarter mir gerade den Kopf darüber. In welchen Bereich würdest du es schieben bzw. wo erwähnen?

"Aufbau der Registry" wäre vielleicht geeignet, aber da sollte das aktuelle Beispiel (mit dem HKCR) nur veranschaulichen das das was wir sehen nicht unbedingt dem Aufbau entspricht, ich wollte nicht speziell auf einzelne Schlüssel eingehen.

bearbeitet von Tician

Diesen Kommentar teilen


Link zu diesem Kommentar

Ich schau es mir mal an, Firewall geht meine ich noch aber AV-Programme ist ein sehr heikles Thema da die Meinungen wirklich sehr weit auseinander gehen und vieles von persönlichen Ansichten abhängt. Fakten gibt es natürlich trotzdem über die man berichten könnte, aber eine schöne Anregung hat es und ich glaub das würde mir auch Spaß machen!

Super Idee, vielen Dank!

Diesen Kommentar teilen


Link zu diesem Kommentar

Danke für den Artikel :)

Gibt es eigentlich ein gutes Buch oder eine gute Artikelserie, die tiefer in die Registry einführt? Also über das Niveau dieses Artikels hinausgehend?

Diesen Kommentar teilen


Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×