.DLL

File DLL

Dynamic Link Library
Fai una domanda
RISPOSTA RAPIDA

Una DLL (Dynamic Link Library) è un file di libreria di Windows che contiene codice compilato caricato dai programmi durante l'esecuzione, quindi non è un file da aprire con un doppio clic. Se un'app segnala la mancanza di una DLL, reinstalla l'app o il Microsoft Visual C++ Redistributable invece di scaricare il file da siti casuali. Gli sviluppatori possono esaminare l'interno di una DLL con dotPeek, ILSpy o Resource Hacker.

Sviluppatore: Microsoft Categoria: File di sistema Standard aperto MIME: application/vnd.microsoft.portable-executable
SI APRE SU Windows Linux
Correlati: .NOMEDIA · .TMP · .LNK · .PKG

In questa pagina

19k+ estensioni indicizzate
Ultima revisione Jun 15, 2026

Non sei sicuro di cosa sia il tuo file?

Trascina qualsiasi file nel nostro identificatore - leggiamo solo i primi byte per dare un nome al formato.

Identifica un file

Che cos'è il formato di file DLL?

I file con estensione .dll contengono librerie collegate dinamicamente condivise all'interno di Microsoft Windows. Il formato .dll utilizza la stessa struttura binaria dei file .exe - il formato Portable Executable (PE), identificato dai magic bytes MZ all'offset 0 e da una firma PE\0\0 indicata dall'intestazione stub DOS - ma a differenza di un eseguibile, una .dll non può essere lanciata direttamente; deve essere caricata da un processo ospite.

Tutti i dati in una .dll possono essere caricati in memoria e utilizzati da più programmi simultaneamente. Le librerie in genere contengono controlli ActiveX, applet del pannello di controllo, driver di dispositivo o risorse di icone e caratteri - sebbene i file che svolgono questi ultimi ruoli spesso portino estensioni diverse come .ocx per i componenti COM o .sys per i driver in modalità kernel. Vengono anche utilizzate come componenti modulari di applicazioni più grandi, fornendo funzioni specifiche come plugin.

Le librerie possono contenere:

  • Codice per sottoprogrammi, funzioni e plugin
  • Dati, inclusi grafici e tabelle di stringhe
  • Risorse associate come menu, finestre di dialogo e informazioni sulla versione

Le specifiche del formato .dll sono le stesse dei file .exe - entrambi utilizzano il contenitore PE (o PE32+ su Windows a 64 bit) - tuttavia, la libreria non costituisce un programma autonomo. All'interno del programma chiamante, il riferimento a una libreria e il suo caricamento possono essere eseguiti solo quando necessario (caricamento ritardato). Il modello .dll supporta l'architettura applicativa modulare, incoraggia il riutilizzo di frammenti di codice e riduce sia l'utilizzo della memoria che lo spazio su disco. I file .dll gestiti compilati per .NET portano un'intestazione CLR insieme alla struttura PE standard, contenente bytecode MSIL invece del codice macchina nativo.

Sicurezza e incolumità

RISCHIO: HIGH

Le DLL sono codice eseguibile e i malware le sfruttano spesso: le DLL dannose vengono eseguite all'interno di processi legittimi (DLL hijacking/sideloading - inserendo una DLL malevola dove un'app cerca per prima), e i siti di download di «DLL fixer» sono un classico canale di malware e truffe. Regole: non scaricare mai singole DLL da siti di terze parti; correggi gli errori di DLL mancanti reinstallando l'app, installando il Visual C++ Redistributable / DirectX runtime ufficiale o eseguendo sfc /scannow; controlla la firma digitale delle DLL sconosciute (Proprietà → Firme digitali) e scansionale su VirusTotal. Eliminare DLL a caso da System32 compromette Windows.

Dettagli del formato

in sintesi
NOME COMPLETODynamic Link Library
SVILUPPATOREMicrosoftdal 1985 (Windows 1.0, NE format); current PE format since Windows NT 3.1, 1993
TIPO MIMEapplication/vnd.microsoft.portable-executable
TIPOLibreria condivisa Windows PE (Portable Executable) - codice binario compilato
STANDARDAperto · royalty-free
MAGIC BYTES · FIRMA DEL FILE
OFFSET
0001
HEX
4D5A
ASCII
MZ
Seguito da «PE\0\0» (50 45 00 00) all'offset memorizzato nel campo dell'intestazione DOS e_lfanew (offset 0x3C); il flag DLL è il bit 0x2000 nel campo COFF Characteristics

Programmi che aprono file DLL

Windows6 apps
Microsoft Visual Studio Freemium Per gli sviluppatori: fare riferimento alla DLL in un progetto o ispezionarla tramite il visualizzatore di oggetti integrato o dumpbin.
Resource Hacker Gratuito Apri la DLL per visualizzare, estrarre o sostituire icone, finestre di dialogo, stringhe e informazioni sulla versione.
Microsoft Windows (built-in loader) Integrato Le DLL vengono caricate automaticamente dai programmi che ne hanno bisogno; per le DLL COM usa «regsvr32 file.dll». Ripara le DLL di sistema con «sfc /scannow».
dotPeek (JetBrains) Gratuito Apri una DLL .NET per decompilarla in codice C# leggibile.
ILSpy Open-source Decompilatore .NET open source - trascina la DLL all'interno per sfogliare i namespace e il codice decompilato.
Dependencies (lucasg) Open-source Sostituto moderno di Dependency Walker: mostra le importazioni/esportazioni della DLL e di quali altre DLL ha bisogno.
Linux1 app
Ghidra Open-source Importa la DLL per il disassemblaggio o la decompilazione completa del codice nativo (disponibile anche su Windows/macOS).

Dettagli tecnici

specifiche approfondite
Formato binarioPE (Portable Executable) su Windows a 32 bit; PE32+ su Windows a 64 bit - stessa struttura del contenitore di .exe
Magic bytes4D 5A («MZ») all'offset 0; «PE\0\0» (50 45 00 00) all'offset memorizzato nel campo stub DOS e_lfanew (0x3C)
Flag identificativo DLLIl bit IMAGE_FILE_DLL (0x2000) nel campo COFF Characteristics distingue una DLL da un EXE all'interno dello stesso contenitore PE
Tipo MIMEapplication/vnd.microsoft.portable-executable
Meccanismo di esportazioneLa Export Directory Table elenca le funzioni per nome e/o numero ordinale; i chiamanti risolvono gli indirizzi runtime tramite la Export Address Table (EAT)
Meccanismo di importazioneLa Import Directory Table dichiara le DLL richieste e i nomi o gli ordinali delle funzioni; il loader di Windows aggiorna la Import Address Table (IAT) al momento del caricamento
Modalità di collegamentoCollegamento implicito (load-time) tramite uno stub .lib di importazione, o collegamento esplicito (run-time) tramite LoadLibrary() e GetProcAddress()
ASLR e rilocazioneLa sezione .reloc contiene una tabella di rilocazione di base; l'ASLR di Windows rende casuale l'indirizzo di caricamento effettivo al runtime, sovrascrivendo l'ImageBase preferito nell'intestazione opzionale PE
Sezioni comuni.text (codice eseguibile), .data (dati inizializzati), .rdata (dati in sola lettura e importazioni), .rsrc (risorse), .reloc (rilocazioni di base)
Risorse incorporateLa sezione .rsrc memorizza risorse tipizzate - RT_ICON, RT_DIALOG, RT_STRING, RT_VERSION, RT_MANIFEST - visualizzabili e modificabili con strumenti come Resource Hacker
Build di architetturaOgni CPU di destinazione (x86, x64, ARM, ARM64) richiede un binario DLL separato; nessun supporto per fat-binary a differenza di macOS dylib
DLL .NET gestiteLe DLL compilate con CLR incorporano un IMAGE_COR20_HEADER che punta al bytecode MSIL/CIL invece del codice macchina nativo; decompilabili con ILSpy o dotPeek
Side-by-side assembliesWinSxS da Windows XP in poi consente la coesistenza di più versioni della stessa DLL su una macchina, gestita dai file manifest dell'applicazione
Punto di ingressoFunzione opzionale DllMain() chiamata dal loader in quattro eventi: DLL_PROCESS_ATTACH, DLL_THREAD_ATTACH, DLL_PROCESS_DETACH, DLL_THREAD_DETACH
Caricamento ritardatoL'opzione del linker /DELAYLOAD posticipa il caricamento della DLL fino alla prima chiamata a una delle sue funzioni esportate, riducendo il tempo di avvio del processo
Rilasciato1985 (Windows 1.0, NE format); current PE format since Windows NT 3.1, 1993
Standard apertoSì · royalty-free
Specificalearn.microsoft.com

Conversioni DLL

Domande e risposte della community

chiesto dagli utenti
Fai una domanda veloce
Ottieni aiuto da persone che lavorano con i file DLL. Sii specifico - includi il tuo sistema e la versione del software.
Nessun account necessario · risposte solitamente entro un giorno
R
reguntas y respuestas de la comunidaSep 2026SENZA RISPOSTA
Preguntas y respuestas de la comunidad preguntado por usuarios Hacer una pregunta rápida
In attesa di una risposta

Domande frequenti

Come posso correggere gli errori «XXXX.dll mancante»?
Reinstalla il programma che mostra l'errore; per le DLL vcruntime/msvcp/msvcr installa l'ultimo Microsoft Visual C++ Redistributable da microsoft.com; per le DLL d3dx9/xinput installa DirectX End-User Runtime; per le DLL di sistema esegui «sfc /scannow». Evita i siti di download di DLL.
È sicuro scaricare una DLL da un sito web di download DLL?
No. Questi siti non sono verificati e sono un noto vettore di malware; inoltre, una singola versione di DLL non corrispondente di solito non risolverà comunque l'app. Usa invece programmi di installazione o runtime ufficiali.
Posso aprire un file DLL per vedere cosa c'è dentro?
Sì, con lo strumento giusto: Resource Hacker mostra icone/dialoghi/stringhe; dotPeek o ILSpy decompilano le DLL .NET in C#; Dependencies mostra esportazioni/importazioni. Fare doppio clic non serve a nulla - le DLL non sono programmi autonomi.
Posso eliminare i file DLL per liberare spazio?
No. Le DLL nelle cartelle Windows o Programmi sono necessarie al sistema operativo e alle app; eliminarle causa proprio gli errori di «dll mancante» che gli utenti cercano di risolvere. Usa invece Pulizia disco.
Come si registra una DLL con regsvr32?
Apri un prompt dei comandi con privilegi elevati ed esegui «regsvr32 percorso\del\file.dll» (funziona solo per le DLL COM che espongono DllRegisterServer; le DLL ordinarie restituiranno l'errore 0x80070057/126).
I file DLL sono virus?
Una DLL è un normale componente di Windows, ma un malware può essere una DLL. Segnali di allarme: una DLL in Temp/Downloads, nessuna firma digitale o un nome di DLL di sistema (es. ntdll.dll) che si trova fuori da C:\Windows\System32. Scansiona i file sospetti con Defender/VirusTotal.
Posso convertire una DLL in EXE?
No - una DLL è una libreria senza un punto di ingresso del programma. Se hai bisogno della funzionalità, usa l'applicazione a cui appartiene la DLL o (per gli sviluppatori) chiama la DLL dal tuo codice.

Riferimenti

1Microsoft Learn - PE Format specificationlearn.microsoft.com
2Microsoft Learn - What is a DLLlearn.microsoft.com

Continua a esplorare

nel database

Migliori estensioni della settimana

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.DATProgram Data File (generic)
4.EXEWindows Executable (Portable Executable)
5.RPMSGRestricted Permission Message
6.JPGJPEG Image
7.PARTPartial Download File
8.BINCD/DVD Disc Image (BIN/CUE)
9.ICSiCalendar data file
10.JSONJavaScript Object Notation file

Estensioni correlate

.NOMEDIAAndroid No-Media Marker File
.TMPTemporary File
.LNKWindows Shell Link (Shortcut)
.PKGmacOS Installer Package
.ETLEvent Trace Log
.ASECAndroid Secure Encrypted Container (apps-on-SD container)

Strumenti file gratuiti

Un identificatore di file e convertitore di immagini nel browser - tutto viene eseguito sul tuo dispositivo.

Apri la cassetta degli attrezzi

Sfoglia le estensioni dei file A-Z