2015 QQ最新登录算法
首先还是取得验证码,抓包可得:
http://check.ptlogin2.qq.com/check?regmaster=&pt_tea=1&uin=2630366651&appid=7000101&js_ver=10113&js_type=1&login_sig=jBX*GEgR-BFtNPRz-Rz6AG1f2PwOqw0ksVxs0gHPEceuRD0e1VBmwdztN-JoAIlY&u1=http%3A%2F%2Fpet.qq.com%2Floginback.html&r=0.4001144212670624
uin是用户名都懂得,login_sig目前还是没堵上可忽略,其中最大的变化就是增加了pt_tea参数,经过分析测试应该是个过度参数,如果为0在登录时一定要求输入验证码,并且采用老算法加密参数。
这也是为什么老程序仍然可以登录,但每次都要验证码的原因,估计不久就要堵上了,所以这里应该赋值1采用新算法。
响应如下:
ptui_checkVC('0','!MOF','\x00\x00\x00\x00\x9c\xc8\x35\xbb','d1f329403a04f3cdcfa2c2edb634bcba803a436ee23330e6d728500550d61349c756894065e5e2ae635c783dd10d3ba1','0');
为了方便叙述,各自段名左到右分别命名为:isverified,vcode,salt,pt_verifysession_v1,pt_vcode_v1
isverified还是指示是否需要验证,0和1分别代表无需和需要。
slat之前叫pt_uin,当使用QQ号登录时还是老含义,既字节化的QQ号,而当使用邮箱登录时返回的字节序列目前不明,分析了下其值是固定的,没找到还原成QQ号的算法,貌似新算法的QQ号都是从cookies里直接取得的。
pt_verifysession_v1就是session验证码,之前一直是摆设现在堵上了,当需要验证的时候这个字段为空,其值需要从cookies中取出。
pt_vcode_v1是新增的,后面会讲到。
vcode在无需验证的情况下含义不变,当需要验证时有了新含义,此时会返回一串字符,之前取得验证码图片时有个cap_cd参数,这次也堵上了,
那么这个参数哪来的呢?就是vcode返回的这串字符了,前面说了需要验证时pt_verifysession_v1为空,当取得验证码后cookies里会多出一个verifysession,没错就是它了。
有了以上参数剩下的就是登录了:
http://ptlogin2.qq.com/login?u=2630366651&p=Bf89JSlQuPB7vtFHxbBdS9-0BH2SPHfv5f3FcRVsPE8TyMT24eTW5GkVxyAoQXqY58fNiMUyCUJ586NasPx8F-m*pvorVhEKRqedsLIqjFr-nZu6e3W6x8*CVUcbb*LS6OhXQSsul70IMpGBUmw0KEJXURnKApOcPeIJXy1bCEaOkLET*realhzlnmsagmNuRZvqobAVGjFw5QVKmAubXw__&verifycode=!MOF&aid=7000101&u1=http%3A%2F%2Fpet.qq.com%2Floginback.html&h=1&ptredirect=0&ptlang=2052&daid=41&from_ui=1&dumy=&low_login_enable=0®master=&fp=loginerroralert&action=1-10-1423480485958&mibao_css=&t=1&g=1&js_ver=10113&js_type=1&login_sig=jBX*GEgR-BFtNPRz-Rz6AG1f2PwOqw0ksVxs0gHPEceuRD0e1VBmwdztN-JoAIlY&pt_uistyle=17&pt_randsalt=0&pt_vcode_v1=0&pt_verifysession_v1=d1f329403a04f3cdcfa2c2edb634bcba803a436ee23330e6d728500550d61349c756894065e5e2ae635c783dd10d3ba1
u是用户名,verifycode和pt_verifysession_v1无需多言,而pt_vcode_v1不要被这货骗了,无论前面返回的是什么,这里都应该是0,而前面进行验证时返回的pt_vcode_v1实际上对应这里的pt_randsalt,这个字段是干啥的呢,
当你用qq号登录时它为0,反之你用邮箱之类的辅助帐号登录时为1,不然登录会失败。
最后的重头戏就是参数p了,它是暗文密码,相较之前简单的MD5几次这次可谓丧心病狂还新增了RSA,我已经逆向出一大半了,可最终还是放弃了,理由很简单新算法可变动的地方较多,随便改改又要花费大把精力重新分析绝比费力不讨好,
那么我们就充分发扬拿来主意吧,反正登录脚本是现成的,伪造document对象或者把脚本改改直接用本地js引擎拿结果就好喽~~~
2015 QQ最新登录算法的更多相关文章
- Android应用之——最新版本号SDK V2.4实现QQ第三方登录
为什么要写这篇博客呢?由于.我在做这个第三方登录的时候,找了非常多资料,发现要么就是过时了.要么就是说的非常不清楚.非常罗嗦.并且非常多都是一些小demo,不是什么实例.甚至连腾讯官方的文档都有这个问 ...
- 2015年最新中国知网CNKI免费账号直接入口
以下是Free9免费资源网小编收集整理的2015年最新中国知网CNKI免费账号直接入口,现免费分享给大家(仅供测试使用),此类文献数据库资源有时效性,希望对您的学习.工作上有所帮助! 中国知网直接入口 ...
- web实现QQ第三方登录
开放平台-web实现QQ第三方登录 应用场景 web应用通过QQ登录授权实现第三方登录. 操作步骤 1 注册成为QQ互联平台开发者,http://connect.qq.com ...
- Android之QQ授权登录获取用户信息
有时候我们开发的app须要方便用户简单登录.能够让用户使用自己的qq.微信.微博登录到我们自己开发的app. 今天就在这里总结一下怎样在自己的app中集成QQ授权登录获取用户信息的功能. 首先我们打开 ...
- 2015 - 2020 最新 Linux 命令大全
# 2015 - 2020 最新 Linux 命令大全 ## VIM 命令模式(Command mode):vi 插入模式(Insert mode):i底线命令模式(Last line mode):e ...
- QQ互联登录以及非官方正版应用报100044错误
QQ第三方登录的时候,显示非官方正版应用,报100044错误:坑1:我们在QQ互联注册成功后需要设置包名和签名,签名是通过官方提供的工具生成的.注意一点:这里的签名是需要由打包签名之后APK生成,我们 ...
- 使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样
使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样openid生成是根据应用的appid和QQ号的一些信息加密生成,对于一个appid和QQ号来说,openid是唯一的 ...
- 【第三方登录】之QQ第三方登录
最近公司做了个网站,需要用到第三方登录的东西.有QQ第三方登录,微信第三方登录.先把QQ第三方登录的代码列一下吧. public partial class QQBack : System.Web.U ...
- iOS开发UI篇—模仿ipad版QQ空间登录界面
iOS开发UI篇—模仿ipad版QQ空间登录界面 一.实现和步骤 1.一般ipad项目在命名的时候可以加一个HD,标明为高清版 2.设置项目的文件结构,分为home和login两个部分 3.登陆界面的 ...
随机推荐
- ckedit 在源码模式下插入文本
ckedit的源码模式下是禁用insertText方法的 ,下面是解决方案 if(CKEDITOR.instances[Itemname].mode=='wysiwyg'){ CKEDITOR.ins ...
- Ping其他电脑ping不通的解决方法
要想Ping通其他电脑,首先要看被PING的电脑,是否允许PING. 一.在被PING电脑操作系统为XP下分为:1.被PING 电脑关闭了防火墙,就完全可以PING通:2.被PING 电脑开了防火墙, ...
- C#代码和javascript函数相互调用
C#代码与javaScript函数的相互调用 问:1.如何在JavaScript访问C#函数?2.如何在JavaScript访问C#变量?3.如何在C#中访问JavaScript的已有变量?4.如何在 ...
- 简单实现TCP下的大文件高效传输
简单实现TCP下的大文件高效传输 在TCP下进行大文件传输不象小文件那样直接打包个BUFFER发送出去,因为文件比较大所以不可能把文件读到一个BUFFER发送出去.主要有些文件的大小可能是1G,2G或 ...
- spring事务管理器设计思想(2)
spring事务管理器设计思想(二) 上文见<spring事务管理器设计思想(一)> 对于第二个问题,涉及到事务的传播级别,定义如下: PROPAGATION_REQUIRED-- 如果当 ...
- C++ 全局构造函数调用的顺序
C++的全局类和静态类的构造函数是在main函数之前调用的.但是,不同的类的构造函数以什么顺序调用呢? 对于g++编译器来说,这个顺序是由链接时,文件顺序决定的. 我们用一个例子来说明这一点. 我们有 ...
- SASS使用CSS3动画并使动画暂停和停止在最后一帧的简单例子
今天在手机上试了试这个 css3 动画效果,可以把动画效果停留在最后一帧上,以及鼠标 :hover 暂停动画,比较实用的功能,不用 JS 也能实现这些效果了. 不过测试体验感觉手机上没有 jQuery ...
- PRML 第一章mindmap
PRML读了很长时间了,但是一直没有完全搞明白,很多概念都是不太清楚,于是从第一章开始重读.读的过程中会将这个内容结构用mindmap的形式记录下来,一是通过这种方式帮助自己理清楚思路,二是在之后可以 ...
- oracle_sequence用法
1. About Sequences(关于序列) 序列是数据库对象一种.多个用户可以通过序列生成连续的数字以此来实现主键字段的自动.唯一增长,并且一个序列可为多列.多表同时使用.序列消除了串行化 ...
- centos7下引导win7
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry &q ...