À quoi sert un fichier DLL
DLL signifie bibliothèque de liens dynamiques. Les programmes Windows peuvent charger une DLL lorsqu'ils ont besoin de fonctions, de données ou de ressources partagées. Une bibliothèque peut servir une seule application ou plusieurs composants associés. Windows la conserve donc généralement dans le dossier choisi par l'installateur ou par le composant système.
Une DLL est un logiciel compilé, pas un document, une image ni un fichier texte ordinaire. Un double-clic n'affiche généralement rien d'utile. La boîte de dialogue « Ouvrir avec » ne signifie pas que le fichier est endommagé : Windows demande quelle application devrait le traiter, s'il en existe une. Choisir un programme au hasard ne permet pas de lire son code de manière fiable.
Ouvrir un fichier DLL peut vouloir dire vérifier son identité, voir une icône intégrée, lister ses fonctions exportées, examiner un assemblage .NET ou demander à une application de charger la bibliothèque. Ce sont des tâches différentes qui exigent des outils différents. Pour commencer, privilégiez la lecture seule et laissez le fichier dans son dossier d'origine.
- L'inspection des métadonnées lit les informations enregistrées dans le fichier sans demander à une application d'utiliser ses fonctions.
- Un visualiseur de ressources peut afficher certaines icônes, chaînes ou fenêtres de dialogue, mais pas toute la logique du programme.
- Charger une DLL dans un processus peut exécuter du code ; c'est une action distincte et plus risquée que consulter ses propriétés.
Ouvrir une DLL : choisissez la méthode selon votre objectif
Pour ouvrir un fichier DLL afin d'identifier le fichier ou voir une icône, une vue en lecture seule suffit. Examiner une DLL n'est pas la même chose que la charger ; vous n'avez pas besoin de la décompiler ni de l'enregistrer dans Windows. La méthode dépend de ce que vous cherchez à savoir.
| Votre besoin | Commencez par | Informations possibles |
|---|---|---|
| Nom, emplacement, taille ou version | Propriétés de l'Explorateur de fichiers | Détails du fichier et informations de version ajoutées par l'éditeur. |
| Éditeur ou état de la signature | Signatures Windows ou Microsoft Sysinternals Sigcheck | Présence d'une signature et informations du signataire enregistrées. |
| Icônes ou ressources intégrées | Visualiseur de ressources fiable en lecture seule | Certaines ressources incluses dans la bibliothèque, pas toute sa logique. |
| En-têtes ou fonctions exportées | Outil PE ou outil de développement reconnu | Structure et fonctions publiques, pas le code source d'origine. |
| Métadonnées d'un composant .NET | Outil d'inspection .NET reconnu | Types et représentation intermédiaire des assemblages compatibles. |
| Réparer une erreur de DLL manquante | Réparer ou réinstaller l'application ou le runtime | Fichiers et étapes de réparation pris en charge par l'éditeur du logiciel. |
Afficher les propriétés d'une DLL sous Windows
Pour ouvrir un fichier DLL en lecture seule et lire ses propriétés, recherchez-le dans l'Explorateur, faites un clic droit puis choisissez Propriétés. L'onglet Général affiche le chemin, le type, la taille et les dates. L'onglet Détails peut indiquer une version renseignée par l'éditeur. Des champs vides sont normaux et ne prouvent pas, à eux seuls, que le fichier est sûr ou malveillant.
L'onglet Signatures numériques apparaît uniquement si Windows reconnaît une signature. Ouvrez ses détails pour examiner le signataire et l'état. Une signature valide aide à identifier qui a signé les octets et à savoir s'ils ont été modifiés ensuite, mais ce n'est pas un verdict antivirus.
- Repérez le fichier. Notez son chemin et le dossier de l'application dont il provient.
- Lisez ses propriétés. Vérifiez le type, la taille, l'onglet Détails et les signatures si elles sont présentes.
- Comparez puis fermez. Vérifiez que l'éditeur et l'emplacement correspondent à vos attentes, puis fermez sans modifier la DLL.
Vérifier la signature d'une DLL sans la charger
Ouvrir un fichier DLL sans charger son code signifie ici consulter ses métadonnées. PowerShell peut interroger les données Authenticode ; utilisez le chemin exact indiqué dans l'Explorateur. NotSigned signifie qu'aucune signature reconnue n'a été trouvée, pas automatiquement que le fichier est malveillant.
Microsoft Sysinternals Sigcheck affiche la version, l'horodatage, la signature numérique et la chaîne de certificats. Certaines options peuvent interroger VirusTotal ou téléverser des fichiers. Ne partagez pas un fichier privé sans autorisation.
Vérifier la signature avec PowerShell
Remplacez le chemin d'exemple par celui de la DLL que vous examinez.
Get-AuthenticodeSignature -FilePath "C:\Path\example.dll" | Format-List Status,SignerCertificate
Consulter les métadonnées avec Sigcheck
Utilisez cette commande de base avec une installation existante de Sysinternals ; elle ne demande pas le téléversement du fichier.
sigcheck.exe -nobanner "C:\Path\example.dll"
Voir les icônes et autres ressources intégrées
Certaines DLL contiennent des icônes, des chaînes de texte, des données de version ou des fenêtres de dialogue. Un visualiseur de ressources peut en montrer une partie. Téléchargez l'outil auprès de son éditeur d'origine et utilisez les fonctions d'affichage ou d'exportation ; n'exécutez pas, n'enregistrez pas, ne modifiez pas et ne remplacez pas le fichier.
Cette vue ne révèle pas toutes les instructions d'une DLL native. L'absence d'icône visible ne signifie pas que la bibliothèque est vide. Si vous voulez seulement identifier le fichier, les Propriétés ou la vérification de signature sont plus simples. Gardez les ressources exportées séparées de l'original.
Examiner les en-têtes ou les fonctions exportées
Un outil d'inspection PE peut afficher les en-têtes et les fonctions exportées. Les outils de Microsoft Visual Studio comprennent DUMPBIN, disponible dans Developer Command Prompt ; un développeur peut examiner ainsi un fichier connu sans le démarrer.
Ces métadonnées ne sont pas le code source. Les noms des fonctions exportées ne sont que des indices et ne prouvent pas la compatibilité. Vérifiez la provenance et l'architecture du fichier ; analysez les fichiers inconnus dans un environnement contrôlé.
Exemple d'inspection pour le développement
À utiliser uniquement si les outils Visual Studio sont installés et si vous êtes autorisé à examiner le fichier.
dumpbin /headers /exports "C:\Path\example.dll"
Quand une DLL est un assemblage .NET
Certaines DLL sont des assemblages .NET managés. Un outil compatible peut afficher leurs métadonnées et une représentation intermédiaire. Les DLL natives sont différentes, et l'extension seule ne permet pas de déterminer le type.
Un décompilateur ne reconstitue pas le projet d'origine, ses commentaires ou ses options de compilation. Examinez uniquement des logiciels que vous avez le droit d'inspecter ; un aperçu lisible ne justifie pas l'exécution d'un fichier inconnu.
N'utilisez pas regsvr32 ou rundll32 comme visionneuse de DLL
regsvr32 et rundll32 ne sont pas des visionneuses de DLL. L'enregistrement concerne certains composants COM conçus pour s'enregistrer eux-mêmes ; rundll32 appelle uniquement des points d'entrée compatibles. Sur un fichier quelconque, ces commandes peuvent charger du code ou modifier l'état du système.
Ne copiez pas une DLL inconnue dans un dossier Windows ou un dossier de programme, ne désactivez pas la sécurité et ne l'enregistrez pas pour l'inspecter. Si un éditeur de confiance exige un enregistrement, vérifiez d'abord le fichier, son architecture et la commande exacte ; sinon, restez en lecture seule.
Si vous vouliez réparer une erreur de DLL manquante
Une alerte de DLL manquante indique un problème de réparation, pas une demande d'ouverture de fichier. Notez le message complet et le nom de l'application ; réparez ou réinstallez ensuite l'application et son runtime depuis l'éditeur. Pour un composant Windows, utilisez les outils de réparation et les mises à jour pris en charge.
Deux fichiers portant le même nom peuvent avoir une version ou une architecture différente. Ne copiez pas un remplacement dans System32 ou dans le dossier d'un jeu. Consultez le guide associé pour résoudre séparément ce problème.
Questions fréquentes
Quel programme ouvre les fichiers DLL ?
Il n'existe pas de programme unique pour toutes les DLL. Utilisez les Propriétés pour les informations du fichier, un vérificateur pour sa signature, un visualiseur pour ses ressources et des outils de développement pour ses en-têtes ou fonctions exportées. Le bon choix dépend de ce que vous cherchez.
Est-il sûr d'ouvrir une DLL dans le Bloc-notes ?
Le Bloc-notes peut afficher des caractères binaires illisibles et l'enregistrement peut endommager le fichier. Il n'est pas adapté à l'inspection d'une DLL. Utilisez les Propriétés, la signature, les ressources ou un outil structurel en lecture seule.
Une signature numérique valide signifie-t-elle que la DLL est sûre ?
Non. Une signature valide identifie le signataire et aide à confirmer que les octets signés n'ont pas changé. Vérifiez tout de même que vous vous attendiez à cet éditeur et à cet emplacement.
Dois-je utiliser regsvr32 pour ouvrir une DLL ?
Non. regsvr32 enregistre certains composants COM conçus pour s'auto-enregistrer ; il n'affiche pas les DLL ordinaires. Utilisez-le uniquement avec des instructions vérifiées de l'éditeur pour ce fichier précis.
Puis-je réparer une DLL manquante en en téléchargeant une autre du même nom ?
Le nom ne confirme ni la version, ni l'architecture, ni l'éditeur, ni la compatibilité. Réparez d'abord l'application ou le runtime qui la demande et obtenez les fichiers requis auprès de l'éditeur du logiciel.
Référence officielle
- Microsoft Sysinternals Sigcheck Documentation officielle sur l'inspection de la version, de l'horodatage, de la signature numérique et de la chaîne de certificats.