A cosa serve un file DLL
DLL significa libreria a collegamento dinamico. I programmi Windows possono caricare una DLL quando hanno bisogno di funzioni, dati o risorse condivise. Una libreria può servire una sola applicazione oppure più componenti correlati; per questo Windows di solito la conserva nella cartella scelta dal programma di installazione o da un componente di sistema.
Una DLL è software compilato, non un documento Word, un'immagine o un normale file di testo. Con un doppio clic di solito non compare nulla di utile. La finestra Apri con non significa che il file sia danneggiato: Windows chiede quale applicazione dovrebbe gestirlo, se ne esiste una. Scegliere un programma a caso non rende il codice leggibile in modo affidabile.
Aprire file DLL può voler dire verificarne l'identità, vedere un'icona incorporata, elencare le funzioni esportate, esaminare un assembly .NET oppure chiedere a un'applicazione di caricare la libreria. Sono attività diverse e richiedono strumenti diversi. Per iniziare, preferisci la sola lettura e lascia il file nella cartella originale.
- L'ispezione dei metadati legge informazioni salvate nel file senza chiedere a un'applicazione di usare le funzioni della libreria.
- Un visualizzatore di risorse può mostrare alcune icone, stringhe o finestre di dialogo, ma non tutta la logica del programma.
- Caricare una DLL in un processo può eseguire codice: è un'azione distinta e più rischiosa rispetto a leggerne le proprietà.
Come aprire file DLL: scegli il metodo in base allo scopo
Per aprire file DLL e identificare il file o vedere un'icona, basta una visualizzazione di sola lettura. Esaminare una DLL non equivale a caricarla: non è necessario decompilarla o registrarla in Windows. Il metodo dipende da ciò che vuoi scoprire.
| Esigenza | Inizia con | Cosa può mostrare |
|---|---|---|
| Nome, percorso, dimensione o versione | Proprietà di Esplora file | Dati di base e informazioni sulla versione aggiunte dall'autore. |
| Autore o stato della firma | Firme di Windows o Microsoft Sysinternals Sigcheck | Se è stata trovata una firma e i dati registrati del firmatario. |
| Icone o risorse incorporate | Visualizzatore di risorse affidabile in sola lettura | Alcune risorse incluse nella libreria, non tutta la sua logica. |
| Intestazioni o funzioni esportate | Strumento PE o per sviluppatori affidabile | Struttura ed esportazioni pubbliche, non il codice sorgente originale. |
| Metadati di un assembly .NET | Strumento noto per l'ispezione .NET | Tipi e rappresentazione intermedia degli assembly supportati. |
| Correggere un errore di DLL mancante | Riparare o reinstallare applicazione o runtime | File e procedure di riparazione supportati dall'autore del software. |
Visualizzare le proprietà di una DLL in Windows
Se vuoi aprire file DLL soltanto per leggerne i dati, individua il file in Esplora file, fai clic con il tasto destro e scegli Proprietà. La scheda Generale mostra percorso, tipo, dimensione e date. Dettagli può includere campi della versione aggiunti dall'autore. I campi vuoti non dimostrano che il file sia sicuro o dannoso.
La scheda Firme digitali appare solo se Windows riconosce una firma. Apri i dettagli per controllare il firmatario e lo stato. Una firma valida aiuta a identificare chi ha firmato i byte e se sono stati modificati in seguito, ma non è un verdetto sui malware.
- Individua il file. Annota il percorso e la cartella dell'applicazione da cui proviene la DLL.
- Leggi le proprietà. Controlla tipo, dimensione, Dettagli e la scheda della firma, se disponibile.
- Confronta e chiudi. Verifica che autore e posizione siano quelli attesi, quindi chiudi senza modificare la DLL.
Controllare la firma della DLL senza caricarla
Aprire file DLL senza caricarne il codice può iniziare dalla lettura dei metadati Authenticode in PowerShell. Usa il percorso esatto mostrato in Esplora file. NotSigned significa che non è stata trovata una firma riconosciuta; non vuol dire automaticamente che il file sia dannoso.
Microsoft Sysinternals Sigcheck mostra versione, data e ora, firma digitale e catena di certificati. Alcune opzioni possono interrogare VirusTotal o caricare file. Non condividere un file privato senza autorizzazione.
Controllare la firma con PowerShell
Sostituisci il percorso di esempio con quello della DLL che stai esaminando.
Get-AuthenticodeSignature -FilePath "C:\Path\example.dll" | Format-List Status,SignerCertificate
Leggere i metadati con Sigcheck
Usa questa visualizzazione essenziale con un'installazione Sysinternals esistente; non richiede il caricamento del file.
sigcheck.exe -nobanner "C:\Path\example.dll"
Vedere icone e altre risorse incorporate
Alcune DLL contengono icone, stringhe, dati di versione o finestre di dialogo. Un visualizzatore di risorse può mostrarne alcuni elementi. Scarica lo strumento dal suo autore originale e usa le funzioni di visualizzazione o esportazione; non eseguire, registrare, modificare o sostituire il file.
Questa visualizzazione non mostra tutte le istruzioni di una DLL nativa. Se non compaiono icone, la libreria non è necessariamente vuota. Se vuoi soltanto identificarla, Proprietà o il controllo della firma sono più semplici. Tieni le risorse esportate separate dall'originale.
Esaminare intestazioni o funzioni esportate
Uno strumento di ispezione PE può mostrare intestazioni e funzioni esportate. Gli strumenti di Microsoft Visual Studio includono DUMPBIN, disponibile nel Developer Command Prompt; uno sviluppatore può così esaminare un file noto senza avviarlo.
Questi metadati non sono il codice sorgente. I nomi delle funzioni esportate sono indizi e non dimostrano la compatibilità. Verifica provenienza e architettura del file; analizza i file sconosciuti in un ambiente controllato.
Esempio di ispezione per lo sviluppo
Usalo solo se gli strumenti di Visual Studio sono installati e hai il permesso di esaminare il file.
dumpbin /headers /exports "C:\Path\example.dll"
Quando una DLL è un assembly .NET
Alcune DLL sono assembly .NET gestiti. Uno strumento compatibile può mostrare metadati e una rappresentazione intermedia. Le DLL native sono diverse e l'estensione da sola non identifica il tipo.
Un decompilatore non ricostruisce il progetto originale, i commenti o le opzioni di compilazione. Esamina solo software che sei autorizzato a controllare; un'anteprima leggibile non è un motivo per eseguire un file sconosciuto.
Non usare regsvr32 o rundll32 come visualizzatori di DLL
regsvr32 e rundll32 non sono visualizzatori di DLL. La registrazione serve per alcuni componenti COM che si registrano da soli; rundll32 chiama soltanto punti di ingresso compatibili. Su un file qualsiasi, entrambi i comandi possono caricare codice o cambiare lo stato del sistema.
Non copiare una DLL sconosciuta in una cartella di Windows o del programma, non disattivare le protezioni e non registrarla per ispezionarla. Se un autore attendibile richiede la registrazione, verifica prima file, architettura e comando esatto. Altrimenti resta in modalità di sola lettura.
Se volevi correggere un errore di DLL mancante
Un avviso di DLL mancante indica un problema da riparare, non una richiesta di aprire un file. Annota il messaggio completo e il nome dell'applicazione; poi ripara o reinstalla l'app e il relativo runtime tramite l'autore. Per i componenti Windows usa gli strumenti di riparazione e aggiornamento supportati.
File con lo stesso nome possono avere versione o architettura diverse. Non copiare un sostituto in System32 o nella cartella di un gioco. Consulta la guida collegata per risolvere separatamente quel problema.
Domande frequenti
Quale programma apre i file DLL?
Non esiste un unico programma per tutte le DLL. Usa Proprietà per i dati del file, uno strumento di verifica per la firma, un visualizzatore per le risorse e strumenti di sviluppo per intestazioni o esportazioni. La scelta dipende da ciò che vuoi scoprire.
È sicuro aprire una DLL con Blocco note?
Può mostrare caratteri binari illeggibili e il salvataggio potrebbe danneggiare il file. Blocco note non è adatto per ispezionare DLL. Usa Proprietà, la firma, le risorse o uno strumento strutturale di sola lettura.
Una firma digitale valida significa che la DLL è sicura?
No. Una firma valida identifica il firmatario e aiuta a verificare che i byte firmati non siano cambiati. Controlla comunque che autore e posizione siano quelli previsti.
Devo usare regsvr32 per aprire una DLL?
No. regsvr32 registra alcuni componenti COM progettati per autoregistrarsi; non mostra DLL arbitrarie. Usalo solo seguendo istruzioni verificate dell'autore per quel file specifico.
Posso correggere una DLL mancante scaricandone un'altra con lo stesso nome?
Il nome non conferma versione, architettura, autore o compatibilità. Ripara prima l'applicazione o il runtime che la richiede e ottieni i file necessari dall'autore del software.
Riferimento ufficiale
- Microsoft Sysinternals Sigcheck Documentazione ufficiale per esaminare versione, data e ora, firma digitale e catena di certificati.