Suicidows

Lucidiot Informatique 2017-10-26
Résultats d'expériences de torture de machine virtuelle.


Un jour, en plein BTS, je m'étais beaucoup ennuyé — comme d'hab. Cependant, j'avais mon laptop, branché sur son chargeur, et deux machines virtuelles, une Debian et une Windows 7. J'ai décidé pour m'occuper un peu de m'amuser à tester la non-résistance de Windows à la perte de fichiers critiques, et puis j'ai continué dans le train.

Méthode

  1. Démarrage d’une machine virtuelle Debian avec le disque dur de la machine virtuelle Windows 7 en esclave ;
  2. Restauration des éventuels fichiers détruits précédemment ;
  3. Copie de sauvegarde du fichier à détruire ;
  4. Destruction du fichier sur le disque dur esclave ;
  5. Arrêt de Debian ;
  6. Démarrage de la machine Windows 7 ;
  7. Captures d’écran et consignation des résultats.

Résultats

Noyau Windows

Quoi de mieux pour commencer les hostilités que d'arracher le cœur même du système, ce qui le fait fonctionner ? C'est le boulot de ntoskrnl, qui est le noyau Windows, le petit programme qui s'enclenche au démarrage. En le supprimant, hélas, l'outil de redémarrage système est trop fort et arrive à sauver le système.

winlogon

Winlogon est un programme destiné à gérer la fonction d'authentification du système : appuyer sur Ctrl+Alt+Suppr, détecter des serveurs d'identifiants Active Directory sur le réseau, charger le profil utilisateur à la connexion, etc. Il est parfois mal aimé des versions pirates puisqu'il vérifie la licence de Windows depuis Windows XP. En le supprimant, on a un écran bleu et l'outil de redémarrage système s'ouvre.

explorer

Encore un autre programme que tout le monde connaît : l'explorateur Windows. Il se charge également d'afficher les icônes sur le Bureau et d'afficher la barre des tâches. L'appui de Ctrl+Alt+Suppr n'est pas géré par lui, ce qui permet de le réexécuter sans redémarrer quand il plante, mais le raccourci Ctrl+Shift+Échap dans les versions les plus récentes de Windows l'est. En supprimant l'explorateur, le bureau est simplement vide. Tout fonctionne, même des boîtes de dialogue d'ouverture par exemple, à condition de savoir les ouvrir sans l'explorateur de fichiers.

shell32.dll

Toutes les personnes qui ont essayé de modifier l'icône d'un dossier pour y mettre le magnifique arbre connaissent SHELL32.dll : la bibliothèque d'icônes de l'interface utilisateur de Windows, et ce depuis le début de Windows. Sa suppression est assez amusante ! On obtient des messages d'erreur un peu partout, le bureau ne s'affiche pas, et les options de sécurité (le menu s'affichant avec Ctrl+Alt+Suppr) s'ouvrent et s'affichent avec un message d'erreur et aucun bouton ne fonctionne.

Premier message d'erreur au démarrage sans SHELL32
Premier message d'erreur au démarrage
Second message d'erreur pendant l'ouverture de session
Second message d'erreur pendant l'ouverture de session

Registre et services Windows

En fouillant un petit moment dans system32, je suis tombé sur les fichiers du registre Windows, et sur quelques autres programmes associés au registre et aux services de Windows. Du très sensible donc.

BSOD après la suppression de HKLM\Software
BSOD après la suppression de HKLM\Software
Échec de l'outil de redémarrage système après la suppression de HKLM\System
Échec de l'outil de redémarrage système après la suppression de HKLM\System

Dossiers de Windows

Manquant un peu d'inspiration pour la suite, je me suis mis à supprimer des dossiers entiers.

Message « Préparation du Bureau » en supprimant C:\Users
Message « Préparation du Bureau » en supprimant C:\Users
L'un des nombreux messages d'erreur sans C:\Users
L'un des nombreux messages d'erreur sans C:\Users.
L'un des nombreux plantages de l'explorateur Windows, dans la configuration des utilisateurs du système.
L'un des nombreux plantages de l'explorateur Windows, dans la configuration des utilisateurs du système.
BSOD à la suppression de NTDLL.dll
Le résultat de la suppression de NTDLL

NTDLL

NTDLL.DLL est la première couche d'abstraction chargée par le noyau et contient les fonctionnalités les plus basiques. En le supprimant, on obtient un écran bleu ayant pour message PROCESS1_INITIALIZATION_FAILED.

HAL

La HAL, ou Hardware Abstraction Layer, dans HAL.DLL, est la première couche d'abstraction matérielle de Windows. Tous les logiciels sont censés l'utiliser pour accéder aux périphériques de l'ordinateur. Quand elle est supprimée, l'outil de redémarrage système s'enclenche et parvient à la restaurer. Dommage !

Win32

En me renseignant sur Wikipédia, j'ai pu commencer à torturer un peu les couches les plus importantes du noyau Windows et du sous-système Win32.

Supprimer une seule de ces trois DLL cause un arrêt spontané après l'écran de démarrage.

COMCTL et COMDLG

Ces deux DLL sont censées fournir des fonctionnalités pour les boîtes de dialogue d'ouverture ou d'enregistrement de fichier. En supprimant COMCTL32.DLL, rien ne change ; par contre, en supprimant COMDLG32.DLL, certains logiciels tels que Paint ou WordPad refusent purement et simplement de démarrer.

Connexions réseau

Résultat de la suppression de NETAPI32.dll
Le résultat de la suppression de NETAPI32.dll, à l'ouverture de session

dllhost

Un des programmes que je n'ai jamais vu avant Windows Vista est dllhost.exe, qui semble être un programme conçu pour exécuter des applications contenues dans des DLL. Je trouve ça assez étrange et tordu, pourquoi ne pas faire un simple .exe ? Mystère. Quoi qu'il en soit, le supprimer rend inopérante la visionneuse de photos Windows, entre autres.

CSRSS

csrss.exe est le sous-système client-serveur lors de l'exécution, par traduction littérale de son acronyme. Il fournit normalement les fonctionnalités du sous-système Win32 côté utilisateur (en dehors du noyau). Il est notamment responsable de l'arrêt de l'interface graphique, puisque la plupart de ses fonctionnalités ont été déplacées côté noyau depuis Windows NT 4.

L'article Wikipédia sur le sujet mentionne le déclenchement d'un écran bleu si on tue le processus ou qu'on le supprime. Tuer csrss.exe a effectivement été pendant un bon moment un excellent moyen de déclencher rapidement et efficacement un BSoD ; le gestionnaire des tâches avertit d'ailleurs depuis Windows 7 que tuer ce processus causera ledit BSoD. Cependant, en le supprimant, on n'a non pas droit à un écran bleu mais un arrêt spontané de l'ordinateur juste après l'écran de démarrage. Erreur de Wikipédia !

Moins intéressant

Conclusion

Les tests nous ont démontré qu'un bon nombre des programmes supposément importants de Windows ne servent en fait à rien ; le maintien de leur présence est probablement dû à des besoins de rétrocompatibilité, notamment avec les systèmes 32-bits.

On constate également que l'outil de redémarrage système a été conçu seulement pour restaurer une mince partie des fichiers système. De plus, la restauration s'effectue à l'aide de WinSxS, un dossier content une sorte d'archive fortement réduite des fichiers d'installation de Windows. Des logiciels de nettoyage s'amusent souvent à se débarasser de ce dossier, rendant donc l'outil de redémarrage totalement inutile.

Enfin, les tests montrent clairement l'assez grande facilité que l'on a à détruire Windows avec un unique fichier ; ce qui est assez normal quand on touche au noyau, mais il reste toujours aussi anormal que la suppression ou la corruption d'un des fichiers ne soit pas suffisamment prise en compte par les documentations d'aide à la résolution des problèmes.

N'hésitez pas à me suggérer de nouveaux fichiers ou dossiers à supprimer ou des fonctionnalités à triturer. Je dispose encore d'une machine virtuelle Windows 7 prête à souffrir en cas de besoin.


Commentaires

Il n'y a pour l'instant aucun commentaire. Soyez le premier !