文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院QQQQ技巧QQ 协议2005beta2 版协议分析
精品推荐
特别推荐
·QQ临时会话:不是好友照样聊
·QQ 10条最酷的秘技
·QQ秘技10条大公开
·加任何人为好友:QQ新技巧八则
·新出QQ技巧十六招
·让指定QQ号码无法登陆的技巧
·五招教你轻松玩转QQ网络硬盘
·巧妙利用QQ截图功能截取右键菜单图像
·巧用QQ面板获取最新QQ空间代码
·免费申请QQ(腾迅专门为国外用户提供)
热点TOP10
·刷QQ永久会员
·盗QQ密码高手FalseQQ
·非常漂亮的QQ资料,保证不会让你失望
·自己动手修改QQ等级
·QQ空白头像修改器:让QQ头像消失
·新出QQ技巧十六招
·做QQ高手,你应该了解的17种QQ技术
·免费申请QQ号
·加任何人为好友:QQ新技巧八则
·免费QQ秀(非常不错啊)

QQ 协议2005beta2 版协议分析

日期:2008年5月26日 作者: 查看:[大字体 中字体 小字体]


/*发送这13个字节的报文到QQ服务器*/ len = write(qc->server,buff_tx,13);

/*我们采用了非阻塞的套节字, 所以么设置超时, 并检查socket 事件!*/ bzero(&timeout,sizeof(timeout)); /*超时一秒*/ timeout.tv_sec = 1; timeout.tv_usec = 0; /*设置需要监视的socket*/ FD_ZERO(&fds); FD_SET(qc->server, &fds); /*检查socket 事件*/ e = select(qc->server+1,&fds,NULL,NULL,&timeout);

if(e==-1e==0){ /*超时了… */ fprintf(stderr,"request login token timeout.\n"); return -EFAULT;

}

/*好了!服务器回应数据出现了把接收数据放入buff_rx */ len = read(qc->server,buff_rx,sizeof(buff_rx));

if(len<=0){ /*读入数据失败*/ fprintf(stderr,"request login token error.\n"); return -EFAULT;

}

if(buff_rx[0] != 0x02 ){ /*不是QQ报文*/ fprintf(stderr,”not qq data .\n”); return –EFAULT;

}

#if 0 tmp16 = *((uint16_t*)&buff_rx[1]); printf("respond source tag x\n",ntohs(tmp16));

#endif

tmp16 = *((uint16_t*)&buff_rx[3]);

if(htons(tmp16) != 0x0062 ){ /*不是登录令牌回应*/ fprintf(stderr,”not login token data.\n”); return –EFAULT;

}

if(ntohs(*((uint16_t*)&buff_rx[5])) != seq){ /*不是我们发出的数据,因为序号不对,起码是传输出错了*/ fprintf(stderr,"request login token sequence incorrect.\n"); return -EFAULT;

}

/*检查是否含有令牌数据*/

if(buff_rx[7] != 0x00){ fprintf(stderr,"failed to request login token.\n"); return -EINVAL;

}

/*令牌的长度*/ len = buff_rx[8];

printf("login token length is %d bytes\n",len);

/*复制令牌到我们的缓存*/ bcopy(&buff_rx[9],token,len);

printf("login token :"); HEX_PRINT(&buff_rx[9],len); return len;

}

登录

当我们获取登录令牌成功后,我们就可以开始我们的登录了过程了。

我捕获的数据长度(抛去协议数据)是460 字节

捕获的数据如下:

0x02, 协议开始

0x0d, 0x51, 版本 QQ2005beta2

0x00, 0x22, 登录请求

0x1a, 0x15, 报文序号

0x14, 0xc5, 0xaa, 0xea, QQ 号码我的号码348498666 = 0xeaaac514

0xd4,0xf3, 0x20, 0x2b, 0xc8, 0x65, 0x24, 0x55,

0xea, 0x61, 0x4a, 0xd5, 0xd3,0xae, 0x8e, 0xc8,登录数据数据密钥 16字节

…… 加密过的数据

0x03

我们除去报头的7 个字节,密钥16 字节,4 字节的号码, 还有0x03 这一个字节, 所以加密过的数据是460 -7 -16 -1 -4 = 432

其实我们在填充数据的时候,16 字节的初始密钥我们可以采用随即生成。这样安全性也许会更好。

我在自己写了个程序,采用密钥0xd4,0xf3, 0x20, 0x2b, 0xc8, 0x65, 0x24, 0x55,0xea, 0x61, 0x4a, 0xd5, 0xd3,0xae, 0x8e, 0xc8 对加密的432 字节数据解密后,还原出416 字节的登录数据,表明,那16 字节确实是初始的加密密钥。

下面说明这些数据的意义:

0 ― 15 共16 字节

0x28 ,0xb0 ,0x5f ,0xec ,0x84 ,0x96 ,0x7a ,0xea ,

0x4d ,0xab ,0x72 ,0xc8 ,0xed ,0xdd ,0x14 ,0x92 ,

这16字节是先把密码作两次MD5-16 运算得到一个HASH, 然后把这个结果作为密钥用TEA 加密一个任意的字串,可以是空!得到这16字节,服务器其实只是看看能不能在服务器端解密, 并不关心解密后的内容!

16 -51 共36字节

0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 , 0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 , 0x00 ,0x00 ,0x00 ,0x23 ,0xa2 ,0x10 ,0x55 ,0x97 , 0x52 ,0xd8 ,0x1e ,0xb4 ,0xd7 ,0x87 ,0x89 ,0x4a , 0x12 ,0x7d ,0xd1 ,0x01

看起来是固定的内容


上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页 




上一篇:命令行下可以解读TCP数据报内容的Sniffer

下一篇:QQ协议分析之TCPF包结构

相关文章:
·一次入侵过程的公开分析
·巴塞尔新资本协议概述
·万能五笔2001注册码分析及暴力破解 上
·性能分析工具的使用
·卡巴斯基2009 Beta版 初步试用感受
·网吧技术分析:不掉线的路由器
·SQL Server企业管理器和查询分析器简介
·删除Vista无用协议 提升上网速度
·QQ2007 Beta4正式发布 揭秘四大新功能
·电脑死机的故障分析
相关软件:
·TCP-IP详解卷1:协议
·3D 动画与建模:人体的综合与分析技术
·网桥 路由器 交换机和互连协议教材
·建设部监理师-案例分析录音06
·频谱分析仪V1.10
·体验Windows Vista beta 1
·知行播客II 2.1 Beta1┊享受免费的原创知行英语音频节目┊简体中文绿色免费版
·某建设监理工程师案例分析讲座10
·建设部监理师-案例分析录音16
·利鹰彩票分析与决策系统 V1.12d

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot