Le Registre de Windows XP

Le registre de Win­dows : der­rière ce terme obs­cur se cache une base de don­nées conte­nant les infor­ma­tions de confi­gu­ra­tion du sys­tème d'exploitation et des logi­ciels ins­tal­lés dési­rant l'utiliser. La base de registre est appa­rue sur Win­dows 3.x, mais ne devien­dra vrai­ment impor­tante qu'en 1993, avec la pre­mière ver­sion de Win­dows NT, quand elle sera éten­due et com­pren­dra un ensemble de clés hié­rar­chiques et de valeurs. Elle est ensuite reprise dans Win­dows 95, en 1995. Cette base de don­nées de confi­gu­ra­tion rem­place la plu­part des mul­tiples fichiers d'extension .ini de Win­dows 3.x et de ses pré­dé­ces­seurs.

L'une des par­ties les plus impor­tantes de la base de registre sous Win­dows NT et ses suc­ces­seurs est la SAM (Secu­ri­ty Account Mana­ger). Elle contient notam­ment les mots de passe. Sous Win­dows NT 4, la base de registre ser­vait à la fois pour les uti­li­sa­teurs locaux et pour les contrô­leurs de domaine. A par­tir de Win­dows 2000,les contrô­leurs de domaine sont basés sur Active Direc­to­ry et non plus sur la SAM.

Jusqu'à Win­dows 2000, il y avait 2 uti­li­taires légè­re­ment dif­fé­rents : rege­dit et regedt32 pour modi­fier la base de registre. rege­dit était plus convi­vial, alors que regedt32 per­met­tait de faire des modi­fi­ca­tions plus poin­tues.

Avec Win­dows XP, Micro­soft a uni­fié les 2 uti­li­taires : désor­mais, les 2 com­mandes appellent le même outil.

L'interface gra­phique actuelle de rege­dit de Micro­soft per­met de :

* Modi­fier la base de registre

* D'attribuer des droits spé­ci­fiques sur les clés de la base registre; l'interface gra­phique pour modi­fier les droits est sem­blable à celle qui per­met de modi­fier les droits NTFS.

Le para­mé­trage de cet outil pour un uti­li­sa­teur est confi­gu­ré prin­ci­pa­le­ment dans

* HKEY-CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\

* HKEY-CURRENT_USER\Software\Microsoft\regedt32

Par défaut, c'est dans le réper­toire %SystemRoot%\System32\Config que sont sto­ckés les fichiers de ruche sui­vants :

* SAM (Secu­ri­ty Account Mana­ger)

* Secu­ri­ty

* Soft­ware

* Sys­tem

Les infor­ma­tions concer­nant un uti­li­sa­teur sont sto­ckées dans le réper­toire cor­res­pon­dant à la variable d'environnement %User­Pro­file%. Par exemple, pour un uti­li­sa­teur dont le login est "dupont", la valeur %User­Pro­file% sera par défaut "C:\Documents and settings\dupont".

Le réper­toire %SystemRoot%\repair contient une sau­ve­garde de la base de registre ; elle est uti­li­sée par Win­dows pour cer­tains cas de figure. De plus, sous Win­dows XP, la res­tau­ra­tion du sys­tème les stocke le réper­toire \Sys­tem Volume Infor­ma­tion du disque sys­tème.

La sau­ve­garde phy­sique de la base sous forme de fichiers est alors appe­lée "ruche" (hive) ; une ruche cor­res­pond à un fichier. Il y a un fichier de ruche NTUSER.DAT par uti­li­sa­teur.

Des fichiers jour­naux (exten­sion .LOG) et des fichiers de sau­ve­garde (exten­sion .SAV) sont uti­li­sés en interne par Win­dows pour pal­lier à des cou­pures de cou­rant intem­pes­tives, ou à toute autre forme d'arrêt bru­tal.

Les empla­ce­ments phy­siques des dif­fé­rentes ruches uti­li­sées lors du der­nier boot sont indi­qués sous la clé hive­list de

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\.

La base de registre est par­ta­gée en dif­fé­rentes sec­tions logiques. Elles sont géné­ra­le­ment connues par les noms les défi­nis­sant quand on y accède via l'interface gra­phique de Win­dows; les noms com­mencent tous par 'HKEY' (une abré­via­tion de Handle to a KEY, ges­tion­naire de clé).

Les 2 HKEY de base sont :

* HKEY_LOCAL_MACHINE (HKLM) contient les infor­ma­tions qui sont géné­rales à tous les uti­li­sa­teurs de l'ordinateur :

- Maté­riel

- Sécu­ri­té

- SAM (Secu­ri­ty Account Mana­ger)

- Logi­cielle, la sous-branche "Classes" cor­res­pond à HKEY_CLASSES_ROOT

Sys­tème, elle contient notam­ment la sous-branche Cur­rent­Con­trol­Set (NB : CurrentControlSet\Control\Class contient des infor­ma­tions sur les classes).

* HKEY_USERS contient les infor­ma­tions spé­ci­fiques à chaque uti­li­sa­teur. La sous-branche cor­res­pon­dant à l'utilisateur cou­rant est l'équivalent de HKEY_CURRENT_USER.

Les 5 autres HKEY sont

* HKEY_CURRENT_CONFIG contient des infor­ma­tions qui sont mises à jour en temps réel, elles sont régé­né­rées après chaque boot.

* HKEY_CLASSES_ROOT (HKCR) contient les infor­ma­tions sur les appli­ca­tions enre­gis­trées ; cela inclut entre autre les asso­cia­tions entre exten­sions de

fichiers et iden­ti­fiants de classe d'objet OLE, ce qui per­met de lan­cer auto­ma­ti­que­ment l'exécutable cor­res­pon­dant. Cela cor­res­pond à HKEY_LOCAL_MACHINE\SOFTWARE\Classes. Exemple : ".bat" et "XML" sont res­pec­ti­ve­ment asso­ciés à "bat­file" et "XML script engine".

* HKEY_CURRENT_USER (HKCU) contient les infor­ma­tions concer­nant l'utilisateur connec­té. Ce n'est qu'une sous-branche de HKEY_USERS.

* HKEY_PERFORMANCE_DATA géné­ré dyna­mi­que­ment (REGEDIT ne l'affiche pas)

* HKEY_DYN_DATA géné­ré dyna­mi­que­ment (REGEDIT ne l'affiche pas)

Cha­cune de ces clés est divi­sée en sous-clés, qui peuvent conte­nir d'autres sous-clés et ain­si de suite, consti­tuant toute une arbo­res­cence.

Typage des valeurs

Chaque clé peut conte­nir des valeurs typées : il existe une quin­zaine de type de don­nées pos­sibles :

* 1) binaire REG_BINARY, créa­tion pos­sible avec REGEDIT

* Entier

2) dword REG_DWORD , 32 bits, créa­tion pos­sible avec REGEDIT

3) REG_DWORD_BIG_ENDIAN

4) REG_DWORD_LITTLE_ENDIAN

5) QWORD REG_QWORD 64 bits

6) REG_QWORD_BIG_ENDIAN

7) REG_QWORD_LITTLE_ENDIAN

* Chaîne de carac­tères

8) Chaîne simple REG_SZ, créa­tion pos­sible avec REGEDIT

9) Chaîne exten­sible REG_EXPAND_SZ, per­met d'utiliser des variables d'environnement, créa­tion pos­sible avec REGEDIT

10) Chaîne mul­tiple REG_MULTI_SZ, créa­tion pos­sible avec REGEDIT

* 11) NONE, REG_NONE : signi­fie don­née non typée

* Res­source

12) REG_RESOURCE_LIST

13) REG_RESOURCE_REQUIREMENTS_LIST

14) REG_FULL_RESOURCE_DESCRIPTOR

* 15) REG_LINK

GUID (et CLSID)

Un grand nombre de clés et de valeurs de clés sont affi­chées par rege­dit sous un for­mat ana­logue à {3F2504E0-4F89-11D3-9A0C-0305E82C3301}. En fait, il s'agit du for­mat GUID (Glo­bal­ly Unique IDen­ti­fier) (16 octets).

Contrai­re­ment à ce qui est habi­tuel sous Win­dows, des casses de carac­tères dif­fé­rentes donnent des résul­tats dif­fé­rents. Exemple : les valeurs "no" et "No" peuvent don­ner des résul­tats très dif­fé­rents.

Enfin, le conte­nu de la base de registre sous Win­dows cor­res­pond aux fichiers des réper­toires etc d'Unix ou de Linux.

Le sys­tème de Win­dows est plus per­for­mant, il uti­lise des fichiers indexés (déri­vés du moteur Jet de Micro­soft Access), ce qui per­met un accès opti­mi­sé aux infor­ma­tions de la base. La struc­ture per­met de créer une confi­gu­ra­tion mul­ti-uti­li­sa­teur de manière trans­pa­rente.

A l'opposé, Unix uti­lise de simples fichiers texte pou­vant conte­nir des expli­ca­tions concer­nant chaque para­mètre. De plus, chaque para­mètre est modi­fiable avec un simple édi­teur de texte.

On peut aus­si remar­quer que les para­mètres de la base de registre sont par­fois en lan­gage binaire ou hexa­dé­ci­male, ce qui peut rendre dif­fi­cile une modi­fi­ca­tion.

En pra­tique, la base de registre de Win­dows res­semble à une "usine à gaz", alors que sous Unix, il y a des fichiers de confi­gu­ra­tion sépa­rés pour chaque logi­ciel. En cas de cor­rup­tion du fichier de base de registre, il est plus déli­cat de res­tau­rer les don­nées, contrai­re­ment à Unix où de mul­tiples fichiers forment la confi­gu­ra­tion des pro­grammes ins­tal­lés.

Enfin, place aux trois sec­tions qui seront abor­dées dans ces pages : com­ment, en modi­fiant le registre, peut-on opti­mi­ser et sécu­ri­ser Win­dows XP

Source : Wiki­pe­dia

Back to top

Pas peur d'Hadopi

Ce site Web est accessible en




ipv6 ready