帮我分析一下hook注入dll的源码
我在看《windows核心编程》中有个hook注入dll的源码
我对其中的一些不大懂
BOOL WINAPI DllMain(HINSTANCE hinstDll,DWORD fdwReason,PVOID fImpload)
{
switch (fdwReason){
case DLL_PROCESS_ATTACH://这些DLL_PRODESS_ATTACH 是什么意思呀
g_hinstDll=hinstDll;
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return(true);
}
BOOL WINAPI SetHookThead(DWORD dwThreadId)
{
BOOL fok=false;
if(dwThreadId!=0)
{
g_dwThreadId=GetCurrentThreadId();
g_hhook=SetWindowsHookEx(WH_GETMESSAGE,GetMsgProc,g_hinstDll,dwThreadId);
fok=(g_hhook!=NULL);
if(fok)
{ fok= PostThreadMessage(dwThreadId,WM_NULL,0,0);
}
}
else
{
fok=UnhookWindowsHookEx(g_hhook);
g_hhook=NULL;
}
return(fok);
}
LRESULT WINAPI GetMsgProc(int nCode,WPARAM wParam,LPARAM lParam)
{
static bool fFirstmir=true;
if(fFirstmir)
{
fFirstmir=false;
PostThreadMessage(g_dwThreadId,WM_NULL,0,0);
}
return(CallNextHookEx(g_hhook,nCode,wParam,lParam));
我不懂这个程序怎么加载dll到另一个进程里去的
我没发现一个函数呀 要是在nt/xp 中用一个函数
这里到底是怎么加入的呢