WebQQ登录

来自百合仙子's Wiki
跳转到导航 跳转到搜索

密码加密

注意:据说[1]以下的方案失效。

首先三次 md5,取大写十六进制值加上大写的验证码再 md5:

from hashlib import md5

def md5_3(s):
  s = s.encode('gb18030')
  s = md5(s).digest()
  s = md5(s).digest()
  return md5(s).hexdigest().upper()

def QQHash(passwd, verifycode):
  return md5((md5_3(passwd)+verifycode.upper()).encode('gb18030')).hexdigest().upper()

登录页面

http://ui.ptlogin2.qq.com/cgi-bin/login?style=4&appid=1002101&enable_qlogin=0&no_verifyimg=1&s_url=http://web.qq.com/main.shtml?direct__2&f_url=loginerroralert

Cookies

pgv 开头的很多cookie在 ping.js 中设置。

以下代码在登录之前就已经设置了。

login_param

由链接 http://ui.ptlogin2.qq.com/cgi-bin/login?style=4&appid=1002101&enable_qlogin=0&no_verifyimg=1&s_url=http://web.qq.com/main.shtml?direct__2&f_url=loginerroralert 设置,值为

login_param style=4&appid=1002101&enable_qlogin=0&no_verifyimg=1&s_url=http://web.qq.com/main.shtml?direct__2&f_url=loginerroralert

pgv_pvid

ping.js 
var b = new Date();
var a = b.getUTCMilliseconds();
d = (Math.round(Math.random() * 2147483647) * a) % 10000000000;
//d 即为其值

pgv_flv

ping.js 

值为 10.1 r53

pgv_info

ssid

ping.js 
var b = new Date();
var a = b.getUTCMilliseconds();
c = "s" + (Math.round(Math.random() * 2147483647) * a) % 10000000000

pgv_r_cookie

ping.js 
var h = new Date();
pgvRealSetCookie("pgv_r_cookie=" + h.getYear() % 100 + (h.getUTCMonth() + 1) + h.getUTCDate() + h.getUTCMilliseconds() + Math.round(Math.random() * 100000));

ptui_check_rem_uni

初始值为7。

以下代码在是在登录时设置的。

pt2gguin

o0 +QQ号

uin

o0 +QQ号

skey

@lumOrvF9c

ptcz

3fd6c3ed89b6ede9de407684b876226db5abc70753dd4191d516b5279de6a480

ptwebqq

e392b21773629329b549eded060eb4b2d46d171fab20f4bd371aa02ded1b2e58

o_cookie

QQ号

其它

以下代码可打开日志:

document.getElementById('webqq_login_logger').style.display = 'block'

以下地址指向一个不需要验证码的登录页面,但不是总有效:

http://ui.ptlogin2.qq.com/cgi-bin/login?style=4&appid=1002101&enable_qlogin=0&no_verifyimg=1&s_url=http://web.qq.com/main.shtml?direct__2&f_url=loginerroralert

参见

参考资料