分享
 
 
 

揭开QQ登录窗口的面纱

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

揭开QQ登录窗口的面纱

作者:独孤寒哮

E-mail:blode@peoplemail.com.cn

希望与广大编程爱好者主交流,

现在盗QQ的工具可真是数不胜数,利用到的技术无非就是枚举窗口,得到窗口的句柄,再得到密码,或者高级一点利用钩子实现(本人的《QQ大盗子夜片》就是这样实现)TENCENT为了防止QQ密码被盗可以说是花尽了心思。

今天闲来无事,再次对QQ登录窗口进行了研究,终于发现腾讯QQ登录窗口的一些密码。并以一个例程来说明如何实现。

首先让我们来看几张关于QQ登录窗的图片(我的QQ版本:0825,):

图一

图二

我们用ALT+TAB切换窗口,会发现当切换到QQ登录,注册向导窗口时,显示的是空的,甚至还会出现下面这种情况:

图三

由此我们可以得出一个结论:

QQ的登录窗口标题本身是设的空的,然合再加上一个假的标题:“QQ用户登录”“QQ注册向导”,这样就可以防止别人用FindWindow来得到窗口的句柄,当别人枚举窗口名为“QQ用户登录”或“QQ注册向导”的窗口时,结果是根本找不到。因为它显示的标题是假的。TENCENT的技术人员还真的想了事。不过,要盗取QQ密码学是很容易,要不这么多的盗QQ密码的工具还正日夜工作着?

这些我们关不关心,盗那么多QQ也没什么用。QQ本来就不是个好东西,我们关心的是它怎么实实隐藏真正窗口标题的?说白了很简单。下面我们在VC下以一个例程来说明这一技术。

1:新建一个基于对话框的程序,名为ex_edit

2:在对话框属性中将对话框的标题删除,这样就为空了。完成了一小半

3:在对话框的实现文件中(.cpp)重载DefWindowProc函数,在这里面判断几个消息(WM_NCPAINT,WM_NCACTIVATE,WM_SYSCOMMAND)在这里顺便说下:

Windows重绘非客户区的机制如下:处理以上三个消息后,谳用CWnd类的默认消息处理函数:DefWindoeProc,在此函数中对非客户区进行重结操作。进入正题。。。

修改后的DefWindowProc函数如下:

LRESULT CEx_editDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)

{

LRESULT lst=CDialog::DefWindowProc(message, wParam, lParam);

if(!::IsWindow(m_hWnd))

{

return lst;

}

if(message=WM_NCPAINT||message==WM_NCACTIVATE||WM_SYSCOMMAND)

{

CDC *pDC=GetWindowDC();

if(pDC)

DrawTitleBar(pDC); //自定义函数,用于加入自定义标题

ReleaseDC(pDC);

}

return lst;

}

4:加入DrawTitleBar自定义函数,其实现如下:

void CEx_editDlg::DrawTitleBar(CDC *pDC)

{

if(!m_hWnd)

return ;

CRect rtWnd,rtTitle;

GetWindowRect(&rtWnd);

rtTitle.left=GetSystemMetrics(SM_CXFRAME)+GetSystemMetrics(SM_CXSMICON)+3;

rtTitle.top=GetSystemMetrics(SM_CYFRAME)+2;

rtTitle.right=rtTitle.left+rtWnd.Width();

rtTitle.bottom=rtTitle.top+GetSystemMetrics(SM_CYSIZE);

pDC->SetBkMode(TRANSPARENT);

pDC->SetTextColor(RGB(255,255,255));

CFont mFont;

mFont.CreateFont(12,0,0,0,FW_BOLD,0,0,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,"MyFont");

//创建一种字体,使我们的自定义标题和系统标题更相像

CFont *font=(CFont*)pDC->SelectObject(&mFont);

pDC->DrawText("我的标题栏",&rtTitle,DT_LEFT|DT_SINGLELINE);

}

这里面涉及到GetSystemMetrics函数,大概的讲下:

它返回与windows环境有关的信息

返回值

Long,取决于具体的常数索引,上面涉及到的参数含义如下:

SM_CXSMICON, SM_CYSMICON 小图标的大小

SM_CXFRAME, SM_CYFRAME 尺寸可变边框的大小

SM_CXICON, SM_CYICON 标准图标的大小

好了,编译运行看下:如图:

图一

图二:

大家会发现,我们的程序在切换窗口后,怎么都不会出现空标题的情况,也就说比TENCENT的QQ注册向导窗更好,可能是他们技术人员忘记处理某个消息了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有