L'un des problèmes lorsque vous essayez de diagnostiquer des problèmes dans Windows est que de nombreuses informations sur les fichiers et les programmes chargés en arrière-plan sont cachées et difficilement visibles. L'un de ces programmes Windows est le processus svchost.exe qui ressemble à un seul processus dans le Gestionnaire des tâches, mais peut en fait contenir plusieurs services chargés par DLL que vous ne connaîtrez pas sauf si vous savez identifier ce qui se trouve à l'intérieur du processus svchost.
Un autre processus qui pourrait s'afficher dans votre liste des tâches Windows, mais vous ne pouvez jamais savoir de quoi il s'agit sera probablement le processus rundll32. Rundll32.exe est une partie de Windows trouvée dans \ Windows \ System32 et utilisée pour exécuter le code du programme dans un fichier dll comme s'il s'agissait d'un programme réel. Le fichier dll ne peut pas être exécuté directement, c'est pourquoi le rundll32.exe est nécessaire pour l'exécuter. De nombreux logiciels malveillants peuvent également utiliser ce nom ou des noms similaires pour vous faire croire que le virus est en fait un fichier Windows légitime. Des noms tels que rundII32.exe (utilisant en fait 2 lettres majuscules i) ou rundll.32.exe ne sont pas rares et vous devez toujours étudier les noms de fichiers rundll32 (et svchost) dans le Gestionnaire des tâches si vous pensez que vous avez des logiciels malveillants sur votre système. Rundll32 est également couramment utilisé par les logiciels espions pour lancer son propre code. Comme vous pouvez le voir si vous ouvrez le Gestionnaire des tâches et que vous avez un Rundll32.exe présent, vous ne pouvez pas réellement voir par défaut la DLL qu'il lance.
Voici comment identifier les fichiers DLL chargés dans rundll32.exe sous Windows XP, Vista et 7.
Utilisez le Gestionnaire des tâches pour identifier la commande Rundll32.exe en cours d'utilisation
Cette fonction est uniquement disponible dans Vista et versions ultérieures, et ce qu'elle fait est d'afficher une colonne supplémentaire dans le Gestionnaire des tâches qui vous indique quelle est la ligne de commande actuellement utilisée par le processus. Ouvrez le Gestionnaire des tâches -> menu Affichage -> Sélectionner les colonnes…, cliquez sur la zone Ligne de commande, puis sur OK.
Une nouvelle colonne sera désormais disponible et vous devriez être en mesure d'identifier la DLL en cours d'exécution.
Identifier les fichiers DLL chargés à l'aide de l'Explorateur de processus
Process Explorer est un excellent remplacement du gestionnaire de tâches créé par SysInternals qui peut afficher des informations beaucoup plus détaillées sur le chargement du processus Rundll32. Exécutez simplement l'outil Process Explorer et vous obtiendrez une liste de processus de type Task Manager.
Tout ce que vous avez à faire est de passer votre souris sur l'entrée Rundll32.exe et il vous montrera dans une info-bulle quelle commande est lancée et quelle DLL est exécutée. Comme vous pouvez le voir sur l'image, ce rundll32.exe exécute l'icône de la barre d'état nVidia.
Télécharger Process Explorer
Identifier les fichiers DLL chargés via l'invite de commande
Voici une manière manuelle d'identifier les fichiers DLL dans rundll32.exe. Ouvrez une invite de commande en appuyant sur WinKey + R et tapez cmd. Tapez ou collez ensuite la commande ci-dessous dans l'invite et appuyez sur Entrée.
liste des tâches / m / fi "IMAGENAME eq rundll32.exe"
Veuillez noter que par défaut, Windows XP Édition familiale n'a pas l'utilitaire tasklist.exe, seulement Professional. Il est intégré à toutes les versions de Windows Vista et 7. Si vous voulez l'outil Liste des tâches pour XP Home, vous pouvez le télécharger à partir de ce lien:
Télécharger Tasklist.exe
Les modules dll sont affichés sur le côté droit du résultat de la liste des tâches. Vous verrez probablement beaucoup de modules affichés qui sont les DLL internes de Windows et il faut un peu de connaissances d'un utilisateur expérimenté pour identifier toute DLL dangereuse sur la liste. Si vous n'êtes pas sûr, vous pouvez toujours faire une recherche dans Google sur le nom du fichier dll.
Faux fichiers Rundll32
Vous savez maintenant comment identifier les DLL chargées dans rundll32.exe, mais il existe également des instances de logiciels espions et de virus remplaçant le rundll32.exe d'origine de Windows par un faux. Lorsque vous avez un rundll32.exe mauvais ou corrompu, vous aurez des problèmes pour ouvrir le Panneau de configuration, etc.
Pour vérifier si votre rundll32.exe a été modifié ou remplacé, vous pouvez l'ouvrir avec le Bloc-notes, Wordpad ou un éditeur hexadécimal. Une fois que vous avez ouvert rundll32.exe, recherchez le mot «padding». Si ce mot se trouve dans le rundll32.exe, cela signifie que vous utilisez un faux fichier et qu'il doit être remplacé.
La façon la plus simple de remplacer le fichier est d'utiliser le vérificateur de fichiers système (SFC) à partir de l'invite de commandes.
1. Appuyez sur la touche Win + R et tapez cmd dans la boîte de dialogue Exécuter, appuyez sur Entrée.
2. Tapez la commande ci-dessous dans l'invite de commande et appuyez sur Entrée. Windows devrait maintenant remplacer le rundll32.exe corrompu et tout autre fichier système endommagé par un virus ou d'autres problèmes.
sfc / Scannow
Si vous savez que le fichier rundll32.exe est corrompu et que vous utilisez Vista ou 7, vous pouvez éviter une vérification complète des fichiers système et exécuter simplement SFC sur ce 1 fichier.
sfc /scanfile=c:\windows\system32\rundll32.exe
Les utilisateurs de Windows XP peuvent avoir besoin du CD d'installation de Windows pour restaurer un fichier d'origine. Une astuce très utile et permettant de gagner du temps pour éviter d'avoir besoin du CD à l'avenir lors de l'exécution de SFC consiste à copier le dossier i386 sur votre disque dur.