文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | 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秀(非常不错啊)
printf("respond header tag x\n",buff_rx[0]); tmp16 = *((uint16_t*)&p[1]); printf("respond source tag x\n",ntohs(tmp16)); tmp16 = *((uint16_t*)&p[3]); printf("respond command code x\n",ntohs(tmp16)); tmp16 = *((uint16_t*)&p[5]); printf("respond sequence %d\n",ntohs(tmp16)); printf("respond tail tag x\n",buff_rx[len-1]); if(p[0]!=0x02 p[len-1]!=0x03){ /*数据不对*/ fprintf(stderr,"login failed tail/header tag error.\n"); /*继续等待看看能不能收到*/ continue; }


QQ 协议2005beta2 版协议分析

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


/*000-015 用MD5 加密任意字符*/ qq_encrypt("LINUXQQ",7,qc->pass_encrypted,data_raw,&len);

/*016 -051 固定内容*/ bcopy(login_16_51,&data_raw[16],35);

/*52-52 登录模式*/ data_raw[52] = qc->login_mode;

/*053 -068 固定内容*/ bcopy(login_53_68,&data_raw[53],16);

/*69-69 登录令牌长度*/ data_raw[69] = login_token_len; /*复制登录令牌*/ bcopy(login_token,&data_raw[70],login_token_len);

/*固定内容*/ data_raw[70 + login_token_len ] = 0x01; data_raw[70 + login_token_len +1] = 0x40;

len = 70 + login_token_len +2;

/*未知内容*/ bcopy(login_unknown_fixed,&data_raw[len],sizeof(login_unknown_fixed)); len+=sizeof(login_unknown_fixed);

len = 416;

/*用TEA 加密这416 数据,密钥是我们随机得到的init_key*/ qq_encrypt(data_raw,416,qc->init_key,data_encrypted,&len);

p = buff_tx;

/*创建发送报文*/ /*所有报文用0x02 开头*/ p[0] = 0x02; /*版本是QQ2005beta2*/ *((uint16_t*)&p[1]) = htons(0x0d51); /*命令是0x0022 表示登录请求*/ *((uint16_t*)&p[3]) = htons(0x0022); /*随机得到一个报文序号*/ qc->seq = rand()e535; *((uint16_t*)&p[5]) = htons(qc->seq); /*QQ 号码*/ *((uint32_t*)&p[7]) = htonl(qc->id); /* 放置加密的密钥*/ bcopy(qc->init_key,&p[11],16); /*我们加密过的登录数据*/ bcopy(data_encrypted,&p[27],len);

len = 27 + len; /*报文结束*/ p[len] = 0x03;

/*发送登录数据*/ e = write(qc->server,buff_tx,len+1);

if(e!=(len+1)){ close(qc->server); qc->server = -1; return -EFAULT;

}

/** 准备接收数据/ bzero(&timeout,sizeof(timeout));

/*1S 超时*/ timeout.tv_sec = 1; timeout.tv_usec = 0;

FD_ZERO(&fds); FD_SET(qc->server, &fds);

/*我们等待8个数据包*/ for(i=0;i<8;i++){

e = select(qc->server+1,&fds,NULL,NULL,&timeout);

if(e==-1e==0){ fprintf(stderr,"receive data timeout\n"); close(qc->server); qc->server = -1; qc->login_retry++; if(qc->login_retry>16){

fprintf(stderr,"too many times retried.\n");

return -EFAULT; } /*失败了重新试*/ return qq_login(qc,id,pass,login_mode,

local_ip,local_port, inet_ntoa(in),ntohs(tmp16)); }

bzero(buff_rx,sizeof(buff_rx)); /*读入接收到的数据*/ len = read(qc->server,buff_rx,sizeof(buff_rx)); if(len<0){ close(qc->server); qc->server = -1; return -EFAULT; } p = buff_rx; // // // // // // // //
上一页 [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