0%

2016最新webQQ协议分析

最近打开以前的webqq协议项目 结果发现貌似挂了。 重新抓包分析了下。这里贴一下接口 做个记录。

1、第一次登陆

方法:Get

地址: \“https://ssl.ptlogin2.qq.com/ptqrshow?appid=501004106&
e=0&l=M&s=5&d=72&v=4&t=0.\“ + 随机9位数 + 随机7位数;

地址返回结果是个二维码, 扫描二维码登陆。 这期间循环 2.验证登陆状态。

访问后记录Cookie后面要用到.

2、验证登陆状态

方法:POST

地址:https://ssl.ptlogin2.qq.com/ptqrlogin

参数:webqq_type=10&remember_uin=1&login2qq=1&aid=501004106&
u1=http%3A%2F%2Fw.qq.com%2Fproxy.html%3Flogin2qq%3D1%26webqq_type%3D10&
ptredirect=0&ptlang=2052&daid=164&from_ui=1&pttype=1&
dumy=&fp=loginerroralert&action=0-0-18099&
mibao_css=m_webqq&t=1&g=1&
js_type=0&js_ver=10135&login_sig=&pt_randsalt=0

返回结果为:ptuiCB(\‘66\‘,\‘0\‘,\‘\‘,\‘0\‘,\‘二维码未失效。(1891650816)\‘, \‘\‘);
ptuiCB(\‘67\‘,\‘0\‘,\‘\‘,\‘0\‘,\‘二维码认证中。(1891650816)\‘, \‘\‘);
ptuiCB(\‘0\‘,\‘0\‘,\‘http://ptlogin4.web2.qq.com/check_sig?pttype=1&uin=【QQ号码】&service=ptqrlogin&nodirect=0&
ptsigx=c4b277a9cbb5ec2e9dbcdf25645ac2b36e27aeffe18395a8c10316f65bdc116f
846fd8b5d4893696a58ce4a0663111fbded905eb3f27c1b309e6a3af49d989b6&
s_url=http%3A%2F%2Fw.qq.com%2Fproxy.html%3Flogin2qq%3D1%26webqq_type%3D10&
f_url=&ptlang=2052&ptredirect=100&aid=501004106&daid=164&
j_later=0&low_login_hour=0&regmaster=0&pt_login_type=3&
pt_aid=0&pt_aaid=16&pt_light=0&pt_3rd_aid=0\‘,\‘0\‘,\‘登录成功!\‘, \‘XX\‘);

所以这里检测开头第一个数字是0 就好了。 随后取出中间的网址并进行3、第一次登陆成功后返回回调地址。

3、第一次登陆成功后返回回调地址

方法:Get

地址:在上一个步骤返回的回调地址

直接访问一次即可,随后进入4、第二次登陆.

4、第二次登陆

方法:Post

地址:http://d1.web2.qq.com/channel/login2

参数:r={ {\“ptwebqq\“:\“[这里填之前cookie记录的 ptwebqq 的值]\“
,\“clientid\“:53999199,\“psessionid\“:\“\“,\“status\“:\“online\“}}

返回结果是个json 取其中psessionid

然后这里还需要获取vfwebqq值
地址: http://s.web2.qq.com/api/getvfwebqq

方法:post

参数:ptwebqq=[之前cookie的ptwebqq值]&clientid=[53999199]&psessionid=&t=[13位时间戳]

返回json中取值:vfwebqq

记录好这一部存下的值 psessionid 和 vfwebqq
到这一步 登陆就已经成功了。

之后就是获取好友 获取群组 获取消息 和 发送消息了。 先只搞到这 orz..