注入DLL无法正常工作?

时间:2011-02-05 15:50:20

标签: winapi dll-injection

我创建了一个简单的dll。我在一个进程中注入它但它没有显示消息框.mesg框的代码用dll编写。

dll代码:

//DLL TEST
#include <windows.h>

BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) {
     if(callReason == DLL_PROCESS_ATTACH)
                   MessageBox(0, "Dll Injection Successful! ", "Dll Injector", MB_ICONEXCLAMATION | MB_OK);
     return TRUE;
}

1 个答案:

答案 0 :(得分:4)

首先,你没有发布用于注入DLL的代码,或者至少没有描述你注射的方式。

然而,您的代码存在很大问题。您尝试在DllMain内拨打MessageBox。仅使用Kernel32.dll中的函数并且不能形成无法初始化的User32.dll是安全的。在the MSDN上,您可以阅读

  

调用需要DLL的函数   除了Kernel32.dll之外可能会导致   难以解决的问题   诊断。例如,调用User,   Shell和COM函数可能会导致   访问违规错误,因为一些   功能加载其他系统   组件。