View Single Post
Old 17-05-2004   #8
toreach
Registered User
Grünschnabel
 

Join Date: May 2004
Location: Deutschland
Posts: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge






Fandet Ihr die Verfilmung von Resident Evil auch so hammergeil? Der Hive von XP ist ähnlich. Versteckt unter den hunderten
von Dateien im i386 Verzeichnis befinden sich Dateien die ganz am Anfang des Textmode Setups geladen werden. Es gibt
insgesamt Fünf Dateien. Und alle beginnen mit “HIVE“.

--HiveCls.inf
--HiveDef.inf
--HiveUsd.inf
--HiveSft.inf
--HiveSys.inf

Warum den Hive editieren? Nun. Der einzige Grund warum man direkt den Hive editiert anstatt die anderen Möglichkeiten zu
nutzen liegt in der Beständigkeit und Unsichtbarkeit der vorgenommenen Einstellungen. Anstatt eine Registrydatei auf der CD
zu platzieren die jeder einfach löschen oder anpassen, oder zumindest sehr einfach entdecken, könnte ist das mit dem Inhalt
des Hive nicht so einfach. Und sämtliche Einstellungen sind von Begin des Setups vorhanden.

Zum einen muss man erstmal wissen das es diese Dateien gibt. Und wozu sie dienen. Das bringt einem aber herzlich wenig
wenn der Ersteller der CD eigene Einträge hinzugefügt hat (Sofern die Einträge nicht schön sortiert mit Beschreibung am Ende
der Datei eingefügt wurden).

Nochmal zu den einzelnen Dateien:

--HiveCls.inf
Diese Datei bestimmt den Inhalt des Schlüssels HKLM\SOFTWARE\Classes (HKCR)

Wenn ihr Dateiverknüpfungen ändern wollt könnt ihr das hier tun.


--HiveDef.inf
Diese Datei bestimmt den Inhalt des Schlüssels HKU\.DEFAULT. Weiter werden auch die Einstellungen des Default User Profiles
bestimmt.

(Dieser Schlüssel, auch wenn es oft behauptet wird, beinhaltet nicht die Default User Einstellungen! Änderungen in dem
Schlüssel in einem bereits installiertem XP werden nicht dem Default User Profil hinzugefügt!)


--HiveSft.inf
Diese Datei bestimmt den Inhalt des Schlüssels HKLM\SOFTWARE


--HiveSys.inf
Diese Datei bestimmt den Inhalt des Schlüssels HKLM\SYSTEM


--HiveUsd.inf
Diese Datei dürft ihr getrost ignorieren.


Anm

Microsoft erstellt vermehrt große Hohlräume in Konfigurationsdateien. Manch einer wundert sich dann warum eine Datei mit
3000 Zeilen schon nach 500 Zeilen keinen Inhalt mehr aufweisst. Am Ende der Datei steht oftmals auch nichts. Überfliegt man
jedoch die ganze Datei einmal stößt man auf kleinere Abschnitte mitten in diesem Nirvana.

Vielleicht eine Art Kindersicherung, wer weiß…


Nun aber mal etwas konkretes:


Explorer Tips:

Öffnet man die HiveSft.inf in einem Editor findet man ab Zeile 3859 eine Liste von Explorer Tips die sich jetzt ebenfalls ganz
einfach ändern lassen:



Code:
...
EXPLORER_TIPS_0="In der Hilfe können Sie sich über bestimmte Vorgehensweisen informieren. Klicken Sie dazu auf ""Start"" und dann auf ""Hilfe""."
...
EXPLORER_TIPS_18="Das Programm Paint in ""Zubehör"" ermöglicht das Erstellen von Bildern und die Anzeige von Bitmap-Dateien."
EXPLORER_TIPS_19="Linkshänder können die Belegung der Maustasten ändern. Doppelklicken Sie dazu in der Systemsteuerung auf das Symbol ""Maus""."
EXPLORER_TIPS_20="Wenn Sie auf das Symbol einer Datei doppelklicken, wird die Datei direkt geöffnet."
...




Öffnet man die Datei HiveDef.Inf in einem Editor findet man fast ganz unten folgende Zeilen:

Code:
TEMP_DIR="%USERPROFILE%\Lokale Einstellungen\Temp"


Code:
U_SHELL_FOLDERS_APPDATA="%USERPROFILE%\Anwendungsdaten"
U_SHELL_FOLDERS_DESKTOP="%USERPROFILE%\Desktop"
U_SHELL_FOLDERS_FAVORITES="%USERPROFILE%\Favoriten"
U_SHELL_FOLDERS_NETHOOD="%USERPROFILE%\Netzwerkumgebung"
U_SHELL_FOLDERS_PERSONAL="%USERPROFILE%\Eigene Dateien"
U_SHELL_FOLDERS_PRINTHOOD="%USERPROFILE%\Druckumgebung"
U_SHELL_FOLDERS_PROGRAMS="%USERPROFILE%\Startmenü\Programme"
U_SHELL_FOLDERS_RECENT="%USERPROFILE%\Recent"
U_SHELL_FOLDERS_SENDTO="%USERPROFILE%\SendTo"
U_SHELL_FOLDERS_START_MENU="%USERPROFILE%\Startmenü"
U_SHELL_FOLDERS_STARTUP="%USERPROFILE%\Startmenü\Programme\Autostart"
U_SHELL_FOLDERS_TEMPLATES="%USERPROFILE%\Vorlagen"
U_SHELL_FOLDERS_COOKIES="%USERPROFILE%\Cookies"
U_SHELL_FOLDERS_MYPICTURES="%USERPROFILE%\Eigene Dateien\Eigene Bilder"
U_SHELL_FOLDERS_LOCAL_SETTINGS="%USERPROFILE%\Lokale Einstellungen"
U_SHELL_FOLDERS_LOCAL_APPDATA="%USERPROFILE%\Lokale Einstellungen\Anwendungsdaten"
U_SHELL_FOLDERS_CACHE="%USERPROFILE%\Lokale Einstellungen\Temporary Internet Files"
U_SHELL_FOLDERS_HISTORY="%USERPROFILE%\Verlauf"
Hier kann man nun ganz frei eigene Pfade bestimmen. Bei der Vergabe von Variablen solltet ihr nur Variablen verwenden die
auch vorhanden sind (Weiter unten gelistet).

Wird zum Beispiel die Variable %USERPROFILE% durch %SYSTEMDRIVE% ersetzt werden die angegebenen Verzeichnisse
direkt auf der Systempartition erstellt.

Durch eine solche Änderung gäbe es keine getrennten Verzeichnisse mehr. Jeder erstellte Benutzer würde seine Dateien in
dem gleichen Verzeichnis wie alle anderen ablegen. Und Windows meckert noch nicht einmal!


Das sollte als Anleitung für den Hive reichen. Jetzt folgt noch eine Liste der Variablen:





Quote:
Table 1: Environment Variables

ALLUSERSPROFILE
Local returns the location of the All Users Profile.

APPDATA
Local returns the location where applications store data by default.

CD
Local returns the current directory string.

CMDCMDLINE
Local returns the exact command line used to start the current cmd.exe.

CMDEXTVERSION
System returns the version number of the current Command Processor Extensions.

COMPUTERNAME
System returns the name of the computer.

COMSPEC
System returns the exact path to the command shell executable.

DATE
System returns the current date. This variable uses the same format as the date /t command. Cmd.exe generates this
variable. For more information about the date command, see the Date command.

ERRORLEVEL
System returns the error code of the most recently used command. A non-0 value usually indicates an error.

HOMEDRIVE
System returns which local workstation drive letter is connected to the user's home directory. This variable is set based on the
value of the home directory. The user's home directory is specified in Local Users and Groups.

HOMEPATH
System returns the full path of the user's home directory. This variable is set based on the value of the home directory. The
user's home directory is specified in Local Users and Groups.

HOMESHARE
System returns the network path to the user's shared home directory. This variable is set based on the value of the home
directory. The user's home directory is specified in Local Users and Groups.

LOGONSEVER
Local returns the name of the domain controller that validated the current logon session.

NUMBER_OF_PROCESSORS
System specifies the number of processors installed on the computer.

OS
System returns the OS name. Windows XP and Windows 2000 display the OS as Windows_NT.

PATH
System specifies the search path for executable files.

PATHEXT
System returns a list of the file extensions that the OS considers to be executable.

PROCESSOR_ARCHITECTURE
System returns the processor's chip architecture. Values: x86, IA64.

PROCESSOR_IDENTFIER
System returns a description of the processor.

PROCESSOR_LEVEL
System returns the model number of the computer's processor.

PROCESSOR_REVISION
System returns the revision number of the processor.

PROMPT
Local returns the command-prompt settings for the current interpreter. Cmd.exe generates this variable.

RANDOM
System returns a random decimal number between 0 and 32767. Cmd.exe generates this variable.

SYSTEMDRIVE
System returns the drive containing the Windows root directory (i.e., the system root).

SYSTEMROOT
System returns the location of the Windows root directory.

TEMP or TMP
System and User return the default temporary directories for applications that are available to users who are currently logged
on. Some applications require TEMP and others require TMP.

TIME
System returns the current time. This variable uses the same format as the time /t command. Cmd.exe generates this
variable. For more information about the time command, see the Time command.

USERDOMAIN
Local returns the name of the domain that contains the user's account.

USERNAME
Local returns the name of the user currently logged on.

USERPROFILE
Local returns the location of the profile for the current user.

WINDIR
System returns the location of the OS directory



Batchkommandos können hier nachgelesen werden (Englisch)

Liste der Batchkommandos





--HiveCls.inf
Hivedatei. Enthält diverse Einstellungen für das Setup.

--HiveDef.inf
Hivedatei. Enthält diverse Einstellungen für das Setup.

--HiveUsd.inf
Hivedatei. Enthält diverse Einstellungen für das Setup.

--HiveSft.inf
Hivedatei. Enthält diverse Einstellungen für das Setup.

--Sysprep.inf
Informationsdatei für eine Sysprep-basierende Installation.

--TxtSetup.sif
Treiberinformationen für das Textmode Setup

--DosNet.inf
Treiberinformationen

--Winnt.sif
Die Basisdatei für jede Unattended Installation.

--Unattend.txt
Vom Inhalt her fast identisch mit der winnt.sif. Diese Datei dient zum Aufsühren eines Unattended Setups von der Festplatte
anstatt von CD.

--SvcPack.inf
Diese Datei wird für die Installation von ServicePacks verwendet und während der T-13 Stage des Setups abgearbeitet

--SysOc.inf
In der sysoc.inf Datei wird festgelegt welche Windowskomponenten unter Software angezeigt werden.

--CmdLines.txt
Wird automatisch während der T-12 Stage des Setups abgearbeitet


--Batchfiles
Die Autoexec.bat war die wohl bekannteste Batchdatei zu Zeiten von DOS. In Windows haben diese nun die Endung cmd
(“users.cmd“). (Was viele nicht wissen ist das es die Datei autoexec.bat auch unter XP noch gibt. Nur ist sie standardmäßig deaktivert)




Default Start Panel
  • Man kann in der Winnt.sif bestimmen ob das neue Outlet von XP verwendet wird oder die schlichte Variante von 98/NT.
  • Einfach folgende Zeilen in die Winnt.sif einfügen.

Code:
[Shell]
      DefaultStartPanelOff = Yes
      DefaultThemesOff = Yes

Importing Dial-Up Settings

Die Informationen einer Verbindung werden in dem All Users Profil in der rasphone.pbk gespeichert.

C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft\Network\Connections\Pbk\rasphone.pbk

Einfach ein entsprechendes Verzeichnis im OEM Verzeichnis der CD erstellen und die Datei kopieren.


Importing DivX & XviD

Nach der Installation der Codecs befinden sich die Dateien divxdec.ax (DivX4 Codec) und xvid.ax (XviD Codec) in dem
System32 Verzeichnis.

Beide Dateien in das "$OEM$\$$\SYSTEM32" Verzeichnis kopieren. Die Dateien werden dann während des Setups in das
Windows\System32 Verzeichnis kopiert.

Notepad öffnen, folgendes einfügen und als divxvid.reg im OEM Verzeichnis speichern.

Code:
Windows Registry Editor Version 5.00 

[HKEY_CURRENT_USER\Software\GNU\XviD]
"Brightness"=dword:00000019
"Deblock_H_Y"=dword:01010101
"Deblock_V_Y"=dword:01010101
"Deblock_H_C"=dword:01010101
"Deblock_V_C"=dword:00010101
"Dering_Y"=dword:00000101
"Dering_C"=dword:00000001
"Horiz_Threshold"=dword:00000014
"Vert_Threshold"=dword:00000028
"ForceColorspace"=dword:00000000

[HKEY_CURRENT_USER\Software\DivXNetworks\DivX4Windows]
"Auto PP"=dword:00000001
"Disable PP"=dword:00000000
"Dering PP Level"=dword:00000000
"Deblock PP Level"=dword:0000000f
"Warmth Strength"=dword:00000002
"Warmth Filter"=dword:00000001
"Brightness"=dword:00000000
"Contrast"=dword:00000000
"Saturation"=dword:00000000
"AspectRatio_X"=dword:00000000
"AspectRatio_Y"=dword:00000000
"Smooth Playback"=dword:00000001
"Extended Yuv Mode"=dword:00000001
"Double Buffering"=dword:00000000
"Extended Overlay Mode"=dword:00000000
"Disable Logo"=dword:00000001
"ATI Disable"=dword:00000000

Wieder Notepad öffnen und folgendes einfügen:

Code:
regsvr32.exe %systemroot%\system32\xvid.ax /s
regsvr32.exe %systemroot%\system32\divxdec.ax /s
Die Datei als divxvid.cmd im OEM Verzeichnis speichern.


Jetzt nur noch in der cmdlines.txt folgendes hinzufügen:

Code:
"REGEDIT /S divxvid.reg"
"divxvid.cmd"
Die Registryeinträge sind nicht nötig aber empfehlenswert.

Die Datei SysOc.inf modifizieren

(Software ohne Beschreibung darf nicht entfernt werden!! Dabei handelt es sich um
Kernbestandteile des Systems!)

Die Datei Sysoc.in_ im i386 Verzeichnis mit Expand (Ist bei Windows dabei) entpacken. Die Datei
in einem Editor öffnen und die Zeichenkette Hide entfernen (Suchen nach “Hide“ und durch leer
ersetzen lassen) Nichts sonst verändern! Die Kommas sind wichtig!

Danach speichern, mit makecab wieder komprimieren (makecab sysoc.inf) und wieder ins i386
Verzeichnis kopieren. Die vorhandene Datei überschreiben.

Mit dieser Datei werden jetzt alle Softwarekomponenten angezeigt und können auch entfern werden.

Last edited by toreach on 17-05-2004 at 01:02
toreach is offline   Reply With Quote