DLL代码:
#include <windows.h>
BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
MessageBoxW(NULL, L"Hello world!", L"Test DLL", MB_OK);
return TRUE;
}
加载库代码:
#include <windows.h>
int main()
{
LoadLibrary("dll.dll");
return 0;
}
当我使用上面的代码加载 dll 时,消息框会按预期弹出。
当我尝试用我能找到的任何注入器注入 dll 时,DllMain 永远不会被调用。
目标进程和 dll 架构都是 x64。目标进程已加载 MessageBoxW() 所需的库。如果需要,这就是我编译 dll (mingw) 的方式:gcc.exe main.cpp -shared -fPIC -o dll.dll
也许我已经尝试过我的 5 个注射器不走运,有什么建议吗?
还有什么可能导致消息框不弹出?