Buscar

Windows: Saber que DLL utiliza un programa

Existen varios métodos para saber que DLL utiliza un programa.

Los ficheros con extensión DLL (dynamic-link library) es la implementación de Microsoft de las librerías compartidas utilizadas por los programas.

También encontraremos librerías compartidas con extensión OCX.

Las DLL no se pueden ejecutar directamente, se ejecutan desde un fichero EXE.

El concepto de librería compartida significa que la librería puede ser llamada a la vez desde varios ficheros EXE.

Nos podemos encontrar en ciertas ocasiones que no podamos ejecutar programas por la falta de ciertas librerías.

Un ejemplo de ello es este post:

Windows: Error comdlg32.ocx mscomctl.ocx (SYSADMIT.com)

La pregunta es: ¿Qué DLL utiliza un programa?

Podemos saber la DLL que utiliza un programa utilizando varios métodos:

Método1: Saber que DLL utiliza un programa: ListDLLs


Con la herramienta gratuita de SysInternals: ListDLLs, podemos encontrar la DLL que utiliza un programa de forma rápida.

Aquí podemos ver su funcionamiento:


El problema de utilizar la herramienta ListDLLs es que es necesario descargarla de Internet.

Método2: Saber que DLL utiliza un programa: tasklist


La herramienta tasklist está integrada en el sistema operativo y sirve para realizar acciones a nivel de consulta sobre los procesos activos que están funcionando en un sistema operativo Windows.

Con tasklist, podemos saber que DLL utiliza un programa de forma fácil y rápida.

Ejemplos:

Ejemplo1: Saber que DLL utiliza chrome.exe:

tasklist /m /fi "IMAGENAME eq chrome.exe"|more

Windows: Saber que DLL utiliza un programa

Utilizamos la tubería y el comando more, para paginar la salida ya que son muchas las DLLs que utiliza este proceso.

Ejemplo2: Saber que DLL utiliza winword.exe (Microsoft Word) de 32bits en un sistema de 64 bits:

tasklist /m /fi "IMAGENAME eq winword.exe"

Windows: Saber que DLL utiliza un programa

Vemos que al ejecutar un programa de 32bits en un sistema operativo de 64bits, aparecen las DLL que utilizan la emulación WOW (Windows on Windows).

Ejemplo3: Saber qué procesos utilizan una DLL

tasklist /m ntdll.dll

Windows: Saber que DLL utiliza un programa

En este ejemplo, estamos listando todos los procesos que utilizan la DLL: ntdll.exe

Método3: Saber que DLL utiliza un programa: PowerShell


Get-Process winword| select -ExpandProperty modules|ft -Autosize

Windows: Saber que DLL utiliza un programa

Con PowerShell, también es posible obtener una lista de las DLL que utiliza un proceso.

El cmd-let: Get-process sería el equivalente en PowerShell al comando tasklist.

En este ejemplo, estamos obtenemos una lista de las DLL que utiliza el programa winword de 32bits en un sistema operativo de 64bits.

No hay comentarios:

Publicar un comentario