Introduction¶
It can be useful to know which .dlls
an application has loaded when analysing DLL-related problems.
For this particular purpose you can use Microsoft's Process Explorer tool.
Getting list of DLLs with Process Explorer¶
Viewing the list of currently loaded DLLs¶
⚠️ After starting Process Explorer select the process or application that you want to inspect. We have used notepad++.exe
in this example:
Then click View→Lower Pane View→DLLs (or press Ctrl+D):
⚠️ Now the lower pane view is visible; it lists the DLLs loaded by the selected process only!
Saving the list of DLLs of the selected process¶
The list of DLLs of the selected (!) process can be saved (which is useful if you want someone else to look at it) by clicking File→Save as... (or press Ctrl+A):
The resulting file starts with the process list and after that it lists the selected process's DLLs:
[...]
Process: notepad++.exe Pid: 148
Name Description Company Name Version
{AFBF9F1A-8EE8-4C77-AF34-C647E37CA0D9}.1.ver0x000000000000001f.db
advapi32.dll Erweiterte Windows 32 Base-API Microsoft Corporation 6.1.7601.17514
apisetschema.dll ApiSet Schema DLL Microsoft Corporation 6.1.7600.16385
apphelp.dll Clientbibliothek für Anwendungskompatibilität Microsoft Corporation 6.1.7601.17514
cfgmgr32.dll Configuration Manager DLL Microsoft Corporation 6.1.7601.17514
[...]
Getting list of DLLs with ListDLLs¶
The command line tool ListDLLs from Microsoft can also list the DLLs loaded by a process:
C:\Users\myuser>listdlls notepad.exe
ListDLLs v3.1 - List loaded DLLs
Copyright (C) 1997-2011 Mark Russinovich
Sysinternals - www.sysinternals.com
------------------------------------------------------------------------------
notepad.exe pid: 7972
Command line: "C:\Windows\system32\notepad.exe"
Base Size Path
0x00000000ff880000 0x35000 C:\Windows\system32\notepad.exe
0x0000000077000000 0x1a9000 C:\Windows\SYSTEM32\ntdll.dll
0x0000000076ee0000 0x11f000 C:\Windows\system32\kernel32.dll
0x00000000fd720000 0x6c000 C:\Windows\system32\KERNELBASE.dll
0x00000000fed20000 0xdb000 C:\Windows\system32\ADVAPI32.dll
0x00000000fd830000 0x9f000 C:\Windows\system32\msvcrt.dll
0x00000000fdb10000 0x1f000 C:\Windows\SYSTEM32\sechost.dll
0x00000000ff0d0000 0x12d000 C:\Windows\system32\RPCRT4.dll
0x00000000ff200000 0x67000 C:\Windows\system32\GDI32.dll
0x0000000076920000 0xfa000 C:\Windows\system32\USER32.dll
0x00000000feeb0000 0xe000 C:\Windows\system32\LPK.dll
0x00000000fd9e0000 0xc9000 C:\Windows\system32\USP10.dll
0x00000000ff270000 0x97000 C:\Windows\system32\COMDLG32.dll
0x00000000fee30000 0x71000 C:\Windows\system32\SHLWAPI.dll
0x00000000fbcc0000 0x1f4000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\COMCTL32.dll
0x00000000fdf90000 0xd88000 C:\Windows\system32\SHELL32.dll
0x00000000f8c50000 0x71000 C:\Windows\system32\WINSPOOL.DRV
0x00000000feec0000 0x203000 C:\Windows\system32\ole32.dll
0x00000000fdcd0000 0xd7000 C:\Windows\system32\OLEAUT32.dll
0x00000000fc3b0000 0xc000 C:\Windows\system32\VERSION.dll
0x00000000fee00000 0x2e000 C:\Windows\system32\IMM32.DLL
0x00000000fd8d0000 0x109000 C:\Windows\system32\MSCTF.dll
0x00000000fd390000 0xf000 C:\Windows\system32\CRYPTBASE.dll
0x00000000fb9d0000 0x56000 C:\Windows\system32\uxtheme.dll
0x00000000fb5d0000 0x18000 C:\Windows\system32\dwmapi.dll
Saving the list of DLLs¶
For this standard I/O redirection can be used:
listdlls notepad.exe >temp.txt
The output of the command is then contained in the file temp.txt
.