Du bist hier:Start»Wissen»Verschiedenes

Notizen zu verschiedenen Computerthemen

Windows Registry

Die Windows Registry enthält 5 Haupt-Hives. HKEY steht für "Handle to Registry Key".

  • HKEY_CLASSES_ROOT (HKCR)
  • HKEY_CURRENT_USER (HKCU)
  • HKEY_LOCAL_MACHINE (HKLM)
  • HKEY_USERS (HKU)
  • HKEY_CURRENT_CONFIG (HKCC)

Die Windows Registry ist über mehrere Dateien verteilt.

Registry-SchlüsselDateiKommentar
HKEY_CLASSES_ROOTC:\Users\<username>\NTUSER.DAT und
C:\Windows\System32\config\SOFTWARE
kombiniert HKEY_LOCAL_MACHINE\SOFTWARE\Classes und HKEY_CURRENT_USER\Software\Classes
HKEY_CURRENT_USERC:\Users\<username>\NTUSER.DATkontospezifische Einstellungen von <username>
HKEY_LOCAL_MACHINE\BCD00000000\EFI\Microsoft\Boot\BCDBoot Configuration Data
HKEY_LOCAL_MACHINE\HARDWARE-wird dynamisch generiert
HKEY_LOCAL_MACHINE\COMPONENTSC:\Windows\System32\config\COMPONENTSZustand von Windows-Funktionen und -Updates, muss eventuell manuell in den Registry Editor geladen werden
HKEY_LOCAL_MACHINE\SAMC:\Windows\System32\config\SAMSecurity Accounts Manager, enthält Benutzernamen und Passwort-Hashes
HKEY_LOCAL_MACHINE\SECURITYC:\Windows\System32\config\SECURITYSicherheitsrichtlinien und Benutzerrechte
HKEY_LOCAL_MACHINE\SOFTWAREC:\Windows\System32\config\SOFTWAREsystemweit geltende Einstellungen für Windows und Anwendungen
HKEY_LOCAL_MACHINE\SYSTEMC:\Windows\System32\config\SYSTEMWindows-Einstellungen, die während des Startens benötigt werden (z.B. für Treiber)
HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabaseC:\Windows\System32\config\DRIVERS-
HKEY_USERS\.DEFAULT
HKEY_USERS\S-1-5-18
C:\Windows\System32\config\DEFAULTEinstellungen für das "Lokale System" (local system)
HKEY_USERS\S-1-5-19C:\Windows\ServiceProfiles\LocalService\NTUSER.DATEinstellungen für den "Lokalen Dienst" (local service)
HKEY_USERS\S-1-5-20C:\Windows\ServiceProfiles\NetworkService\NTUSER.DATEinstellungen für den "Netzwerkdienst" (network service)
HKEY_CURRENT_CONFIG-wird dynamisch generiert

Neben den oben beschriebenen Dateien gibt es auch noch .LOG1 und .LOG2 Dateien, die als Zwischenspeicher für Änderungen dienen, bevor sie in die Hauptdatei geschrieben werden. Mit dem Registry Editor "reged" lassen sich auch unter Linux die Windows Registry-Einträge lesen und bearbeiten.

# install registry editor for Linux
apt install chntpw

# convert to readable output
reged -x NTUSER.DAT HKEY_CURRENT_USER \\ output.reg
reged -x SYSTEM HKEY_LOCAL_MACHINE\SYSTEM \\ output.reg

# export registry key:
reged -x SOFTWARE HKEY_LOCAL_MACHINE\SOFTWARE "Microsoft\Windows NT\CurrentVersion\Fonts" fonts_original.reg

# import registry
echo y | reged -I SOFTWARE HKEY_LOCAL_MACHINE\SOFTWARE fonts_modified.reg

# read and edit the registry
reged -e NTUSER.DAT
ls
cd KEY
cd ..
q

# display usernames of local accounts
chntpw -l SAM

Scharfe Schrift unter Windows

Die Standard-Einstellung für Schrift bei Windows 7 und Windows 10 war "Cleartype". Cleartype hat bei mir keine scharfe Schrift erzeugt. Deshalb habe ich die Kantenglättung über die Windows Registry ausgeschaltet und dadurch scharfe Schrift unter Windows erhalten.

# in the Windows Registry go to the current user
[HKEY_CURRENT_USER\Control Panel\Desktop\]

# or for the local system:
# [HKEY_USERS\.DEFAULT\Control Panel\Desktop\]


# if you see value 2 for FontSmoothing it means cleartype is enabled
FontSmoothing=2
FontSmoothingType=2

# change FontSmoothing to "deactivated" (0)
FontSmoothing=0
# change FontSmoothingType to "gray font smoothing" (1)
FontSmoothingType=1

# not necessary / optional - replace fonts:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Segoe UI"="Tahoma"
"Segoe UI Light"="Tahoma"
"Segoe UI Semibold"="Tahoma"
"Segoe UI Symbol"="Tahoma"

Windows 10 Sperrbildschirm / Lockscreen

Das Bild für den Sperrbildschirm bei Windows 10 befindet sich unter:
C:\ProgramData\Microsoft\Windows\SystemData\S-1-5-18\ReadOnly\LockScreen_Z\

Wobei Z bei LockScreen_Z auch ein anderer Buchstabe sein kann (z.B. P).

Das Bild kann von anderen Verzeichnissen dorthin kopiert worden sein. Zum Beispiel:
C:\Windows\Web\Screen
C:\Windows\Web\Wallpaper

Es kann auch nötig sein, einen Blick in die Registry zu werfen:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Personalization
RegSZ = LockScreenImage
ValueData = Your path

Position von NTFS Dateien finden

Das Windows-Dateisystem "NTFS" (New Technology File System) speichert Dateien in Clustern. Um die Cluster-Position einer Datei unter Linux auszulesen, helfen folgende Befehle:

# get information about the NTFS device
# replace sdX1 with your NTFS partition
ntfsinfo -m /dev/sdX1

# outputs the NTFS cluster size:
Cluster Size: 4096

# get the location / position of a file in NTFS:
ntfscluster -F /Users/user/Pictures/myPicture.png /dev/sdX1

# or in decrypted BitLocker partitions:
ntfscluster -F /Users/user/Pictures/myPicture.png /mnt/dislocker-file

# possible output:
  VCN     LCN     Length
    0   138237        2
    2 18274510      127

# LCN == logical cluster number
# VCN == virtual cluster number
# length are blocks with cluster size (e.g. 4096)

Die logische Clusternummer (LCN), die das Linux-Programm "ntfscluster" ausgibt, muss mit der Cluster Size multipliziert werden. Im oberen Beispiel wäre das 138237 (LCN) * 4096. Der erste Teil der Datei befindet sich folglich an Byte-Position: 566218752 und ist 2 * 4096 = 8192 Byte groß. Der zweite Teil der Datei befindet sich an Position 18274510 (LCN) * 4096 und ist 127 Cluster-Blöcke groß. Mit den folgenden Befehlen kann die Datei von der Partition gelesen werden, ohne dass die Partition dafür gemountet werden müsste.

# read the two parts of the image:
dd if=/dev/sdX1 of=myPicture.png_part1 bs=4096 count=2 skip=138237
dd if=/dev/sdX1 of=myPicture.png_part2 bs=4096 count=127 skip=18274510

# combine the two parts:
cat myPicture.png_part1 myPicture.png_part2 > myPicture.png

Da eine Datei nicht immer ein Vielfaches der Cluster-Größe (z.B. 4096 Byte) ist, steht unter Windows bei den Eigenschaften einer Datei "Größe" und zusätzlich "Größe auf Datenträger".

NTFS Datei überschreiben

Das Python-Skript cluster_overwrite.py kann eine kleine Datei in einer großen Datei überschreiben. So kann zum Beispiel eine Datei in einer NTFS Partition überschrieben werden.

# preparation of a large and a small file:
dd if=/dev/zero of=big_file.bin bs=4096 count=100
echo 1234 > small_file.bin

# overwrite some bytes in the large file:
python3 cluster_overwrite.py big_file.bin small_file.bin 10

strings big_file.bin

# split a file into two parts for the clusters
dd if=newPicture.png of=myPicture.png_part1 bs=4096 count=2
dd if=newPicture.png of=myPicture.png_part2 bs=4096 count=127 skip=2

# example to replace a file in an NTFS partition at logical cluster number 138237
python3 cluster_overwrite.py /dev/sdX1 myPicture.png_part1 138237
python3 cluster_overwrite.py /dev/sdX1 myPicture.png_part2 18274510

Um ein JPG Bild auf die gewünschte Größe zu bringen, können ans Ende Nullbytes angehangen werden.