大家知道,在离线状态下要想查看以前的聊天记录必须输入密码才行,如果密码错误,就会出现“输入密码与上次成功登录的密码不一致,是否到服务器验证?”的提示,这说明QQ在本地电脑中存放着密码的副本。那么这个密码的副本到底放在哪里呢?该如何发现呢?它对我们又有什么用呢?今天我们就谈谈这个问题。
使用自己的QQ号码和密码登陆过QQ之后,在QQ安装目录下会生成一个以你的QQ号码为名字的目录,用WinHex打开该目录下的ewh.db文件, ewh.db和QQ密码有很大的关系,其中0010h-0013h之间的四个字节以及001Eh-002Dh之间的十六个字节就是本地密码的加密密文(图 1),而ewh.db文件最后四个代码则是你的QQ号码的十六进制形式。把最后四个字节之前的内容全部复制下来,然后用十六进制文件编辑软件WinHex 打开另一个QQ号码目录下的ewh.db文件,用你的ewh.db文件最后四个字节之前的内容覆盖另一个号码对应ewh.db文件的相同部分,保存之后,就可以用自己的密码登陆他人的QQ!并随意查看其聊天记录!当然了,本方法只能在离线状态下成功,如果上网的话,就会出现对话框提示密码不正确。但这已经足够了,如果某个QQ密码忘记了,而你又记得另外一个QQ号码的密码,不妨试试这个办法,可以帮你查看到以前的聊天记录,也许能回忆起你的密码也说不准呢。本方法适合于QQ2000C Build 1230 b及以后的所有版本。注意,不要用来干破坏,我们这里只是作为技术交流,目的是使大家能了解QQ的密码存在位置,在自己忘记密码时使用。
和QQ登陆有关的还有AutoLogin.dat和LoginUinList.dat文件。现在的QQ2003III是将登陆文件分别保存在 AutoLogin.dat和LoginUinList.dat文件中,其中AutoLogin.dat是自动登录的文件,而 LoginUinList.dat文件则存放着本机所有登陆号码的信息。让我们用WinHex打开它们来分析一下,会有不小的发现。
用WinHex打开QQ安装目录下的AutoLogin.dat文件,你会看到如图所示内容(图2),偏移地址10h处的数值表明当前QQ号码是否设置为自动登录,如果值为01就说明设置为自动登陆,如果为00则表示QQ没有设置成自动登陆。从1Eh到21h这四个字节是QQ号码的十六进制代码(低位在前高位在后),从3Ah到49h这16个字节是与QQ号对应口令的密文,该密文和ewh.db中的密文是不一样的,这里的密文是不变的,而ewh.db中的密文每次登录都会有所不同。注意,如果你没有将QQ设置为自动登录,这个文件到39H处就结束了。
这里有一个有趣的小问题供大家思考:如果你能找到他人QQ号码对应的AutoLogin.dat文件,将该文件从3Ah到49h这16个字节的自动登录信息拷贝到自己的QQ号码对应的AutoLogin.dat文件中,大家想想看结果会怎么样呢?能否在不知道对方密码的情况下通过QQ服务器的验证呢?我没有试验过,大家可以试试。
……
如果要删除QQ号码只要用用WinHex打开LoginUinList.dat文件,选中该号码的开始部分代码0989,向下拖动鼠标,选定包括0989在内的50个代码删除,再到05H处把表示QQ号码个数的十六进制数值减去1即可。
使用自己的QQ号码和密码登陆过QQ之后,在QQ安装目录下会生成一个以你的QQ号码为名字的目录,用WinHex打开该目录下的ewh.db文件, ewh.db和QQ密码有很大的关系,其中0010h-0013h之间的四个字节以及001Eh-002Dh之间的十六个字节就是本地密码的加密密文(图 1),而ewh.db文件最后四个代码则是你的QQ号码的十六进制形式。把最后四个字节之前的内容全部复制下来,然后用十六进制文件编辑软件WinHex 打开另一个QQ号码目录下的ewh.db文件,用你的ewh.db文件最后四个字节之前的内容覆盖另一个号码对应ewh.db文件的相同部分,保存之后,就可以用自己的密码登陆他人的QQ!并随意查看其聊天记录!当然了,本方法只能在离线状态下成功,如果上网的话,就会出现对话框提示密码不正确。但这已经足够了,如果某个QQ密码忘记了,而你又记得另外一个QQ号码的密码,不妨试试这个办法,可以帮你查看到以前的聊天记录,也许能回忆起你的密码也说不准呢。本方法适合于QQ2000C Build 1230 b及以后的所有版本。注意,不要用来干破坏,我们这里只是作为技术交流,目的是使大家能了解QQ的密码存在位置,在自己忘记密码时使用。
和QQ登陆有关的还有AutoLogin.dat和LoginUinList.dat文件。现在的QQ2003III是将登陆文件分别保存在 AutoLogin.dat和LoginUinList.dat文件中,其中AutoLogin.dat是自动登录的文件,而 LoginUinList.dat文件则存放着本机所有登陆号码的信息。让我们用WinHex打开它们来分析一下,会有不小的发现。
用WinHex打开QQ安装目录下的AutoLogin.dat文件,你会看到如图所示内容(图2),偏移地址10h处的数值表明当前QQ号码是否设置为自动登录,如果值为01就说明设置为自动登陆,如果为00则表示QQ没有设置成自动登陆。从1Eh到21h这四个字节是QQ号码的十六进制代码(低位在前高位在后),从3Ah到49h这16个字节是与QQ号对应口令的密文,该密文和ewh.db中的密文是不一样的,这里的密文是不变的,而ewh.db中的密文每次登录都会有所不同。注意,如果你没有将QQ设置为自动登录,这个文件到39H处就结束了。
这里有一个有趣的小问题供大家思考:如果你能找到他人QQ号码对应的AutoLogin.dat文件,将该文件从3Ah到49h这16个字节的自动登录信息拷贝到自己的QQ号码对应的AutoLogin.dat文件中,大家想想看结果会怎么样呢?能否在不知道对方密码的情况下通过QQ服务器的验证呢?我没有试验过,大家可以试试。
……
如果要删除QQ号码只要用用WinHex打开LoginUinList.dat文件,选中该号码的开始部分代码0989,向下拖动鼠标,选定包括0989在内的50个代码删除,再到05H处把表示QQ号码个数的十六进制数值减去1即可。
转载于:https://blog.51cto.com/365923/75586