阅读目录       

1,WEBQQ的登陆协议

2,传说中的心跳包

3,获得群,好友,

4实战(盗号-外挂-广告)

 

 

要说怎么突然研究起WEBQQ,也是比较偶然的机会,因为前一份工作专注于B2C商城的开发,

经常,自己写点工具,模拟一个HTTP请求来进行秒杀之类的,然后联想到QQ的农场,牧场

有很多辅助的小工具,自己开始研究WEBQQ,时间大概是2个双休,4天.

 

 

1,WEBQQ登陆协议

工具:火狐+firebug

1, 进入WEBQQ, http://web.qq.com/,

通过工具分析,可以知道,通过WEB登陆,会首先GET一个请求过去

http://check.ptlogin2.qq.com/check?uin=236773862&appid=1003903&r=0.14233942252344134,我们只详细分析下这一个请求,看看,这个请求到底携带了什么样的数据

请求头部这些内容,就是等会,模拟HTTP提交需要的,

这个GET请求返回ptui_checkVC('0','!W61','\x00\x00\x00\x00\x9b\x8f\xdb\xab');这样的字符串,其中第一个字符串,’0’代表不需要验证码,’!w61’这个数据,是等会登陆需要的,

第3个参数没用,

我输入密码登陆,监控到这样一个请求

http://ptlogin2.qq.com/login?u=236773862&p=C678AF49F29847C34BA8165EDE59C5A7&verifycode=quhw&webqq_type=10&remember_uin=1&login2qq=1&aid=1003903&u1=http%3A%2F%2Fweb.qq.com%2Floginproxy.html%3Flogin2qq%3D1%26webqq_type%3D10&h=1&ptredirect=0&ptlang=2052&from_ui=1&pttype=1&dumy=&fp=loginerroralert&action=8-38-447467&mibao_css=m_webqq&t=3&g=1

这个不用多说了,接着用C#进行模拟就行了,其中分清哪些是不变的就行了

String loginUrl = "http://ptlogin2.qq.com/login?u=" + qq + "&p=" + md5pass + "&verifycode=" + verifyCode + "&webqq_type=10&remember_uin=1&login2qq=0&aid=1003903&u1=http%3A%2F%2Fweb2.qq.com%2Floginproxy.html%3Flogin2qq%3D1%26webqq_type%3D10&h=1&ptredirect=0&ptlang=2052&from_ui=1&pttype=1&dumy=&fp=loginerroralert&action=6-25-303994&mibao_css=m_webqq&t=1&g=1";

不用多说了吧, md5pass这个是密码加密后的一个参数

加密的方式,就是QQ号,密码的明文,还有就是验证码,如果没有验证码就是,’!w61’这个参数,至于如何加密的,其实也非常简单,腾讯的加密肯定在客户端加密然后传输的,找到相应的JS文件,然后改写成C#版本就行了,至于第三个参数,就是验证码或者是’!w61’了,

ptuiCB('0','0','http://web2.qq.com/loginproxy.html?login2qq=1&webqq_type=10','0','登录成功!', 'Zr');

登陆成功后,返回这样的一个格式,一旦登陆成功,我就可以拿到COOKie

有了COOKIE,可以取出PTWEBQQ,和Skey,因为接着还会有一个POST包过去

http://d.web2.qq.com/channel/login2

其中这个POST请求需要PTWEBQQ,我们构造一下,POST过去

String postData = String.Format("r=%7B%22status%22%3A%22online%22%2C%22ptwebqq%22%3A%22{0}%22%2C%22passwd_sig%22%3A%22%22%2C%22clientid%22%3A%22{1}%22%2C%22psessionid%22%3Anull%7D&clientid={2}&psessionid=null", this.ptwebqq, this.clientid, this.clientid);

String login3 = QQ.getHtml(channelLoginUrl, "post", postData);

其中clientid是个随机数,自己定义就行了,那么到此,登陆就完成了,我们看一下界面

1,心跳包

顾名思义,心跳包,就是维持一个长连接,让WEBQQ保持在线的一种机制,.这个心跳包非常简单

http://d.web2.qq.com/channel/poll2只需要每隔几秒,或者写一个死循环也可以,,

这个地址POST

这样一段数据,就可以了,其中必要的参数,在登陆的时候可以全部拿到,这里值得一说的是,当POST这个数据过去后,服务器会等大概30秒左右的时间,如果30秒,QQ没有收到任何信息,那么它会自动返回,如果有信息会携带信息返回

实际上,这个心跳包弄清楚后,后面基本就没难度了,自己完全可以写一个简单的QQ,,难道这就是所谓的长连接??

1,获得群和好友

      获得群和好友,然后模拟HTTP请求,就可以聊天了。。。这里简单的说

对这个地址POST,然后会返回一个JSON,自己解析吧,后面已经没有技术含量了,体力活了

1,实战

我记得腾讯有很多游戏。。。同样的方法,先写个简单的3366外挂,其实很简单,就是一个get请求过去,分数什么的自己写吧,,把外挂上传,其实盗个什么QQ号的,没一点技术含量,,

 

自己尝试了下,。。。在比如说

等等吧,盗来的QQ号,有什么用??呵呵,我个人都是拿来上传我的外挂,然后盗更多的号,其实研究WEBQQ或者PCQQ协议的人,都是为了打广告,我至今难于忘记,那个卖铁观音茶的广告,几乎每个人的群里都会有这么一个广告。。,不光是QQ.新浪微博刷粉也可以这样搞,本人精力有限,连写这篇文章,都是赶出来的,有兴趣的同事,可以找我要源码,或者一起研究都可以

BY gitdnn        

漫谈WebQQ 协议相关推荐

  1. HTTP协议漫谈 - HTTP协议请求方法

    前言 在上一篇文章<HTTP协议漫谈 - HTTP协议历史和报文结构>中介绍了HTTP协议的历史和版本变化,以及HTTP协议报文的总体结构. 按照HTTP/1.1 RFC文档中的定义,HT ...

  2. HTTP协议漫谈 - HTTP协议历史和报文结构

    前言 去年下半年以来各种俗事缠身,所以有段时间没有更新博客了.过完年回来事情不多,项目需求也比较少,又可以愉快的写博客了(≧∇≦)ノ 这几天在网络上搜罗了一些HTTP协议的相关知识,并对这些知识做了一 ...

  3. java qq协议 c#,C# WebQQ协议群发机器人(三)

    在前两篇文章中我已经给了绝大部分的WEBQQ的操作 在这篇文章中不在过多的说明做法 有的时候需要自己添加一些功能呢 怎么做呢,我这里给出一个方法. 在调试webqq机器人时 我用google浏览器 的 ...

  4. MQTT再学习 -- 漫谈MQTT协议

    MQTT 服务器搭建我们已经完成了,现在回过头来看协议. 参看:MQTT 官网 参看:MQTT_V3.1_Protocol_Specific 参看:MQTT协议中文版 参看:MQTT协议中文版 上面这 ...

  5. 从新冠疫情出发,漫谈 Gossip 协议

    众所周知周知,疫情仍然在全球各地肆虐.据最新数据统计,截至北京时间 2020-05-28,全球累计确诊 5698703 例,累计死亡 352282 例,累计治愈 2415237 例. 从上面的统计数据 ...

  6. (转)WebQQ协议开发实战

    首先装了一个Fiddler2,还真不错,事半功倍,webqq从登录到获取相关的信息的http全都抓下来了,然后慢慢的分析. 一.webqq的登录过程 1.判断帐号状态.首先要判断QQ号码的状态,是否正 ...

  7. WebQQ协议分析(1)——登录

    申明:本文章只做研究之用,不得用于商业目的,不得大规模推出自己的QQ代替腾讯的产品,后果自负. 绪: 一直想弄个程序与QQ直接通信,再弄个聊天机器人什么的,困于无从下手:QQ太麻烦了,抓包来看看吧,全 ...

  8. webQQ迷你版协议(基于http://w.qq.com)

    基于http://w.qq.com,现在把命令汇总一下: 注:本协议在QQ群93772282中有word版本的下载,希望大家入群下载(2012年2月12日测试有效) 本文章没有文字格式,下载word版 ...

  9. python qq机器人框架有哪些_使用Python的Tornado框架实现一个简单的WebQQ机器人

    我打算将WebQQ单独出来运行, 一开始直接拷贝了pyxmpp2的mainloop, 但是跑起来问题多多, 所以我又研究了利用Tornado进行网络编程(这里), 所以我放弃了Pyxmpp2的main ...

  10. pidgin-qq可以使用QQ2012协议了

    前几个月前还用过pidgin-qq登录过QQ,当时用的还是2010协议.可不久就发现2010协议已经变得不可用了,之后也尝试过各种webqq协议的方案,什么gtkqq,pidgin-lwqq,可能是w ...

最新文章

  1. POI简易帮助文档系列--给Excel设置样式
  2. esp ghost引导_ghost做uefi+gpt 需要什么cmd命令修复引导
  3. 使用LSTM进行莎士比亚风格诗句生成
  4. Android Studio的使用(三)--包不分级、修改包名
  5. 【一起玩光剑】光剑第二期:新建GitHub上传OTA初始程序
  6. telnet工具_Telnet进入Linux时出现乱码
  7. iOS实战:第一次在iTunesConnect上建立应用时注意公司名称
  8. python 参数_python脚本命令行参数解析
  9. 电脑太慢了最简单的办法怎么弄_最简单的电脑端微信多开方法
  10. 微信加人就服务器频繁,微信加同一个人好友,提示操作过于频繁,请稍后重试!这个是什么意思啊?...
  11. 如何传输本地文件到服务器,本地传输文件到服务器
  12. 入侵检测技术期末重点总结
  13. 奇点云数据中台技术汇(二)| DataSimba系列之数据采集平台
  14. 1154 Vertex Coloring
  15. 南京 学计算机的学校,南京小学生暑假学计算机编程去哪家学校好
  16. 【C语言】三子棋(智能下棋 + 阻拦玩家)
  17. FOC控制笔记 -基本术语概念
  18. linux+shell+解压命令,Shell命令 文件压缩解压缩之gzip、zip详解
  19. win7删除桌面计算机图标怎么删除,桌面无法删除的图标,详细教您win7桌面图标删不掉怎么办...
  20. 离散时间信号处理/Week1

热门文章

  1. JxBrowser 与 JavaFX WebView
  2. 如何封装一个自己的win7系统并安装到电脑做成双系统
  3. eNSP入门-基本配置
  4. 桌面共享工具(可以实现RTMP直播、K歌、投屏等功能)
  5. 远程桌面与本计算机共享文件,win7系统开启远程桌面共享文件的方法
  6. 将DataFrame某列中的空值填充为0
  7. NAS安装迅雷远程下载
  8. Python使用freetype渲染显示阿拉伯语
  9. Java之ApiPost工具
  10. echarts 图表数据更新方式