Le registre


La base de registre, que l'on nomme aussi le registre ou la BDR, est très souvent sollicitée par l'utilisateur soucieux d'optimiser son système, de le personnaliser mais aussi de le réparer. Mais connaissons-nous réellement bien la base de registre de Windows ? Nous allons à travers cet article tenter d'en comprendre les principales structures et savoir ainsi la manipuler de façon optimale.
 
Le registre est sollicité sans arrêt par le système et les programmes qui viennent récupérer des informations de configuration afin de faire fonctionner le système et vos programmes correctement. Si une information est erronée dans le registre, Windows vous enverra peut être un message d'alerte ou éventuellement votre système plantera au démarrage ou pendant votre activité. Les virus ou malwares viennent eux aussi modifier divers paramètres de configuration dans le registre, ce qui altère alors le bon fonctionnement de votre machine.

Quelles sont les actions que l'on peut effectuer dessus ?
Il existe diverses possibilités pour intervenir sur le registre : les outils Windows, les outils dédiés spécifiques, etc. A première vue, la base de registre peut paraître compliquée à l'utilisateur lambda car les clés et les valeurs sont données en anglais et ne sont pas toujours explicites au premier abord. Pourtant, une fois que l'on a compris son fonctionnement, il devient plus facile de naviguer dans sa structure. Nous allons essayer de faire le point sur le sujet (Windows 2000/XP/2003).

Le registre est un élément essentiel au bon fonctionnement de votre système, il est important de toujours faire une sauvegarde avant de modifier quoi que ce soit.

Présentation

Le registre, c'est quoi ?

Windows conserve toutes les informations relatives à la configuration du système, ces informations peuvent être visualisées dans une base de données appelée Registre. Le Registre contient les profils de chaque utilisateur de l'ordinateur ainsi que les informations relatives au matériel du système, aux programmes installés et aux paramètres de propriétés. Windows utilise constamment ces informations dès le démarrage du système et lors de son fonctionnement.
A chaque fois que vous modifiez une propriété à l'aide d'une boîte de dialogue sur votre système, Windows inscrit immédiatement cette modification dans le registre. Ceci est valable pour toutes les actions que vous effectuez avec votre système.

Ces informations sont présentes dans divers fichiers appelés "ruches" ("hives") présents sur votre système d'exploitation, on retrouve ces fichiers dans plusieurs répertoires:

  • C:\Documents and Settings\%USERPROFILE%\ (\%USERPROFILE%\ -> correspond au nom des sessions)
  • C:\Documents and Settings\%USERPROFILE%\Local Settings\Application Data\Microsoft\Windows\
  • C:\Windows\System32\Config\
  • C:\Windows\System32\Config\systemprofile\
  • C:\Windows\System32\GroupPolicy\

    Les principaux noms de ces fichiers : ntuser.dat, UsrClass.dat, default, SAM, SECURITY, software, system
    Vous ne pouvez pas éditer ces fichiers directement (ni les copier, les supprimer même si vous êtes l'administrateur de la machine) tout simplement parce qu'ils sont utilisés par le système. Il faut utiliser un outil connu sous le nom de "Éditeur de Base de Registre" pour visualiser leurs contenus ou y effectuer des modifications.

    En fait, lorsque l'on accède au registre grâce aux éditeurs, on retrouve toutes ces informations rangées dans différents dossiers que nous verrons par la suite

  • Accéder au registre

    Les éditeurs du Registre permettent de contrôler et/ou modifier les données dans le registre. Il existe deux outils Windows présents sur le système : Regedit.exe et Regedt32.exe
    Pour accéder au registre :
    Menu Démarrer ---> Exécuter et tapez : regedit ou regedt32

    Exécuter regedit

    Depuis Windows XP, regedit et regedt32 ont les mêmes fonctionnalités, vous pouvez également ajouter un raccourci sur votre bureau, il suffit d'aller dans votre Explorateur à :
    - C:\Windows\regedit.exe
    ou
    - C:\Windows\System32\regedit.exe
    ou
    - C:\Windows\System32\regedt32.exe

    En cas de soucis
     

    Dans de nombreux cas d'infections, les malwares installent des restrictions pour vous interdire d'accéder à votre registre. Voici quelques méthodes qui devraient vous tirer d'affaire et vous permettre d'accéder au registre :
    Modifiez l'extension du programme :
    Ouvrez votre Explorateur et allez jusqu'à : C:\Windows\regedit.exe
    - Clic droit sur regedit.exe ---> Renommer et modifiez l'extension en .com
    Ce qui donne : regedit.com --> Double-cliquez et votre éditeur de registre devrait s'ouvrir.
     

    Si cela ne fonctionne pas, utilisez FixSwen.inf. Clic droit ---> Installer. Il est employé pour remettre en place (dans la base de registre) les associations relatives à l'exécution des fichiers exécutables (.exe, .com, .bat, .reg, etc.) altérées par le malware Swen pour paralyser le système.

    Si cela ne marche toujours pas, vous avez ce joli message :

    La modification du Registre a été désactivée par votre administrateur.

    Une valeur interdit l'ouverture de votre éditeur, en principe elle se trouve ici :
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
    et se nomme : DisableRegistryTools
    Téléchargez ce fichier.vbs Restoreregedit.vbs et exécutez-le.

    Autre solution : utilisez un autre éditeur de registre, Vilma fait ceci très bien; eh oui, les pirates n'ont pensé qu'à bloquer Windows et ses outils ! Heureusement, ce programme fonctionne sans aucun souci même avec l'option bloquée, il suffit alors de simplement supprimer la valeur DisableRegistryTools :

    Editeur registre Vilma

    En principe, avec l'une de ces options, vous devriez pouvoir accéder au registre.

    L'arborescence du registre

    Le registre possède une structure hiérarchique ressemblant à la structure des répertoires de votre disque dur, l'exploration avec Regedit étant similaire à l'Explorateur Windows.

    L'arborescence du registre

    Quand Regedit est ouvert, vous remarquez que dans la partie gauche de la fenêtre se trouve une arborescence contenant des dossiers, et dans la partie droite le contenu (les valeurs) du dossier actuellement sélectionné.

    Partie gauche
    Comme pour l'Explorateur Windows, pour développer une branche, cliquez sur le signe [+] devant un dossier, ou double-cliquez simplement sur ce dossier. Pour afficher le contenu d'une clé (dossier), cliquez sur la clé désirée et examinez les valeurs énumérées dans la partie droite de la fenêtre. Vous pouvez ajouter une nouvelle clé ou valeur en sélectionnant Nouveau dans le menu Édition ou en effectuant un clic droit. Vous pouvez également renommer toute valeur et la plupart des clés par la même méthode que pour renommer un fichier ; un clic droit sur l'objet et un clic sur Renommer, ou deux clics de suite (lentement), ou utiliser simplement la touche F2 du clavier. Enfin, vous pouvez supprimer une clé ou une valeur en cliquant dessus et en appuyant sur la touche Suppr, ou par un clic droit, en choisissant Supprimer.
    Partie gauche dans regedit
    Chaque branche principale (désignée par une icône de dossier dans le registre) est appelée une Ruche, et les Ruches contiennent des Clés. Chaque clé contient d'autres clés (parfois appelées sous-clés), ainsi que des Valeurs. Ces valeurs contiennent l'information actuelle stockée dans le registre.

    Il existe cinq branches principales, chacune contenant une partie spécifique de l'information stockée dans le registre. Ce sont les éléments suivants:

    HKEY_CLASSES_ROOT - Cette branche contient tous vos mappages d'associations de fichiers pour supporter la fonction de glisser-déposer, l'information OLE, les raccourcis Windows, et l'aspect coeur de l'interface utilisateur Windows.

    HKEY_CURRENT_USER - Cette branche est liée à la section HKEY_USERS associée à l'utilisateur actuellement en session dans le PC et contient des informations comme les noms d'ouverture de sessions, la configuration du bureau, et les options du menu Démarrer.

    HKEY_LOCAL_MACHINE - Cette branche contient des informations appartenant à l'ordinateur et concerne le type de matériel, de logiciels, et autres préférences pour un PC donné, ces informations étant utilisées pour tous les usagers en session dans cet ordinateur.

    HKEY_USERS - Cette branche contient les préférences individuelles de chaque utilisateur de l'ordinateur, chacun étant représenté par une sous-clé SID située dans la branche principale.

    HKEY_CURRENT_CONFIG - Cette branche est reliée à la section HKEY_LOCAL_MACHINE correspondant à la configuration matérielle courante.

    Partie droite
    Chaque clé ou sous-clé du Registre peut contenir des données appelées "valeurs". Certaines rubriques contiennent des informations spécifiques à chaque utilisateur, d'autres concernent tous les utilisateurs de l'ordinateur. Une rubrique comprend trois parties : le nom de la valeur, le type de données de la valeur et la valeur elle-même.
    Il existe trois types de valeurs :
    Chaîne, Binaire, et DWORD

    Leur utilisation dépend du contexte.
    Partie droite dans regedit
    Chaque valeur de base de registre est établie sous la forme de l'un des cinq types de données principales suivantes :
     
    REG_BINARY - Ce type contient la valeur sous forme d'une ligne de donnée binaire. La plupart des informations concernant les composants matériels sont stockées sous forme d'une donnée binaire, et peuvent être affichées à l'aide d'un éditeur de format hexadécimal.
     
    REG_DWORD - Ce type représente les données par un nombre de quatre octets et est couramment utilisé pour les valeurs booléennes, comme "0" pour désactivé et "1" pour activé ou inversement (c'est en fonction du nom de la valeur). De plus, beaucoup de paramètres de pilotes de périphériques et de services sont de ce type et peuvent être affichés avec REGEDT32 au format binaire, hexadécimal et décimal, ou avec REGEDIT au format hexadécimal et décimal.
     
    REG_EXPAND_SZ - Ce type est une chaîne de données extensible dont la chaîne contient une variable qui sera remplacée quand elle est appelée par une application. Par exemple, pour la valeur suivante, la chaîne "%SystemRoot%" sera remplacée par l'emplacement actuel du répertoire qui contient les fichiers système de Windows.
     
    REG_MULTI_SZ - Ce type est une chaîne multiple, il est utilisé pour représenter les valeurs qui contiennent des valeurs de liste ou multiples, chaque entrée étant séparée par un caractère NULL.
     
    REG_SZ - Ce type est une chaîne standard, utilisé pour représenter des valeurs de texte contrôlables.

    Il faut savoir que Regedit ne montre pas tout, un certain nombre de clés et valeurs sont cachées, il s'agit en principe des clés ou valeurs axées sur la sécurité, les stratégies de groupe et l'intégrité du système.