marcoesposito1988 / dependency_runner

ldd for Windows - and more!
GNU Lesser General Public License v3.0
30 stars 2 forks source link

Missing DLL not found #4

Open G0ne opened 1 year ago

G0ne commented 1 year ago

Can't find the missing .dll of a 64 windows binary

tool output: image

when i try to run the .exe used as a test: image

marcoesposito1988 commented 1 year ago

Hi @G0ne,

this is strange. Can you please post the output without the -e flag?

G0ne commented 1 year ago

Hello! this is the output:

C:\Users\maldev\Desktop\dev\tools\deprun-x86_64-pc-windows-msvc>deprun.exe -v -c -p C:\Users\maldev\Documents\RemoteControl\abc.exe Working directory not specified, assuming directory of executable: C:\Users\maldev\Documents\RemoteControl User path not specified, taken that of current shell: Looking for dependencies of binary C:\Users\maldev\Documents\RemoteControl\abc.exe Known DLLs: ["difxapi.dll", "gdiplus.dll", "sechost.dll", "normaliz.dll", "comdlg32.dll", "cfgmgr32.dll", "combase.dll", "msctf.dll", "coml2.dll", "wow64.dll", "wintrust.dll", "crypt32.dll", "clbcatq.dll", "comctl32.dll", "wow64cpu.dll", "user32.dll", "imm32.dll", "psapi.dll", "rpcrt4.dll", "wow64win.dll", "bcrypt.dll", "nsi.dll", "gdi32full.dll", "msvcrt.dll", "wldap32.dll", "shlwapi.dll", "bcryptprimitives.dll", "win32u.dll", "imagehlp.dll", "ole32.dll", "gdi32.dll", "ucrtbase.dll", "oleaut32.dll", "setupapi.dll", "ws2_32.dll", "ntdll.dll", "msvcp_win.dll", "shcore.dll", "kernelbase.dll", "advapi32.dll", "kernel32.dll", "shell32.dll"] API set map available Search path: C:\Users\maldev\Documents\RemoteControl, C:\Windows\System32, C:\Windows, C:\Users\maldev\Documents\RemoteControl, C:\Windows\System32, C:\Windows, C:\Windows\System32\wbem, C:\Windows\System32\WindowsPowerShell\v1.0, C:\Windows\System32\OpenSSH, C:\Program Files\Microsoft SQL Server\150\Tools\Binn, C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn, C:\Program Files\dotnet, C:\Program Files\Go\bin, C:\Users\maldev\AppData\Local\Microsoft\WindowsApps

abc.exe => C:\Users\maldev\Documents\RemoteControl ADVAPI32.dll => C:\Windows\System32 [Known DLL] COMCTL32.dll => C:\Windows\System32 [Known DLL] GDI32.dll => C:\Windows\System32 [Known DLL] KERNEL32.dll => C:\Windows\System32 [Known DLL] MSIMG32.dll => C:\Windows\System32 OLEAUT32.dll => C:\Windows\System32 [Known DLL] RDPCORESCCM.dll => C:\Users\maldev\Documents\RemoteControl ADVAPI32.dll => C:\Windows\System32 [Known DLL] CRYPT32.dll => C:\Windows\System32 [Known DLL] GDI32.dll => C:\Windows\System32 [Known DLL] KERNEL32.dll => C:\Windows\System32 [Known DLL] MSVCR120.dll => C:\Windows\System32 OLEAUT32.dll => C:\Windows\System32 [Known DLL] PSAPI.DLL => C:\Windows\System32 [Known DLL] RPCRT4.dll => C:\Windows\System32 [Known DLL] SETUPAPI.dll => C:\Windows\System32 [Known DLL] SHELL32.dll => C:\Windows\System32 [Known DLL] SHLWAPI.dll => C:\Windows\System32 [Known DLL] USER32.dll => C:\Windows\System32 [Known DLL] WINMM.dll => C:\Windows\System32 WS2_32.dll => C:\Windows\System32 [Known DLL] WSOCK32.dll => C:\Windows\System32 WTSAPI32.dll => C:\Windows\System32 gdiplus.dll => C:\Windows\System32 [Known DLL] newdev.dll => C:\Windows\System32 ntdll.dll => C:\Windows\System32 [Known DLL] ole32.dll => C:\Windows\System32 [Known DLL] SHELL32.dll => C:\Windows\System32 [Known DLL] Secur32.dll => C:\Windows\System32 USER32.dll => C:\Windows\System32 [Known DLL] VERSION.dll => C:\Windows\System32 WS2_32.dll => C:\Windows\System32 [Known DLL] credui.dll => C:\Windows\System32 ole32.dll => C:\Windows\System32 [Known DLL]

Checking symbols...

No missing libraries detected No missing symbols detected

marcoesposito1988 commented 1 year ago

It appears that you indeed have the DLL on the path, in particular in the System folder: MSVCR120.dll => C:\Windows\System32. It should hence not be a problem of dependency_runner.

I can think of the following possibilities for the error you are seeing:

The last possibility would be that the System folder is not searched while loading the DLLs for that executable. This should be close to impossible. Maybe the executable has a bad manifest, or is being launched by explicitly disabling the default DLL search paths?