注入的DLL什么都不做

时间:2015-04-10 13:20:24

标签: c++ dll dll-injection

我试图在另一个WIN32控制台程序中注入一个C ++ DLL。注入器(winjet)显示它已成功注入,但DLL本身不执行任何操作。 作为编译器,我使用Visual Studio 2013,我发现如果我使用预编译的头文件和预设的.cpp而不是没有预编译头文件的空项目,它就可以工作。

Dll.cpp:

BOOL APIENTRY Dllmain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){
     switch (reason) {
     case DLL_PROCESS_ATTACH:
          MessageBoxA(NULL, "Attached!", "InjectedDLL", MB_OK);
     }
     return TRUE;
}

此代码适用于预设设置和预编译标头。但是为什么没有这个呢?

1 个答案:

答案 0 :(得分:1)

Windows DLL的入口点称为DllMain,而不是Dllmain

您没有收到编译错误(例如错误拼写main),因为它是可选的。