Tag Archives: dll

Capire le dipendenze di file .exe .dll ecc. senza aprirli

Pubblicato da

Capire le dipendenze di file .exe .dll ecc. senza aprirli

Qualche volta sarà capitato di aprire un eseguibile e trovarsi di fronte al messaggio di errore che ci dice che manca questa libreria .dll o quel file .ocx.
Informazioni scarne e poco dettagliate.
Questo tipo di errori capita per mancanza di aggiornamenti, a causa della corruzione di certi file e anche per colpa di virus.
Adesso abbiamo la possibilità di poter vedere tutte le dipendenze di un’applicazione a 32-bit o 64-bit (*.exe, *.dll, *.cpl, *.ocx, *.ax, *.sys, …) senza doverla avviare.

L’applicazione PeStudio analizza tutte le dipendenze, le funzioni e le librerie necessarie per l’avvio dell’applicazione.
Un tool utile in fase di debug o quando vogliamo far funzionare applicazioni vecchie o poco testate.

Link: PeStudio

Trovare una dll mancante

Pubblicato da

Trovare una dll mancante

Sarà capitato a tutti, utilizzando Windows di incappare in un messaggio di “DLL mancante”.
Le DLL sono librerie a collegamento dinamico (dynamic-link library) ossia un insieme di funzioni e dati che vengono caricati al momento (si dice on demand) da applicativi o dal sistema operativo stesso.

Ci sono vantaggi e svantaggi con questo sistema (da Wikipedia)

La separazione del codice in librerie a collegamento dinamico permette di spezzare i programmi in parti concettualmente separate, che verranno caricate solo se effettivamente necessarie. Inoltre, una singola libreria può essere caricata in memoria una sola volta e utilizzata da più programmi, il che permette di risparmiare le risorse del sistema. Questo metodo di loading on demand consente, inoltre, installazioni parziali di un sistema software, in cui sono effettivamente presenti sulla memoria di massa solo le librerie associate alle funzioni che l’utente desidera.

Un altro vantaggio è la possibilità di aggiornare un programma modificando solo le DLL: inserendo una versione diversa della DLL, che contiene ad esempio dei bug fix, tutti i programmi che la usano saranno automaticamente “aggiornati” senza bisogno di essere ricompilati.

Il principale svantaggio è legato al fatto che una nuova versione di una DLL potrebbe effettuare dei cosidetti breaking changes in modo volontario o a causa di bug. Un breaking change è una modifica del comportamento di una funzione che la rende non più compatibile con le convenzioni in uso (ad esempio, una funzione che prima ritornava NULL in caso di errore nei parametri e ora setta errno e ritorna un valore non nullo). Ancora più critico il caso in cui un programma di installazione sovrascriva una DLL con una versione più vecchia. Questi problemi, ben noti ai programmatori Windows, sono chiamati in gergo “DLL Hell” (inferno delle DLL).

Nel caso ci serva una DLL specifica possiamo far riferimento ad un catalogo online delle DLL più diffuse: ALLDLL.net

Link: ALLDLL.net