QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2301|回复: 13

libeva中有一点没有读懂,请yunfan赐教!

[复制链接]
发表于 2006-1-23 11:46:39 | 显示全部楼层 |阅读模式
libeva中有一点没有读懂,请yunfan赐教!
*在addfriendreplypacket中不是4个字节的整形吗?
*好象回复码被省略了,replycode是验证状态
*为什么要减0x30?

PS.好消息,昨天我把SearchUserPacket移植到了cyclone上!!!
发现libcyclone封装的也不比libeva差。
[code:1]void AddFriendReplyPacket::parseBody()
{
        int index=0;                       
        while(decryptedBuf[index++] != 0x1f);
#ifdef WIN32
        char* qqstr; qqstr=(char*)_alloca(index+1);
#else
        char qqstr[index+1];
#endif
        memcpy(qqstr, decryptedBuf, index);
        qqstr[index]=0x00;               
        myQQ = atoi(qqstr);
        replyCode = decryptedBuf[index] - 0x30;
}[/code:1]
添加好友协议分析

包类型: outDat
命令: 0X00A7
名称: 添加好友请求包(QQ_CMD_ADD_FRIEND_EX)

注释: (QQ2005)
====================================

请求包
* 1. 头部
* 2. 要加的人的QQ号的字符串形式,4字节
* 3. 尾部

***********************************************************

包类型: inDat
命令: 0X00A7
名称: 添加好友应答包(QQ_CMD_ADD_FRIEND_EX)

注释: (QQ2005)
====================================

应答包
* 1. 头部
* 2. 要添加的好友的QQ号,4字节
* 3. 回复码,1字节

如果回复码是0x00,表示可以加对方为好友
* 4. 对方验证状态,1字节,0x00 表示不需要验证,0x01 表示需要验证,0x02表示对方拒绝别人加其为好友
* 5. 尾部

如果回复码是0x99,表示对方已经是好友了
* 4. 尾部
发表于 2006-1-23 15:45:30 | 显示全部楼层
这个啊, libeva里添加好友的协议在2005 发生了变化。
libeva 的 cvs版里没有使用新的协议, 但是 新的添加协议部分, casper已经实现了, 但是 gui 部分他还没有做完, 不过他暂时比较忙, 就没有加上。

就是说, libeva 里用的是旧的添加协议。(目前在 2005 beta 2 版本里还不影响使用, 但是 2005 正式版就不知道了)
回复

使用道具 举报

发表于 2006-1-24 00:00:43 | 显示全部楼层
Mikeandmore, 这个大哥是哪位呀?
另外,非常感谢对cyclone的支持,大哥是否有意合作开发,或者。。。。。。。
另外,我对libeva真的很感兴趣呀,不知道eva现在是否已经成功过渡到2005正式版协议呢?
期待中!!
我们的选择有两个:
1。移植lumaqq或者libeva
2。直接应用libeva.当然要修改拉。
你的建议呢?
PS:cyclone已经不能正常登录啦!
回复

使用道具 举报

 楼主| 发表于 2006-1-24 12:34:35 | 显示全部楼层
1.不要叫我大哥,我今年才16!

2.前些日子想到要用libeva,而且还给wind去了一封信,但是昨天发现libcyclone比libeva要好。wind真是天才!!
writeBuf... 和 readBuf..函数简直太好用了!

3.昨天又发现SearchUserPacket已经有了,晕~~,一下午的工作!
但是将SearchUserPacket的算法更新到了QQ2005的协议

4.今天刚刚封装了AddFriendAuthPacket,

5.我的年龄比较小,没有什么经验,不知道这几个写的对不对~~

6.cyclone不能正常登陆是qq公司的协议版本号限制,并无大碍,cyclone的部分用的是2005beta2的协议,我现在需要人帮助才能知道协议有哪些改动

我的msn:[email protected]
我的gmail:[email protected](一周一查)
明年高三,没有什么时间,有事给我写信也行

天津市耀华中学 实验四年一班 秦黛同学收

ps. 你是MM?有人告诉我的~~,Robin的名字可不象呀!
回复

使用道具 举报

 楼主| 发表于 2006-1-24 12:40:05 | 显示全部楼层
为cyclone建个cvs,大家一起来吧,为了cyclone,为了gtk,为了opensource

到gnomecn版中弄个cvs来
回复

使用道具 举报

 楼主| 发表于 2006-1-24 13:08:23 | 显示全部楼层
搞定了!
在gro.clinux.org上!

正在等回信,可以了以后我会把我的代码传上去!
回复

使用道具 举报

发表于 2006-1-24 19:18:17 | 显示全部楼层
另外,兄弟,我们已经有svn的版本拉.
PS:我对协议的研究才刚刚开始,我想,老弟(我工作2年多拉)是否可以负责协议的开发。界面部分由我来完善,这样分工容易阿。
你修改lib目录下的就好拉。
老大(wind)的封装应该没有什么问题。只是需要一些新的协议,现在最多做到好友添加的认证而已。我想,可以参考libeva啦。大家的基类名字都一样 阿
我弄一个cvn的帐号给你吧。邮件注意查收!谢谢兄弟的热情阿。
我就可以集中精力来搞界面啦。
回复

使用道具 举报

 楼主| 发表于 2006-1-25 09:49:11 | 显示全部楼层
ok,我就会协议开发!

但是我现在水平太差,恐怕写出的东东一对bug,不过我会多加练习的!
回复

使用道具 举报

发表于 2006-1-25 11:47:57 | 显示全部楼层
[quote:422e55c2c2="Mikeandmore"]ok,我就会协议开发!

但是我现在水平太差,恐怕写出的东东一对bug,不过我会多加练习的![/quote]

你是天才啊。 16岁, 我还只知道中华学习机和BASIC。

祖国还是得靠你啊。
回复

使用道具 举报

发表于 2006-1-25 12:07:32 | 显示全部楼层
我知道中华学习机和BASIC好像是6岁    
回复

使用道具 举报

发表于 2006-1-25 12:31:28 | 显示全部楼层
[quote:1d8f367dd8="mandrakechina"]我知道中华学习机和BASIC好像是6岁    [/quote]

那你是天才中的天才, 哈
回复

使用道具 举报

发表于 2006-1-25 12:34:55 | 显示全部楼层
[quote:c19f84be34="yunfan"][quote:c19f84be34="mandrakechina"]我知道中华学习机和BASIC好像是6岁    [/quote]

那你是天才中的天才, 哈 [/quote]这件事我以为大家早就知道了    
回复

使用道具 举报

发表于 2006-1-25 19:17:03 | 显示全部楼层
兄弟,你给个QQ 号码吧。我们有个群来者。你的msn好像不怎么来呀。
另外,你的名字好像更象MM 呢,难道是天才少女来着?
回复

使用道具 举报

 楼主| 发表于 2006-1-26 12:18:20 | 显示全部楼层
397701232

msn这几天忘了,老是qq了

ps,我的eva加不了对方??
只有一个系统信息,添加,拒绝按钮都是灰的??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-6 17:35 , Processed in 0.104275 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表