首页
社区
课程
招聘
[旧帖] 钩子安装成功,回调函数未响应。。。 0.00雪花
发表于: 2011-1-13 11:57 6573

[旧帖] 钩子安装成功,回调函数未响应。。。 0.00雪花

2011-1-13 11:57
6573
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    if( wParam == VK_HOME && (lParam & (1<<31)) && code == HC_ACTION)
    {
        AfxMessageBox(_T("按下HOME键"));
    }
    return CallNextHookEx(g_HookState, code, wParam, lParam);
}
 
BOOL CdllApp::InitInstance()
{
    CWinApp::InitInstance();
 
    g_HookState = SetWindowsHookExA(WH_KEYBOARD, KeyboardProc, NULL, ::GetCurrentThreadId());
    if(g_HookState != NULL)
    {
        AfxMessageBox(_T("钩子安装成功"));
    }
    else
    {
        AfxMessageBox(_T("钩子安装失败"));
    }
 
    return TRUE;
}


DLL被注入进去后提示键盘钩子安装成功,但是按HOME键却没反应,不知是什么问题,望高手来解答或给出别的方法。。。上传附件。。。

[注意]看雪招聘,专注安全领域的专业人才平台!

上传的附件:
收藏
免费
支持
分享
最新回复 (4)
雪    币: 245
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
g_HookState = SetWindowsHookExA(WH_KEYBOARD, KeyboardProc, NULL, ::GetCurrentThreadId());

第三个参数应为HINSTANCE hMod, // 应用程序实例的句柄。标识包含lpfn所指的子程的DLL。
2011-1-14 16:38
0
雪    币: 111
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我用远程线程已经把DLL注入进目标程序了。如果这里填写DLL的句柄的话,那就等于说再用SetWindowHooKEx来注入DLL了。
2011-1-14 16:50
0
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
安装键盘钩子根本就不需要dll
SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, GetModuleHandle(NULL), 0);
这样就ok了。
可参考我的一篇war3 改键外挂源码。
2011-1-14 16:54
0
雪    币: 111
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, GetModuleHandle(NULL), 0);

如果这样的话,你这个就成全局的了,不管哪个软件下按HOME都会弹出MessageBox.
2011-1-14 17:34
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册