Open guohaoli opened 4 months ago
现象描述: 我先用loadlibrary加载一个dll,然后再用LdrLoadDllMemoryExW加载同样的dll,LdrLoadDllMemoryExW没有办法识别已经加载过的loadlibrary,无法对dll引用进行自增,而是重复执行dll加载代码。
无法识别的代码段: 函数位置LdrLoadDllMemoryExW->MapMemoryModuleHandle 具体代码:pModule->Signature != MEMORY_MODULE_SIGNATURE和pModule->codeBase != (LPBYTE)hModule都为true,导致返回结果为nullptr
你好,使用LoadLibrary加载的DLL不包含MEMORYMODULE结构,因此不能被识别。如果需要验证是否已被加载,请在加载前调用GetModuleHandle函数。
现象描述: 我先用loadlibrary加载一个dll,然后再用LdrLoadDllMemoryExW加载同样的dll,LdrLoadDllMemoryExW没有办法识别已经加载过的loadlibrary,无法对dll引用进行自增,而是重复执行dll加载代码。
无法识别的代码段: 函数位置LdrLoadDllMemoryExW->MapMemoryModuleHandle 具体代码:pModule->Signature != MEMORY_MODULE_SIGNATURE和pModule->codeBase != (LPBYTE)hModule都为true,导致返回结果为nullptr