用遠程注入dll顯示成功
1.在被注入的程式里按一個鍵會無回應
2.有時候好像會卡機
不懂為什么???
不太懂遠程注入Hook需要加些什么

#include <Windows.h>
static HHOOK MeHow = NULL;
static HMODULE YouLose = NULL;
LRESULT CALLBACK LoseProc(int code, WPARAM w, LPARAM l)
{
if (code < 0)
return CallNextHookEx(MeHow, code, w, l);
if (code == HC_ACTION && GetKeyState(w) < 0)
{
MessageBox(NULL, "lose the error", "", 0);
}
return CallNextHookEx(MeHow, code, w, l);
}
BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
YouLose = (HINSTANCE)hModule;
MeHow = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)LoseProc, (HINSTANCE)YouLose, 0);
if (MeHow == NULL)
{
MessageBoxA(0, "Loser", "", 0);
return TRUE;
}
else {
MessageBoxA(0, "Instance to dllc", "", 0);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
{
if (MeHow != NULL)
UnhookWindowsHookEx(MeHow);
MessageBoxA(0, "chat", "", 0);
break;
}
}
return TRUE;
}
uj5u.com熱心網友回復:
鉤子中 不要用阻塞形式的 MessageBox 函式可以試試用 OutputDebugString 非阻塞的操作
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/114971.html
標籤:進程/線程/DLL
上一篇:怎么重繪客戶區?
