大伙平时周末都忙啥?昨天没事研究了下QQ自动登录的,java实现的代码,有人要么?


周末闲着没事,看朋友在玩腾迅的那些个SNS游戏,打趣问我以前不是写过kaixin001的外挂程序,为啥不干脆再写个腾讯的,毕竟腾讯的用户多很多。于是也想尝试下。可是一开始就卡在QQ自动登录这里了~~

先是验证码的问题。自动识别验证码-。-没研究过,弄不出来。。只好采取折中的办法:自动把验证码图片下载下来放到本地目录,同时将cookie verifysession码给保存起来,作为登录时的cookie提交。

开玩开心网写外挂的思路,把form表单和隐藏域的值提交到QQ登录的表单,发现老是密码错误。。。觉得不对劲,于是截了个包看了下。果然,是加过密的密码提交的。。。

可以肯定的是在客户端JS加密,于是在一堆JS文件中翻出一个comm.js,找到了加密的那段JS。心想偷个懒先,JAVA6里不是可以用ScriptEngine来调用JS函数嘛,于是写了段JAVA调用JS的代码,将原始密码加密、发送。。。。还是登录失败!!

于是慢慢调试,发现貌似 ScriptEngine调用的JS函数和用JS直接调用该函数,得到的结果竟然不一致!!(由于函数里有大量位运算操作,可能是Java的ScriptEngine和页面JS解释器的位数不一致吧?哪位仁兄有去仔细研究过的,来共享下知识嘛~~)。。。

没办法,只好自己去研究下那个加密函数,看了一下午才弄明白。。
QQ密码加密时,是先将初始密码先经过md5加密得到一个32位的密文,再将密文+4位验证码得到36位密文,再将36位密文进行三次MD5加密,就得到最后的发送密码了。
看来如果想通过截取QQ数据包来破解qq密码的可能性是几乎不存在了。。至少以俺的水平是不可能做到了。。。 T_T

接下来的“抢车位”自动停车、贴条的啥功能,“开心农场”种地偷菜的功能,技术上应该没多大问题了,可问题是…周末过完了。。。哎~~~

你可能感兴趣的:(java,apache,windows,qq,腾讯)