Entrée de registre. Comment ouvrir le registre ? Registre Windows tel qu'il est aujourd'hui

Le registre est un composant essentiel de la famille de systèmes d'exploitation Windows. C’est assez complexe à comprendre pour l’utilisateur moyen. Qu’est-ce que le registre Windows ? Le registre est une base de données centralisée qui stocke tous les paramètres du système d'exploitation et des applications qui y sont exécutées. Le registre contient des informations sur tous les périphériques matériels, des informations sur les extensions de nom de fichier, tous les composants et applications du système exécutés sur le système, les paramètres réseau, les informations de sécurité, etc.

Ainsi, si un ordinateur exécutant Windows possède un composant logiciel ou matériel qui affecte son fonctionnement, alors toutes les informations sur ce composant sont stockées dans le registre Windows. Le diagramme ci-dessous est un modèle simplifié montrant les composants du système et leur interaction avec le registre.

Examinons de plus près comment les composants de Windows 7 interagissent avec le registre système :

  1. Le programme d'installation de Windows (programme d'installation) - lors du premier lancement, collecte des informations sur le système et crée un registre basé sur les données reçues. Lors de l'installation de pilotes ou d'applications, le programme d'installation lit les informations du registre et y ajoute ses données de configuration. Avoir un registre permet à tous les programmes d'accéder à une base de données centralisée et d'interagir les uns avec les autres. De plus, les informations stockées dans le registre vous permettent de désinstaller correctement l'application sans affecter les composants importants tels que les DLL.
  2. Windows Recovery Environment (WinRE) est un ensemble d'outils conçus pour diagnostiquer un système endommagé et le restaurer après des erreurs graves. WinRE travaille activement avec le registre et l'une des tâches qu'il effectue consiste à réparer un registre endommagé.
  3. Gestionnaire de démarrage Windows – Le gestionnaire de démarrage accède à la base de données BCD (Boot Configuration Data), qui est stockée dans le registre. Après avoir lu les données de configuration, le gestionnaire de démarrage transfère le contrôle au chargeur Windows - le fichier winload.exe, qui lit tout d'abord les données nécessaires dans le registre, puis charge le noyau du système d'exploitation (%system32%\ntoskrnl. exe) et la couche d'abstraction matérielle ( %system%\hall.dll), ainsi que tous les pilotes de démarrage et DLL en mode noyau. C'est pourquoi si les fichiers de registre sont manquants ou endommagés, le système d'exploitation ne démarrera tout simplement pas.
  4. Le gestionnaire PnP est chargé de détecter un appareil à l'aide de deux paramètres : l'ID du fournisseur (VID) et l'ID de l'appareil (DID). Lorsque le gestionnaire PnP détermine une combinaison unique VID et DID, il demande des informations sur le bus sur lequel le périphérique est détecté et vérifie si un pilote pour ce périphérique est installé. Si le pilote n'est pas installé, le sous-système PnP doit trouver un fichier INF approprié pour installer le pilote et commencer à l'installer.
  5. Power Manager - interagit étroitement avec le gestionnaire PnP et les applications, prend en charge divers schémas de gestion de l'énergie et est contrôlé par des stratégies de groupe, et toutes ces informations sont stockées dans le registre.
  6. Pilotes de périphérique – échangez les paramètres de démarrage et les données de configuration avec le registre. Le pilote doit signaler les ressources système qu'il utilise. Les applications et les pilotes de périphériques eux-mêmes peuvent lire ces informations à partir du registre, offrant ainsi aux utilisateurs des outils d'installation et de configuration pratiques.
  7. Outils d'administration – Les outils d'administration Windows, notamment les utilitaires du Panneau de configuration et les programmes du groupe Outils d'administration, constituent le moyen le plus pratique et le plus sûr de modifier le registre.
  8. Profils d'utilisateurs – toutes les informations relatives à un compte d'utilisateur spécifique et à ses droits associés sont stockées dans le registre. Les stratégies de groupe sont également stockées dans le registre.
  9. Les profils matériels sont un ensemble d'instructions qui peuvent être utilisées pour indiquer au système d'exploitation quels pilotes de périphérique doivent être chargés au démarrage de l'ordinateur.
  10. Systèmes de fichiers – Depuis Windows Vista, les systèmes de fichiers et le registre sont basés sur les transactions. En pratique, cela signifie que si un ensemble d'opérations sur les fichiers et le registre est marqué comme une transaction, alors si au moins une de ces opérations échoue, la transaction entière peut être « restaurée » à sa position d'origine.
  11. Sous-système de sécurité Windows 7 - le sous-système de sécurité avec toutes ses fonctionnalités, y compris le contrôle de compte d'utilisateur (UAC), est également implémenté sur la base du registre et est utilisé pour le protéger. Le principe de l'UAC est de limiter les privilèges accordés aux applications en cours d'exécution au niveau de privilèges d'un utilisateur standard. En d'autres termes, même si l'utilisateur qui exécute l'application dispose de droits d'administrateur, les applications qu'il exécute ne disposent pas de tels privilèges, sauf si l'utilisateur les exécute explicitement en tant qu'administrateur. De cette façon, seules les applications auxquelles l'utilisateur fait confiance s'exécutent avec des privilèges élevés.
  12. Composants réseau Windows - incluent les pilotes de carte réseau, les paramètres des protocoles et services réseau, ainsi que les paramètres de sécurité réseau et la protection réseau contre les attaques. Tout cela est également stocké dans le registre. Par exemple, la base de données du pare-feu Windows se trouve dans le registre. De nombreux pare-feu tiers créent également leurs propres clés dans le registre. Une attaque réussie contre le registre ouvre donc la porte à une intrusion externe.

Le système de fichiers sur un disque dur a de nombreux points communs avec la structure logique du registre. Le registre contient des clés et des valeurs qui correspondent aux répertoires et fichiers du disque dur. Les clés de registre peuvent contenir des clés imbriquées (sous-répertoires). Les paramètres du registre (tout comme les fichiers) stockent les données. Les clés situées au niveau le plus élevé de la hiérarchie sont appelées clés racine. Le schéma de dénomination des clés de registre et des paramètres est similaire aux chemins du système de fichiers. Chemin typique vers une clé de sous-registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet. Le registre Windows 7 contient cinq clés racine : HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG.

À allez dans le registre de Windows 7, appuyez sur le raccourci clavier gagner + R(la fenêtre « Exécuter » apparaîtra), puis entrez et appuyez sur Entrer.

La fenêtre de l'éditeur de registre apparaîtra.

Tous les noms de clés racine commencent par la chaîne HKEY_, ce qui indique aux développeurs de logiciels qu'il s'agit d'un handle qui peut être utilisé par un programme.

Un handle est une valeur utilisée pour décrire de manière unique une ressource à laquelle un programme peut accéder.

Les descriptions des clés racine sont présentées dans le tableau ci-dessous.

Nom de la clé racine Description
HKEY_LOCAL_MACHINE Contient des informations globales sur le matériel et le système d'exploitation, notamment : le type de bus, la mémoire système, les pilotes de périphérique et les données de contrôle utilisées au démarrage du système. Les informations contenues dans cette clé s'appliquent à tous les utilisateurs inscrits dans le système. Au niveau supérieur de la hiérarchie du registre, il existe trois alias pour cette clé : HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG Et HKEY_DYN_DATA.
HKEY_CLASSES_ROOT Contient des associations entre les applications et les types de fichiers (par extension de nom de fichier). De plus, cette clé stocke les informations OLE associées aux objets COM, ainsi que les données d'association de fichiers et de classes.
HKEY_CURRENT_CONFIG Contient les données de configuration pour le profil matériel actuel. Les profils matériels sont des ensembles de modifications apportées à la configuration standard des services et des appareils établis par des données clés Logiciel Et Système clé de la rougeole HKEY_LOCAL_MACHINE. Dans la clé HKEY_CURRENT_CONFIG seules les modifications sont affichées.
HKEY_CURRENT_USER Contient le profil de l'utilisateur actuellement connecté au système, y compris les variables d'environnement, les paramètres du bureau, les paramètres réseau, les paramètres de l'imprimante et les paramètres de l'application. Cette clé est un lien vers la clé HKEY_USERS\user_SID, où user_SID est l'ID de sécurité de l'utilisateur actuellement enregistré dans le système.
HKEY_USERS Contient tous les profils utilisateur activement chargés, y compris HKEY_CURRENT_USER, ainsi que le profil utilisateur par défaut (.DEFAULT). Les utilisateurs accédant au serveur à distance n'ont pas de profil contenu sous cette clé - leurs profils sont chargés dans les registres sur leurs propres ordinateurs.

Les données du registre sont conservées sous forme de paramètres situés sous les clés de registre. Chaque paramètre est caractérisé par un nom, un type de données et une valeur réelle. Les trois parties du paramètre de registre sont toujours dans l'ordre indiqué dans la figure ci-dessous :

Le tableau ci-dessous répertorie les principaux types de données définis et utilisés dans Windows 7.

Nom de la clé racine Description
REG_BINAIRE Données binaires. La plupart des composants matériels utilisent des informations stockées sous forme de données binaires. Les éditeurs de registre affichent ces informations en hexadécimal.
REG_DWORD Les données sont représentées sous la forme d'une valeur de 4 octets. De nombreux pilotes de périphérique et paramètres de service utilisent ce type de données. Les éditeurs de registre peuvent afficher ces données au format binaire, hexadécimal et décimal.
REG_EXPAND_SZ Une chaîne de données extensible est un texte contenant une variable qui peut être remplacée lorsqu'elle est appelée par l'application.
REG_MULTI_SZ Champ multiligne. Les valeurs qui sont en réalité des listes de chaînes de texte ont généralement ce type de données.
REG_SZ Une chaîne de texte dans un format lisible par l'homme. Ce type est attribué à des valeurs qui représentent des descriptions de composants.
REG_DWORD_ Un nombre de 32 bits qui équivaut à REG_DWORD. L'octet de poids faible est stocké en mémoire en premier.
REG_DWORD_ Un nombre de 32 bits qui équivaut à REG_DWORD. L'octet de poids fort est stocké en mémoire en premier en nombre.
REG_LINK Lien symbolique UNICODE. Ce type de données est destiné à un usage interne. Le type de données REG_LINK permet à une entrée de registre d'être liée à une autre clé ou un autre paramètre.
REG_NONE N'a pas de type de données spécifique.
REG_QWORD Valeur 64 bits
REG_QWORD_
LITTLE_ENDIAN
Un nombre de 64 bits équivalent à REG_QWORD. L'octet de poids faible est stocké en mémoire en premier.
REG_QWORD_
BIG_ENDIAN
Un nombre de 64 bits équivalent à REG_QWORD. L'octet de poids fort est stocké en mémoire en premier en nombre.
REG_RESOURCE_LIST Liste des ressources matérielles utilisées dans la branche HKEY_LOCAL_MACHINE\HARDWARE
REG_FULL_RESOURCE_ Descripteur (descripteur) d'une ressource matérielle, utilisé dans une branche HKEY_LOCAL_MACHINE\HARDWARE
REG__RESSOURCE_ Liste des ressources matérielles requises, appliquées dans la branche HKEY_LOCAL_MACHINE\HARDWARE

Le registre est divisé en éléments constitutifs, que les développeurs ont appelés ruches, par analogie avec la structure cellulaire d'une ruche. Une ruche est une structure discrète de clés, de sous-clés et de paramètres qui provient du sommet de la hiérarchie du registre. La différence entre les ruches et les autres groupes de clés réside dans le fait qu'ils constituent des composants permanents du registre. Les ruches ne sont pas créées dynamiquement au démarrage du système et ne sont pas supprimées lorsque le système est arrêté.

Les données de la ruche du registre qui définissent les paramètres de configuration à l'échelle du système sont stockées dans des fichiers situés dans les répertoires %SystemDrive%\Boot\BCD et %SystemRoot%\System32\Config. Les ruches de registre qui spécifient les informations de configuration utilisateur sont stockées dans %SystemRoot%\Users\Username.

Soutenir le projet

Amis, le site Netcloud se développe chaque jour grâce à votre soutien. Nous prévoyons de lancer de nouvelles sections d'articles, ainsi que quelques services utiles.

Vous avez la possibilité de soutenir le projet et de contribuer tout montant que vous jugez nécessaire.

Le registre Windows, ou registre système, est une base de données hiérarchique de paramètres et de paramètres dans la plupart des systèmes d'exploitation Microsoft Windows.

Le registre contient des informations et des paramètres sur le matériel, les logiciels, les profils utilisateur et les préréglages. La plupart des modifications apportées au Panneau de configuration, aux associations de fichiers, aux politiques système et à la liste des logiciels installés sont enregistrées dans le registre.

Le registre Windows a été introduit pour organiser les informations précédemment stockées dans de nombreux fichiers INI, fournir un mécanisme unique (API) pour l'écriture et la lecture des paramètres et éliminer les problèmes de noms courts, de manque de droits d'accès et d'accès lent aux fichiers ini stockés sur le système de fichiers FAT16, qui présentait de sérieux problèmes de performances lors de la recherche de fichiers dans des répertoires en contenant un grand nombre. Au fil du temps (enfin, avec l'avènement du système de fichiers NTFS), les problèmes résolus par le registre ont disparu, mais le registre est resté en raison de la compatibilité ascendante et est présent dans toutes les versions de Windows, y compris la dernière. Comme il n'existe actuellement aucune condition préalable réelle à l'utilisation d'un tel mécanisme, Microsoft Windows est le seul système d'exploitation utilisé aujourd'hui à utiliser le mécanisme de registre du système d'exploitation. En général, le Registre est un rudiment.

Le registre Windows dans sa forme actuelle.

Le registre, tel que Windows l'utilise et tel que l'utilisateur le voit lorsqu'il utilise des programmes de registre, est constitué de diverses données. Pour obtenir ce que l'utilisateur voit lors de la modification du registre, procédez comme suit.

Premièrement, pendant le processus d'installation (installation) et de configuration de Windows, des fichiers sont formés sur le disque dans lesquels une partie des données concernant la configuration du système est stockée.


Ensuite, lors de chaque démarrage du système, ainsi que lors de chaque connexion et sortie de chaque utilisateur, une certaine entité virtuelle est formée, appelée « registre » - un objet REGISTRY\. Les données pour constituer le « registre » sont en partie extraites de ces mêmes fichiers (Logiciel, Système...), en partie des informations collectées par ntdetect lors du téléchargement (HKLM\Hardware\Description).

Autrement dit, une partie des données du registre est stockée dans des fichiers et une partie des données est générée lors du processus de démarrage de Windows.

Des branches de registre sont disponibles pour éditer, visualiser et étudier le registre à l'aide des outils Windows standard (programmes regedit.exe et regedt32.exe). Après avoir modifié le registre et/ou y avoir apporté des modifications, ces modifications sont immédiatement écrites dans les fichiers.

Cependant, il existe des programmes tiers qui vous permettent de travailler directement avec des fichiers.

Les programmes d'optimisation du registre, les tweakers, ainsi que les installateurs et désinstallateurs de programmes fonctionnent via des fonctions spéciales pour travailler avec le registre.

Où se trouvent les fichiers du registre Windows ?

Les fichiers de registre se trouvent dans le dossier windows\System32\config\ et il existe également une section de registre d'utilisateurs - dans le fichier %userprofile%\ntuser.dat.Les copies de sauvegarde des fichiers de registre se trouvent dans le dossier windows\System32\config\RegBack.

Quelles sont les principales sections (ruches) du registre ?

Section HKEY_CLASSES_ROOT

Il s'agit de la clé de registre principale de Windows et contient des associations de fichiers, qui associent les types de fichiers à des programmes pouvant les ouvrir et les modifier, ainsi que l'enregistrement de classe pour les objets COM (Component Object Model). Ce dernier offre la possibilité de modifier un nombre incroyable de règles de comportement du système - vous ne devriez pas le faire sans une bonne raison.

Section HKEY_CURRENT_USER

Il stocke les paramètres de l'utilisateur actif actuel. La branche stocke les dossiers utilisateur, divers paramètres personnels et paramètres du panneau de configuration. Ces informations interagissent directement avec le profil de l'utilisateur. Cette branche se compose de plusieurs sous-sections qui contiennent les chemins des fichiers son utilisés pour exprimer les événements du système ; Diverses choses qui peuvent être modifiées dans le Panneau de configuration, telles que la disposition des icônes ; des informations sur la disposition actuelle du clavier, les paramètres de l'application utilisateur, etc.

Section HKEY_LOCAL_MACHINE

Les paramètres de configuration qui s'appliquent à un ordinateur donné sont stockés ici (les paramètres sont définis simultanément pour tous les utilisateurs). Par exemple, il contient des informations sur la configuration de l'ordinateur, les pilotes et programmes installés, les noms de ports, les paramètres du système de fichiers, etc.

Section HKEY_USERS

Ce fil de discussion contient des informations sur les profils de tous les utilisateurs de cet ordinateur (nom d'utilisateur, paramètres du bureau, etc.). Cette section stocke également les paramètres par défaut du bureau, du menu Démarrer, etc. Ils sont nécessaires lorsqu'un nouvel utilisateur se connecte pour la première fois. À ce stade, les paramètres par défaut sont copiés dans son profil et toutes les modifications ultérieures apportées par l'utilisateur seront enregistrées dans cette branche.

Section HKEY_CURRENT_CONFIG

La clé est responsable des appareils Plug&Play et contient des informations sur la configuration actuelle de l'ordinateur avec une composition variable d'appareils, tels que des cartes flash, des imprimantes, des fax, des lecteurs externes, etc. Cette section contient également des informations sur le profil matériel actuel utilisé par l'ordinateur au démarrage du système.

HKEY_DYN_DATA

Cette section est uniquement disponible dans le registre de la famille de systèmes d'exploitation Windows 9x/ME. Contient des données changeant dynamiquement sur l'ordinateur (charge du processeur, taille du fichier d'échange, etc.)

Comment modifier le registre ?

Tout est simple dans la recherche Windows on tape regedit et lancez l'éditeur de registre en tant qu'administrateur. Avant d'effectuer toute opération dans le registre, vous devez faire une copie de sauvegarde ! Si quelque chose ne va pas, vous pouvez revenir à la version de travail du registre.


Optimisation du registre.

Il y a un débat quant à savoir s'il vaut la peine d'optimiser le registre Windows. Je dirais que l'optimisation est plus utile pour les ordinateurs les plus faibles que pour les plus puissants. Mais il y a encore une nuance : parfois, des paramètres de registre non effacés peuvent provoquer des pannes et des conflits logiciels et matériels, je recommande donc de nettoyer le registre des données inutiles.


De plus, le registre se fragmente au fil du temps, cela se produit également en raison des purges. Par conséquent, pour ceux qui nettoient constamment le registre, je recommande également de défragmenter parfois le registre.

Pour optimiser le registre Windows, vous pouvez utiliser les programmes WinOptimizer, Reg Organizer, Auslogics Boostspeed.


Si vous avez des questions, regardez la vidéo ci-dessus.

Le registre stocke des informations sur la configuration de votre ordinateur, les paramètres Windows et les paramètres des programmes installés. Les composants du système accèdent en permanence à ces informations. Par conséquent, si une défaillance du registre se produit, les programmes peuvent cesser de fonctionner ou perdre partiellement leurs fonctionnalités. Examinons de plus près les nuances de son utilisation.

Lancement de l'éditeur de registre

Le moyen le plus simple d’ouvrir l’Éditeur du Registre dans Windows 7 consiste à utiliser « Exécuter" Cela commence dans le menu " Commencer» ou une combinaison de boutons Gagner + R.. Dans la ligne de texte, entrez la commande regedit et complétez-le.

Il convient de comprendre que la modification des paramètres du système peut entraîner des dysfonctionnements de l'ordinateur et l'impossibilité de lancer certains programmes. Il est donc recommandé que seuls les utilisateurs expérimentés effectuent des modifications. Des actions ineptes peuvent entraîner de graves conséquences.

Problèmes survenant

Le processus d'installation de presque tous les programmes ou utilitaires inclut la modification du registre. Si l'installation est effectuée de manière incorrecte ou si un échec se produit au cours de celle-ci, il existe une possibilité de modification incorrecte des fichiers système. Parfois, cela n’affecte en rien les performances de l’ordinateur. Mais dans certains cas, cela entraîne des échecs, des ralentissements et d’autres facteurs négatifs.

Résolution de problèmes

Il existe trois grands groupes de problèmes associés au registre : la fragmentation, le remplissage d'informations inutiles et la corruption des données. Tout est clair avec la dernière catégorie, regardons de plus près les deux autres.

Le phénomène de fragmentation est qu'un fichier est écrit en blocs dans différentes zones du lecteur. Dans le même temps, la vitesse d'accès ralentit. Les données du registre sont également susceptibles d'être fragmentées.

Le plus souvent, le programme n'est pas complètement supprimé de l'ordinateur ; les données résiduelles ne sont parfois pas effacées. Ceux-ci incluent les entrées dans le registre. Un grand nombre d'entre eux entraîne un ralentissement de Win 7.

Dans le premier cas, la défragmentation sera utile ; elle est effectuée à l'aide de l'utilitaire ; Défragmenteur. Pour résoudre le deuxième problème, cela vaut la peine d'installer CCleaner. Et pour le troisième, restaurez le système d'exploitation.

Problème 1 : Fragmentation

Utilitaire Défragmenteur conçu pour optimiser le travail avec les données du registre. Avec son aide, vous pouvez effectuer une défragmentation.

La défragmentation n'est disponible qu'avant le démarrage du système d'exploitation. Par conséquent, l'utilitaire s'exécutera au démarrage de l'ordinateur. Suivez les instructions pour le configurer :


Remarque : premier démarrage du système après l'installation Défragmenteur durera plus longtemps que d'habitude. C’est tout à fait normal, car l’ordinateur met un certain temps à traiter les données. Les téléchargements ultérieurs seront beaucoup plus rapides.

Une fois la défragmentation réussie, le système démarre. Mais le programme est configuré de telle manière que la procédure sera effectuée à chaque démarrage de l'ordinateur. Pour désactiver ce paramètre, supprimez Défragmenteur ou modifier ses paramètres de fonctionnement. Mais il est conseillé de tout laisser tel quel pour le moment. Cela améliorera la vitesse de votre PC après le démarrage.

Problème 2 : fichiers résiduels

Un utilisateur expérimenté peut nettoyer le registre de Windows 7 manuellement. Mais il est préférable d'utiliser pour cela un logiciel spécial. Dans ce cas, il n’y a aucun risque d’endommager des données importantes.

Il convient de souligner CCleaner. Il s'agit d'un utilitaire puissant pour nettoyer votre PC Windows. Il a de nombreuses fonctions différentes, notamment le nettoyage des données du registre.

Mode d'emploi :


Il est conseillé de nettoyer régulièrement les données résiduelles, en créant constamment des fichiers de sauvegarde. Cela s'avérera utile si les modifications apportées au registre provoquent des problèmes dans Windows 7.

Problème 3 : corruption des données

Si des actions de modification des paramètres de registre entraînent de graves problèmes, les méthodes précédentes ne contribueront pas à résoudre le problème. Dans ce cas, il est préférable d'effectuer une réparation du registre sous Windows 7.

L'option la plus simple est la restauration. Dans ce cas
Le système d'exploitation reviendra à son état précédent, lorsqu'aucune modification n'a été apportée à l'origine de l'erreur.

Instructions de récupération Windows :


Lors du choix d'un point de restauration, vous devez vous concentrer sur la date. Bouton " Rechercher les programmes concernés» affichera les éléments du système qui seront supprimés lors de la restauration.

Peut-être que chacun d'entre vous a entendu le mot « registre », mais peu se sont posé la question « Qu'est-ce que c'est », mais en vain. Après tout, la possibilité de modifier le registre peut permettre d'économiser beaucoup de temps, d'argent, de nerfs et d'efforts. Comment lancer le registre du système d'exploitation Windows 7, ainsi que les principales méthodes d'utilisation, sont discutés en détail dans cet article.

Tout d’abord, vous devez comprendre ce qu’est exactement le registre. Pour mieux comprendre cela, imaginez un cahier avec quelques notes dans un certain ordre. Si toutes les feuilles de ce cahier sont arrachées et mélangées, les informations resteront les mêmes, mais elles seront beaucoup plus difficiles à lire. Vous devrez d’abord trouver la page dont vous avez besoin avant de la lire, et c’est du temps perdu.

Une situation similaire s'est produite lors de l'utilisation du système de fichiers Fat16, qui présentait de sérieux problèmes de performances. Il a ensuite été décidé d'introduire un registre pour organiser l'information. Au fil du temps, les problèmes résolus par le registre ont disparu, mais ils ont été conservés en raison de la compatibilité ascendante.

Le registre Windows est une base de données hiérarchique de paramètres et de paramètres des programmes installés.

Physiquement, tous les paramètres du registre sont enregistrés dans des fichiers et dispersés dans tout le système. Lorsque le programme démarre, le registre trouve les paramètres nécessaires et les exploite. Plus il y a d'applications sur les ordinateurs, plus il y a de fichiers de paramètres et plus il faudra de temps pour trouver ce dont vous avez besoin. Par conséquent, le registre doit être nettoyé de temps en temps pour maintenir les performances du système.

Il existe deux manières de lancer le registre Windows 7 :

  1. Démarrer → dans la barre de recherche, écrivez regedit → dans les résultats trouvés, ouvrez le fichier regedit.exe.
  2. Lancez l'Explorateur → allez dans le dossier C:\Windows → recherchez le fichier regedit.exe et ouvrez-le.

Si vous avez tout fait correctement, l'éditeur de registre s'ouvrira.

Modification du registre. Exporter/Importer

Devant nous se trouve une fenêtre d'édition du registre de Windows 7 :

  • Sur le côté gauche se trouvent des sections.
  • A droite se trouvent les paramètres.
  • En bas se trouve la barre d'état, qui affiche le chemin d'accès au paramètre.

Lorsque vous travaillez avec les paramètres du registre, vous devez être extrêmement prudent, car le registre est le système nerveux de Windows.

Par conséquent, avant de modifier des paramètres, il est recommandé de créer une copie du registre.

Faites un clic droit sur la section « Ordinateur » - Exporter - définissez un nom, vérifiez la plage d'exportation (qui devrait être « Registre entier ») et spécifiez le dossier - cliquez sur Enregistrer.

Après les étapes ci-dessus, un fichier avec l'extension .reg apparaîtra. Désormais, si vous échouez en modifiant les paramètres, le registre peut toujours revenir à son état d'origine.

Pour ce faire, cliquez sur « Fichier » – Importer... - recherchez le Registry.reg que nous avons enregistré plus tôt et cliquez sur « Ouvrir ». Tous les paramètres reviendront à l'heure à laquelle la copie a été créée.

Récupération du mot de passe administrateur à l'aide du registre

  1. Pour obtenir un exemple montrant quelles tâches peuvent être effectuées dans le registre, considérez le problème suivant. Supposons que vous l'êtes. Aucun problème! Il peut être modifié à l'aide du registre. Pour ce faire, nous avons besoin d'un disque d'installation de Windows 7.
  2. Démarrez à partir du disque d'installation. Après avoir copié les nouvelles données, il nous sera demandé de sélectionner une langue. Laissez tout tel quel et cliquez sur « Suivant ».
  3. Une fenêtre peut apparaître avec le texte « Problèmes détectés dans les options de démarrage ». Ignorez et sélectionnez le système d'exploitation et cliquez sur « Suivant ».
  4. Dans la fenêtre suivante, sélectionnez le paramètre le plus bas « »
  5. Dans la ligne de commande, tapez la commande que nous connaissons déjà, regedit et appuyez sur Entrée.
  6. Dans l'éditeur, sélectionnez HKEY_LOCAL_MACHINE
  7. Ensuite, dans le menu Fichier, sélectionnez « Charger la ruche ».
  8. Allez dans le dossier C:\Windows\System32\config (la lettre peut différer du C habituel). Nous sommes intéressés par le fichier SYSTEM.
  9. Entrez n’importe quel nom de section. Par exemple : 888.
  10. Accédez à la section HKEY_LOCAL_MACHINE\888\Setup. Cliquez deux fois sur le paramètre :
    • CmdLine , entrez cmd.exe et cliquez sur OK
    • SetupType , remplacez 0 par 2 et cliquez sur OK.

    Suite aux manipulations ci-dessus, cela devrait ressembler à ceci :

Aujourd'hui, nous allons essayer d'accéder au registre Windows par la porte dérobée, sans utiliser les fonctions WinAPI standard prévues à cet effet. Qu'est-ce que cela va nous donner au final ? La possibilité d'écrire et de lire directement depuis le registre, en contournant les restrictions fixées par les développeurs de solutions antivirus !

Pour l’avenir, je noterai : ce sujet est intéressant, mais il y a ici toute une série de problèmes sérieux. Mais qui a dit que nous ne pouvions pas y faire face ? 🙂

Qu'est-ce qu'un registre ou des paroles

Du point de vue du système d'exploitation Windows, le registre est un espace de stockage unique. Cette base de données hiérarchique unique stocke les paramètres, les données, les informations d'enregistrement et d'autres conneries sur presque tout dans le système, des programmes aux paramètres d'un utilisateur spécifique. Presque tout est stocké dans le registre. Malgré le fait que certains programmes préfèrent stocker leurs paramètres dans les ini-configs (en particulier les programmes écrits pour Win 3.11 - NDLR), Windows lui-même lit toutes les informations nécessaires le concernant dans le registre. Pour être honnête, nous notons que dans les systèmes d'exploitation de type * nix, le système de stockage des paramètres dans diverses configurations domine toujours.

Lorsqu'ils commencent à travailler avec le registre, les administrateurs système débutants sont effrayés par leurs camarades plus âgés : une configuration et une modification incorrectes des paramètres de registre peuvent faire planter complètement le système lors de sa réinstallation ultérieure. Et c'est vrai.

Par exemple, les points de récupération sont des copies du registre. Ils sont largement utilisés par les utilisateurs lorsque divers problèmes surviennent à la fois avec le système d'exploitation, les logiciels et le matériel.

Il faut dire que 99% des informations sur le registre Windows sont une description des clés principales ainsi que des conseils sur la façon de les utiliser. Mais comment le système d’exploitation lui-même fonctionne-t-il avec le registre ? Et pouvons-nous imiter ses actions ? Spéculons un peu.

Et alors ?

Le registre est à la fois une force et une faiblesse de Windows. La force du registre réside dans le fait que les développeurs de logiciels n’ont pas besoin de manipuler un grand nombre de configurations, comme c’est le cas, par exemple, dans Nix. Le registre est également pratique pour les créateurs de composants COM - le système enregistre automatiquement un tel composant dans le registre et facilite la tâche de son utilisation ultérieure.

La faiblesse du registre est que l'accès à la modification des zones sensibles du registre permet à tout programme écrit par un nouveau malware de contrôler Windows. Rappelez-vous simplement la branche la plus connue du registre Windows, qui permet de lancer des programmes au démarrage de l'OS :).

Si sous Windows 98, le registre pouvait être réparé par quiconque y pensait, alors à partir de Windows XP, seuls les utilisateurs disposant d'un compte administrateur ont accès au registre. Sous Vista+, l'accès au registre est protégé par l'UAC. C'est compréhensible.

Il faut admettre qu'avec la sortie de Win7, les concepts de sécurité lors de l'utilisation du registre ont été révisés pour le mieux. Par exemple, la branche de registre de clés HKEY_LOCAL_MACHINE est protégée. En général, une tentative d'écriture de quelque chose sera redirigée vers la branche HKEY_CURRENT_USER appropriée pour l'utilisateur actuel.

Interface

Pour travailler directement avec le registre, Windows propose au programmeur tout un ensemble de WinAPI, qui devraient être familières à tout développeur système - ce sont des fonctions Reg*, telles que RegOpenKey, RegQueryValue, etc. Dans le noyau Win, il s'agit de NtOpenKey, NtQueryValueKey et plusieurs autres. Il n'y a aucun intérêt particulier à les décrire, toute la documentation sur le bon usage de ces fonctions est disponible sur MSDN.

Voici quelque chose à noter. Pour contrôler les actions des utilisateurs, des antivirus et des programmes proactifs ont installé des interceptions sur les fonctions mentionnées, à la fois dans le noyau et en mode utilisateur.

Avec la sortie de Win7 x64, la situation a changé et j'en ai déjà parlé une fois. Les développeurs Windows ont décidé d'abandonner la possibilité d'intercepter les fonctions potentiellement dangereuses du noyau Win. Désormais, la variable KeServiceDescriptorTable n'est plus exportée en x64 et PatchGuard ne vous permettra pas de réécrire la section requise du code. Il existe bien sûr des solutions sadomasochistes pour contourner ces restrictions – mais cela entraînera plus de souffrance que de profit. De plus, Microsoft propose des ObRegisterCallbacks pratiques pour surveiller le registre.

INFOS

Il existe très peu d'informations sur Internet sur les structures qui décrivent les principaux fichiers du registre. Et presque tous sont en anglais. Des connaissances de base peuvent être trouvées. En outre, les camarades M. Russinovich et D. Solomon ont bien écrit sur le registre dans la bible des systèmes « Périphériques internes de Windows ».

Et maintenant - sur le plus intéressant

Mais qu’est-ce qu’un registre réellement ? Si vous regardez dans le dossier WINDOWSsystem32config, vous pouvez y voir plusieurs fichiers : système, logiciel, sécurité, SAM et plusieurs autres.

Ce sont des fichiers de registre.

Cependant, il serait injuste de parler du registre simplement comme d'une combinaison de fichiers chargés en mémoire. Une grande partie de ce que contient le registre est de nature dynamique, c'est-à-dire qu'un certain nombre de valeurs sont calculées au stade du chargement du système lui-même, cela concerne principalement certains paramètres matériels. Par exemple, il s'agit de la sous-clé de registre HKEY_DYN_DATA dont les données, au démarrage du système d'exploitation, sont placées dans la RAM et y restent jusqu'à l'arrêt du système d'exploitation. Soit dit en passant, la même chose peut être dite à propos de la sous-clé de clé HKEY_LOCAL_MACHINE, qui n'a pas son propre fichier correspondant sur le disque, mais est en fait formée à partir d'autres fichiers de registre, tels que le logiciel, le système et autres.

Ainsi, le registre de l’intérieur peut être appelé de manière très vague une « combinaison virtuelle de fichiers de registre ». Après le démarrage du système, ces fichiers se trouvent à la fois dans le fichier d'échange (pool paginé) et dans la mémoire non paginée (non paginée).

Structure du registre

Afin d'apprendre à travailler directement avec le registre, vous ne pouvez pas vous passer de la connaissance de sa structure interne. En général, Microsoft n'a jamais divulgué la structure interne des fichiers qui composent le registre car cela présente un risque pour la sécurité. D'après mes observations, toutes les descriptions disponibles des fichiers du registre et de leur structure (et d'ailleurs il y en a très peu) sont le résultat des recherches de chercheurs pionniers. La «recherche» la plus complète, à mon avis, qui soit possible, appartient au camarade Peter Norris.

Nous n'entrerons pas maintenant dans les détails de l'organisation et de la structure du registre ; c'est une question longue et fastidieuse et n'entre certainement pas dans le cadre de l'article. Il est important de comprendre ici que le registre est une structure hiérarchique arborescente, parfois appelée « nid d’abeilles ».

Et que faire de tout ça maintenant ?

Je vais vous décevoir tout de suite : vous ne pourrez pas jouer des tours facilement directement avec le registre en mode utilisateur ; le système ne vous permettra pas de le faire, comme c'est généralement le cas avec les fichiers occupés par d'autres processus ; Si vous essayez de l'esquiver, vous ne pouvez lire un tel fichier « occupé », et seulement si vous devinez les drapeaux avec lesquels il a été ouvert. Malheureusement, il ne sera pas possible d'écrire les informations qui nous intéressent dans le « dossier de registre ». À propos, la fonctionnalité d'écriture des informations nécessaires dans le registre peut fonctionner si vous écrivez dans le registre des fichiers *.BAK, ils sont définitivement accessibles en écriture.

Alors, surveillez votre main :).

La première chose qui pourrait vous venir à l’esprit est d’ouvrir directement le fichier de registre et d’y écrire quelque chose.

Théoriquement, cela peut être fait, pour cela, vous devez, d'une part, être capable de travailler avec des fichiers « occupés » (rechercher des méthodes sur Internet) et, d'autre part, comme je l'ai dit plus haut, vous devez connaître la structure interne du registre. fichiers. Cette méthode est plutôt maladroite, mais malgré son absurdité, elle est tout à fait viable, même si elle est difficile à mettre en œuvre dans la pratique (essayez de l'expérimenter vous-même).

Ici, je vais proposer deux méthodes qui vous aideront à découper le registre en petits morceaux.

La première est que pour le gestionnaire de configuration (Configuration Manager, qui fait partie du système d'exploitation, si vous ne le savez pas), le registre n'est rien de plus qu'un ensemble de structures strictement définies dans la mémoire d'exploitation, qui, en fin de compte, sont très faciles à travailler. Quelles sont ces structures, demandez-vous ? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, un tas de structures CM_* utilisées par le gestionnaire de configuration pour gérer le registre. Du point de vue du système d'exploitation, le registre est simplement un ensemble de structures réglementées en RAM. Par exemple, la signature « regf », qui définit un « fichier de registre », est une constante prédéfinie :

Définir HBASE_BLOCK_SIGNATURE 0x66676572 typedef struct _HBASE_BLOCK ( ULONG Signature; //0x66676572 ULONG Sequence1; ULONG Sequence2; LARGE_INTEGER TimeStamp; .... )

Autrement dit, le but de tout mon monologue est qu'il existe une excellente opportunité de manipuler le registre au niveau du système d'exploitation, mais sans utiliser ses outils standard. Comment est-ce possible ? Nous imitons simplement les actions du système d'exploitation lui-même, exactement de la même manière qu'il fonctionne avec le registre ! Il est important, comme je l'ai déjà dit, de comprendre que pour le système d'exploitation lui-même, le registre n'est rien de plus qu'un ensemble de structures correspondantes en mémoire.

Si nous avons accès aux fichiers de registre au niveau du noyau, alors pourquoi sommes-nous pires que le système d'exploitation lui-même pour établir son ordre ?

Et ici surgit la question la plus intéressante : comment retrouver ces mêmes structures dans la mémoire ? C'est vrai, il n'existe pas d'outils système standard pour résoudre ce problème, vous devrez donc vous en sortir de manière astucieuse.

Sachant à quoi ressemblent les structures, vous devez vous rappeler que chaque fichier, la ruche du registre, possède sa propre signature constante. Par exemple, « regf » vaut 0x66676572. Pour une ruche, la signature sera 0xBEE0BEE0. Avec l'accès à la mémoire depuis le noyau, nous pouvons retrouver ces signatures en mémoire assez facilement en les scannant simplement. Vous pouvez également scanner la mémoire à la recherche de la signature "CM10" - c'est celle-ci qui est attribuée par le gestionnaire de configuration au bloc de mémoire d'échange, qui est alloué à la structure CMHIVE. Je crois qu'une fois que vous aurez trouvé un élément qui nous intéresse dans votre mémoire, vous saurez quoi en faire ensuite :).

Comment, par exemple, modifier la valeur d’une cellule de registre ? La valeur est stockée dans le champ CM_KEY_VALUE->Data, donc si vous avez pour tâche de modifier un champ dans une clé de registre spécifique, recherchez la valeur ici :

Typedef struct _CM_KEY_VALUE ( Signature WORD ; // #define CM_KEY_VALUE_SIGNATURE 0x6B76 WORD NameLength ; ULONG DataLength ; ULONG Data ; //<---------- данные ячейки будут здесь ULONG Type; WORD Flags; WORD Spare; WCHAR Name; } CM_KEY_VALUE, *PCM_KEY_VALUE;

La deuxième option est une sorte de modification de la première. Si vous le savez, il y a une particularité lorsque vous travaillez avec le registre - toutes les modifications, c'est-à-dire "créer de nouvelles clés / écrire / supprimer des clés", en règle générale, prennent effet après le redémarrage du système (enfin, ou après l'explorateur). redémarré, c'est une telle méthode de hack). Avant cela, tous les changements semblent être dans un état suspendu et « sale ». De plus, lorsque le système accède au registre, il communique avec lui via le cache du système de fichiers. C'est compréhensible - il peut y avoir des centaines d'appels au registre par seconde, il est donc déraisonnable de se fier à la vitesse du système de fichiers ; Par conséquent, le système fonctionne avec le registre, comme on dit, virtuellement, via le cache du système de fichiers. Et ici, pour mettre en lumière les entrailles du registre, vous devez accéder au cache ! La manière dont cela est effectué a déjà été décrite dans des Tyrnets, notamment dans.

Avantages et inconvénients, ou plutôt une conclusion

Que puis-je dire au final ? La variation sur le thème du contrôle direct sur le registre proposée au lecteur dans l'article est de nature exclusivement expérimentale. Je ne discute pas, c'est un peu difficile à mettre en œuvre dans la pratique, et beaucoup diront qu'il est préférable d'utiliser les fonctions WinAPI normales conçues pour fonctionner avec le registre - et ils auront raison à certains égards. Cependant, la bibliothèque implémentée par die_hard dans la pratique, basée sur les principes énoncés dans l'article, aura un véritable pouvoir thermonucléaire, échappant au contrôle ni des serveurs ni du système d'exploitation lui-même.

Ensuite, je terminerai. Bonne compilation et que la Force soit avec vous !

WWW

L'article de Mark Russinovich sur le registre « Inside the Registry » est une lecture incontournable ; il y avait même une traduction en russe ; Un merveilleux outil pour collecter des informations de registre : http://goo.gl/iSSVy.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :