If I do
LoadLibrary("MyTest.dll")
Windows will locate and load it from "C:\TestFolder\Test\MyTest.dll"
, because "C:\TestFolder\Test\"
is in %PATH%
folder.
How can I emulate same function? I need to locate C:\TestFolder\Test\MyTest.dll
(C:\TestFolder\Test\
is in %PATH%
) by passing MyTest.dll
as an argument to a function. Is there such an API? or a function?
P.S. I can't do LoadLibrary and then GetModuleHandle and finding Path, sometimes this DLL could be malicious DLL and I can't load it. So I need to find PATH without having to load it.
To load the DLL without running any malicious code inside, use
LoadLibraryEx
with theDONT_RESOLVE_DLL_REFERENCES
andLOAD_LIBRARY_AS_DATAFILE
flags.Then you can use
GetModuleFileName
.You should also read about all the other flags, which allow you to perform all the various searches Windows is capable of.