技术男带你破解QQ密码 扣扣空间密码怎么破解

QQ账号的安全防护一直是一个热门话题,关于键盘记录等技术的实现方式在网上的讨论非常多 。由于攻防不断升级,QQ自身的安全性也在不断提高,从QQ最近几年的技术实现来看,QQ的键盘输入安全一直是重点关注对象,要进行密码获取将会涉及到一些比较底层的技术,难度相对较大 。但是,从另外一个角度去思考问题,我们会发现一些用的人不多,却是非常有效的方法,本文危险漫步将为大家介绍使用内存读取的方法来破解QQ密码 。
我们通过输入正确的账号密码完成QQ的登录,在这个过程中,QQ除了把账号密码发送到服务器进行验证之外,还会在内存中保存至少一份密码的哈希值,这个值可以进行之后的一些访问的验证,比如打开QQ游戏等 。我们要通过内存读取的方式来获得QQ密码,首先需要知道QQ密码哈希值到底放在内存的哪个位置 。当然,我们没有必要自己编程搜索哈希值的位置,有一个开源的软件叫Cheat,它本来是用来在打游戏的时候作弊用的,不过我们可以利用它很好地完成搜索哈希值的任务 。
首先运行QQ,若版本不同,哈希值的内存存放位置也可能会不一样),输入自己的账号密码登陆之后就不用再管它了 。然后我们需要获得自己QQ密码的哈希值,这个值将要被用来搜索QQ进程空间里面密码哈希值的位置 。QQ密码的哈希值是用MD5算法计算出来的,所以我们也需要一个MD5计算工具来计算自己的密码的哈希值,这类计算工具非常多,有在线的也有本地的,,笔者用的是一个叫HASH的工具 。我们新建一个文本文件,把密码写在里面然后保存文件,用这个工具打开这个保存了密码的文本文件即可看到密码的哈希值为 。
打开Cheat5.4,点击左上角的那个小电脑的图标选择我们要打开的进程“QQ.exe” 。界面上的“Value type”选择为“Array fo Bytes”,表示我们要搜索连续的字节,勾选“Hex”标签前面的选择框,然后把前面得到的哈希值粘贴到“Hex9后面的文本框 。
点击“First Scan”,开始第一次搜索 。软件界面左侧马上显示了3个存放哈希值的位置:、和 。这三个值只是存放了密码哈希值的位置的地址,这些位置可能是会变动的,我还要继续寻找指向这些地址的指针 。将“Value fo type”改为“4 Bytes”,分别将上面三个地址粘贴到搜索框,可以得到指向的地址为,指向的地址为,没有找到这个值 。现在我们开始感到疑惑了,到底上面哪一个地址才是基址呢?
既然身为基址,那么可以确定的是它在相同的环境中所在的位置是不会变化的 。于是,我们可以果断地再开一个QQ,在新开的QQ进程里面重新完成一次上面的过程 。这次,还是得到3组和之前类似的数据:指向的地址为,指向 e4的地址为,没有找到 。不难看出,地址为的这个指针在两个QQ里面都没有变,我们可以用这个地址来编程实现内存哈希值读取 。
本来已经用MFC写过一个GUI程序,但为了有便讲解,重新写了一个控制台界面的程序,尽量避免MFC内容的干扰 。此程序使用VC6.0编写并运行通过 。

技术男带你破解QQ密码  扣扣空间密码怎么破解

文章插图
程序代码的主要思想是例举所有进程名为“QQ.exe”的进程(主要代码在函数中),打开进程后读取我们在上文中获得的指针所指向位置的数据(主要代码在函数sID和中),最终将数据转换并显示出来(主要代码在函数中) 。以上代码中函数的具体作用在函数前面的注释里面已经有说明,另外里面有一些系统调用,如果不清楚详细用法可以到网上查,这里不再累述 。
【技术男带你破解QQ密码扣扣空间密码怎么破解】