首页 电脑 电脑学堂 查看内容

网页协议分析篇:教大家用扫码方式登录QQ!

2017-8-5 00:47 |来自: 互联网 5325 0

摘要: 以前和大家分析过QQ相关的网页协议,今天继续和分析Smart QQ的扫码登录!有兴趣的可以跟着教程走一遍,很简单的!首先登录以下网址,截取登录数据!http://w.qq.com/login.html我们获取到的二维码链接是:https://ss ...

以前和大家分析过QQ相关的网页协议,今天继续和分析Smart QQ的扫码登录!有兴趣的可以跟着教程走一遍,很简单的!

  1. 首先登录以下网址,截取登录数据!

http://w.qq.com/login.html

我们获取到的二维码链接是:

https://ssl.ptlogin2.qq.com/ptqrshow?appid=501004106&e=0&l=M&s=5&d=72&v=4&t=0.32820029530831784

这个就很简单了,前面是固定的。唯一需要我们改变的参数是t=0.32820029530831784(这个是随机的固定大小,编程是时候最好不要重复)

2.获取到二维码链接,这时网页会触发定时器。会检测是否手机扫描了二维码,从而判断是否登录成功!

获取到的检测是否登录成功状态的链接:

https://ssl.ptlogin2.qq.com/ptqrlogin?ptqrtoken=933022696&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-2237&mibao_css=m_webqq&t=undefined&g=1&js_type=0&js_ver=10222&login_sig=&pt_randsalt=0

这里我们需要改变的参数只有一个,就是ptqrtoken!

这个数值是怎么来的呢?是经过JS加密COOKIE里面的qrsig而来的!

JS加密(传入的参数是COOKIE里面的qrsig值)方法:

Public Function gettoken(ByVal p_skey As String) As String

Dim GTKcode As String

Dim obj As Object

Set obj = CreateObject("MSScriptControl.ScriptControl")

obj.AllowUI = True

obj.language = "JavaScript"

GTKcode = GTKcode & "function uid4444(t){" & vbCrLf

GTKcode = GTKcode & "for(var e=0,i=0,n=t.length;n>i;++i)" & vbCrLf

GTKcode = GTKcode & "e+=(e<<5)+t.charCodeAt(i);" & vbCrLf

GTKcode = GTKcode & "return 2147483647&e;" & vbCrLf

GTKcode = GTKcode & "}"

obj.AddCode (GTKcode)

gettoken = obj.Run("uid4444", p_skey)

End Function

3.测试登录。

OK!这样我们就可以做出登录网页QQ了!是不是很简单呢?

代码太长就不发了,有兴趣的加群( 624101261)获取吧!


往期教程回顾:

学习笔记——网页POST获取群成员QQ,提交参数分析!

教大家利用QQ空间接口,提取全部QQ好友资料!

本文出处: http://www.toutiao.com/a6433500738392424705/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部