|
序:
想自己寫一些簡單的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)', '');
注:困了、睡覺。有時間在搞!
|
|