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

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

2011-1-13 11:57
6476
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键却没反应,不知是什么问题,望高手来解答或给出别的方法。。。上传附件。。。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (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
活跃值: (421)
能力值: ( 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
游客
登录 | 注册 方可回帖
返回
//