首页
社区
课程
招聘
[旧帖] [求助]dll注入后钩子不好使。请教 0.00雪花
发表于: 2009-5-2 22:49 3375

[旧帖] [求助]dll注入后钩子不好使。请教 0.00雪花

2009-5-2 22:49
3375
做了一个DLL注入的简单程序。目的是在目标程序中HOOk到F12键,作为呼出窗体热键。
注入成功。可是钩子却并不好使。请教为什么?

代码片断1:(DLL入口)
BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved ) 
{
  switch( fdwReason ) 
  { 
  case DLL_PROCESS_ATTACH:
    if( !installhook( hinstDLL ) )
    {
      MessageBox( NULL, TEXT("Set KBHook error"), TEXT("ERROR"), MB_ICONERROR );
    }
。。。。

代码片断2:(装置钩子函数)
BOOL installhook( HINSTANCE hinstDLL )
{
  hins = hinstDLL;
  hkb=SetWindowsHookEx( WH_KEYBOARD, (HOOKPROC)KeyboardProc, hins, 0 );
  if( NULL == hkb )
    return false;
  return true;
}

LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
  if( nCode == HC_ACTION ) 
  {
    {
      if( VK_F12 == wParam )
        MessageBox( NULL, TEXT("F12 Key Pressed"), TEXT("TEST"), MB_OK );
    }
  }
  return CallNextHookEx( hkb, nCode, wParam, lParam ); 
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
简单的Debug了一下。
DLL在收到“PROCESS_ATTACH”的通知了以后,紧接着就收到了“DLL_THREAD_DETACH”通知。
这是在提示DLL从宿主目标中卸载了,所以才不好使么?
而且,DLL注入了宿主中,断点不能下。有什么好的调试方法么?请教。
感谢,任何有帮助的提示和回答。
2009-5-2 22:54
0
雪    币: 1505
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
3
断点为啥不能下啊 在目标程序里面下LoadLibrary
然后再注入
2009-5-2 23:00
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢回答。
我在用Visual Studio 2k5写,怎么断到目标里的LoadLibrary?目标是notepad。
断到以后能回到我的DLL代码里逐行调试么?
我开始怀疑是传递的Handle错了。。。
2009-5-2 23:11
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
想到个笨方法。写个test.exe用LoadLibrary加载DLL。这样设在DLL代码里的断点应该好用了吧?
试试。
2009-5-2 23:14
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
跟了一会,没有什么明显的错误。继续征集好的建议和指正。
2009-5-2 23:35
0
游客
登录 | 注册 方可回帖
返回
//