|
序:
想自己写一些简单的QQ辅助脚本。但是网上没有查到QQ通讯协议,所以进行WebQQ抓包(PS:不懂抓包、只是猜)。WebQQ登录的时候显示通过账号输入框光标离开事件GET服务器,判断登录账号是否需要输入验证码。
一:是否需要输入验证码接口
https://ssl.ptlogin2.qq.com/check?pt_tea=1&uin=616620664&appid=501004106&js_ver=10132&js_type=0&login_sig=&u1=http%3A%2F%2Fw.qq.com%2Fproxy.html&r=0.41083525703288615
参数(自己猜测的):
pt_tea:1表示获取验证码序列号、0表示不获取验证码序列号
uin: 验证的QQ账号
appid:固定值,应该代表WebQQ
js_ver:不知道(字面意思猜测为js脚本版本、不变)
js_type:不知道(字面意思猜测为js脚本类型、不变)
login_sig:不知道(博客中说为安全参数、在初始化页面时生成的、为空)
u1:不知道(不知道这货是啥、不变)
r:这是一个19位随机数、以0.开头
返回值:
ptui_checkVC('1','qNU9NmLveX2mE5IH0rIgk1YdhU73nH7vvP2uX1qXN1dsJkq3fFCwWA**','\x00\x00\x00\x00\x24\xc0\xe2\x78','','0');
ptui_checkVC('0','!XLF','\x00\x00\x00\x00\x03\xac\xe9\x63','4d9e014ae6ec52c0d7df99189ea62bd90743d2b69011592d909de1f739dd955865be3e0433867f46db50b1fc78aa98d2dbf7e7fecc40aa6a','0');
第一个参数:1表示需要验证码,0表示不需要验证码并返回缺省验证码
第二个参数:如果第一个参数为0则返回缺省验证码(!开头全大写),如果第一个参数为1并且请求参数 pt_tea 为1时返回验证码序列码否则返回空。
第三个参数:检测QQ账号的十六进制值
第四个参数:不知道
二:通过验证码序列号获取验证码图片
https://ssl.captcha.qq.com/getimage?aid=501004106&r=0.512181157246232&uin=616620664&cap_cd=EJQIFPIR8_p_aOzRxPv9TbuK7UfAM8vwWjlxaJdHvzlCssfvlS5yqA**
参数:
aid:与上面的appid同值,应该是标示腾讯产品的ID。不变
r:17位随机数、以0.开头
uin:QQ账号
cap_cd:第一步请求中回去的验证码序列码,也就是第一步中返回的第二个参数。
PS:没刷新一次请求返回的验证码都是不同的。没懂验证码的验证机制是什么。
三:登录
https://ssl.ptlogin2.qq.com/login?u=61663587&p=1ea*ugy*7m*kFwr*E65mWwlKuIVfRJP0ENGlk24n3-0BjZCN8B42mSbVHgCTMuizVi0mClgIINi8Du4BTj7tJU7AQxfV6aQwt2tixThsdKcccVLW3sFFWYH4PKoBB2WDqNtx0ABZuFqg6MSJOy47bYoQnp3-mRAeP7PXrc93Rj9nY1h5K10qereufrOjyA8B8Gqo-Odwkaz1ZUfuuvj*Ow__&verifycode=!XDG&webqq_type=10&remember_uin=1&login2qq=1&aid=501004106&u1=http%3A%2F%2Fw.qq.com%2Fproxy.html%3Flogin2qq%3D1%26webqq_type%3D10&h=1&ptredirect=0&ptlang=2052&daid=164&from_ui=1&pttype=1&dumy=&fp=loginerroralert&action=0-38-2001992&mibao_css=m_webqq&t=1&g=1&js_type=0&js_ver=10132&login_sig=&pt_randsalt=0&pt_vcode_v1=0&pt_verifysession_v1=fd837ec0a702aa3eb28add49267e79fe4d1cf21ffbd3d9400eab644b8bf1eaa105e190963c675777d9a6ced5d3bd385515dafe1e60844025
参数:
u:登录的QQ账号
p:加密后的QQ密码
verifycode:不知道(可能为缺省验证码)
webqq_type:不知道(字面意思应该是WebQQ类型,应该也是不变的)
remember_uin:不知道
login2qq:不知道
aid:不知道(可能为上述的appid)
u1:不知道
h:不知道
ptredirect:不知道
ptlang:不知道
daid:不知道
from_ui:不知道
pttype:不知道
dumy:不知道(为空)
fp:不知道
action:不知道
mibao_css:不知道
t:不知道
g:不知道
js_ver:不知道(字面意思猜测为js脚本版本、不变)
js_type:不知道(字面意思猜测为js脚本类型、不变)
login_sig:不知道
pt_randsalt:不知道
pt_vcode_v1:不知道
pt_verifysession_v1:不知道
返回值:
ptuiCB('4','2','','0','页面过期,请重试。(1003487584)', '');
注:困了、睡觉。有时间在搞!
|
|