读书人

dll远程注入有关问题()

发布时间: 2012-03-06 20:47:55 作者: rapoo

dll远程注入问题(在线等)
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
MessageBox(NULL,"刚进入DLL_PROCESS_ATTACH","哈哈",MB_YESNO);
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
CreateThread(0, 0, mainfn, 0, 0, 0);
MessageBox(NULL,"远程线程注入成功DLL_PROCESS_ATTACH","哈哈",MB_YESNO);
break;
case DLL_THREAD_ATTACH:
CreateThread(0, 0, mainfn, 0, 0, 0);
MessageBox(NULL,"远程线程注入成功了DLL_THREAD_ATTACH","哈哈",MB_YESNO);
break;
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
我用的是远程注入的dll,但是远程注入后发现是成功了的
hRemoteThread = CreateRemoteThread(hRemoteProcess, NULL, 0,
pfnThreadRtn, pszLibFileRemote, 0, NULL);

if(hRemoteThread == NULL)
printf("[-] inject \"%s\" to %d failed.\n", dll, pid);
else
{printf("[+] inject \"%s\" to %d success.\n", dll, pid);
/*MessageBox(NULL,"远程线程注入成功","哈哈",MB_YESNO);*/
}
显示信息注入成功,但是DllMain却没有让我探出messagebox,怎么回事啊,在先等

[解决办法]
hRemoteThread = CreateRemoteThread(hRemoteProcess, NULL, 0,
pfnThreadRtn, pszLibFileRemote, 0, NULL);
你这个成功,只说明远程线程执行成功,但并不是说dll注入成功了.

没有弹出你的三个MessageBox就说明应该是dll没有注入成功.

读书人网 >C++

热点推荐