文件名称:MYQQ2009 - 用控制台上QQ
文件大小:234KB
文件格式:ZIP
更新时间:2012-05-30 18:16:08
QQ,控制台,上网
注意:本软件以及源代码仅供学习研究使用。所用协议皆属个人业余的黑匣分析结果。 Developer List: 小虾 (gdxxhg@gmail.com) 千月(改进myqq.c界面) Windows编译: 需要Mingw32(Devcpp的bin也可以)。 打开控制台,在当前目录下执行 make -C src clean all Linux编译: 在终端里执行 make -C src -flinux.mak clean all 由于最初没有周全考虑,目前版本暂时不兼容64位的机器,望见谅! Update History: Version 3.13 (2009-3-29) 1. Linux(Ubuntu) version compiled! Version 3.12 (2009-3-22) 1. 用Windows的Sleep代替不推荐的_sleep。 2. 在Mingw32-gcc4.3.3上编译成功。 Version 3.11 (2009-2-8) 1. 输入验证码提示。 2. 修正myqq.c删除好友的bug。 3. 修正添加附言的bug。 Version 3.10 (2009-2-7) 1. 修正09接收消息协议。 2. 全部源代码文件更改为UNIX-UTF8格式。 3. 增加Preference来自定义屏蔽部分协议。 4. 增加添加、删除好友基本协议,支持验证码。 5. 登录后更改状态。 6. 登录机器数据随机填充。 7. 修正myqq.c里无法打印某些消息的bug。 Version 3.08 (2009-1-27) 1. 修正myqq.c里显示好友状态。 2. 修正因缺少pthread_mutex_destroy引起的资源泄漏(可以检测到)。 3. 修正好友数目多时导致分组信息与群信息未能获取的问题。 4. 10分钟刷新群在线成员。 5. 自动建立qqconfig.txt配置文件。 Version 3.03 (2009-1-26) 1. 修正prot_im.c中buf->pos += get_word( buf );在Linux上运行时发生的错误。 2. 编译Linux版本。 3. qqconfig.txt缺失提示。 Version 3.00 (2009-1-25) 1. 更换QQ2008贺岁版协议为QQ2009Preview4协议。 2. 全面使用utf8,myqq.c为Windows用户转换为gb。 3. 移除所有多余,功能不确切的协议处理函数。 4. 能够接收08,09协议的好友消息与群消息。 5. 处理消息中的表情字符,转换成[face:*]以及[image]来表示。 Version 2.95 (2008-10-26) 1. 处理返回NULL的可能。 2. 服务器列表由配置文件导入。 Version 2.9 (2008-10-1) 1. 支持字符颜色显示。 2. 中文字符界面。 3. 补充了几个新的服务器IP。 4. 输入密码时去掉回显或打*。 5. 修正prot_login_verify_password_reply处理返回包的误解,感谢CC-Akita(CCPaging)。 6. 增加Dev-cpp工程文件,增加程序图标。 7. Makefile里定向pthread库,便于不同环境的编译。 Version 2.8 (2008-8-3) 1. Linux Build Support. Version 2.7 (2008-8-2) 1. 使用上次登录IP,加快多Q登录速度。 2. 修正list.c里添加项在满时没有返回<0的漏洞。 3. 在登录未完成时,不接收消息。 Version 2.6 (2008-7-27) 1. 登录中的未知字节用0填充,原来是用随机数。 2. 根据文档,进一步完善登录协议,但还是没有解决验证码的出现问题。 Version 2.5 (2008-7-26) 1. 修正一个发包的bug,包被送进已发送队列之后time_alive应该为当前时间。之前因为 这个问题,导致一个包超时其他包也要重发? 2. 恢复注销命令(没有这个,怎么下线呢)。 3. 登录首先获取所有钥匙,避免出现登录后被Kick out。 4. 感谢网友008的提醒,号码格式化字符%d已被替换为%u。 Version 2.4 (2008-7-24) 1. 好友添加。 2. Packed with pthread library. 3. 删除注销命令(可能引发异常) 4. 重发时长为6秒 Version 2.3 (2008-7-22) New features: 1. 支持UDP协议登录。 2. 调整了登录后的发包次序。 3. 好友使用qsort快排。 4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,减少错误。 2. (--a)%b可能为负数,原来没注意到,引发了改写mcb的内存错误。 3. 发包序号策略改善,不再每次发包都递增。 Version 1.9 (2008-7-15) New features: 1. 重新策划程序,采用QQ2008贺岁版协议。 2. 原来的group改名为qun,原group被用作管理好友分租。 3. 增加memory.c内存管理和debug.c调试信息及日志记录。 4. ccpaging建议改掉qqqun这个结构名,我打算下个版本把它改为qun_t,其它类似如 member_t, group_t, buddy_t。 5. 具备登录输入验证码功能,验证码图片保存在web/verify目录下。 6. 修正qqsocket里接收数据溢出。 Version 0.9 (2008-2-12) New features: 1. MyQQ库可以登录多个ID,API全部更新。 2. 修正好友名称里混有QQ号码和特殊字符。 3. 完善了好友状态回调。 4. 延长了重发包的时间,避免发送两次。 5. 修正在自动回复时控制台提示的问题。 6. 回调函数全部使用stdcall模式。
【文件预览】:
bin
----i386-windows()
--------webqq.dll(81KB)
--------myqq.exe(140KB)
--------pthreadGC2.dll(59KB)
--------qqconfig.txt(695B)
----i386-linux()
--------myqq(93KB)
--------qqconfig.txt(695B)
Console.lnk
src
----util.c(3KB)
----linux.webqq.mak(608B)
----utf8.h(199B)
----protocol.h(8KB)
----webqq.h(1018B)
----md5.h(3KB)
----qqpacket.c(3KB)
----protocol.c(7KB)
----group.h(453B)
----qun.h(2KB)
----util.h(329B)
----packetmgr.h(920B)
----webqq.c(6KB)
----prot_qun.c(7KB)
----prot_group.c(3KB)
----qqsocket.c(4KB)
----loop.h(819B)
----config.h(529B)
----qqpacket.h(1KB)
----qqdef.h(2KB)
----md5.c(11KB)
----crc32.c(717B)
----qqclient.h(2KB)
----linux.mak(562B)
----packetmgr.c(8KB)
----config.c(5KB)
----qqcrypt.c(7KB)
----qqsocket.h(539B)
----debug.c(3KB)
----buddy.h(1KB)
----qqclient.c(11KB)
----list.c(2KB)
----prot_user.c(10KB)
----prot_buddy.c(12KB)
----memory.c(3KB)
----qqcrypt.h(1KB)
----utf8.c(2KB)
----loop.c(3KB)
----buddy.c(3KB)
----crc32.h(79B)
----list.h(516B)
----release.mak(583B)
----myqq.c(21KB)
----group.c(2KB)
----prot_misc.c(3KB)
----prot_im.c(11KB)
----Makefile(615B)
----memory.h(959B)
----webqq.mak(659B)
----webqq.release.mak(659B)
----debug.h(555B)
----prot_login.c(15KB)
----qun.c(5KB)
myqq.ico
lib
----pthread()
--------sched.h(5KB)
--------semaphore.h(4KB)
--------libpthreadGC2.a(88KB)
--------ReadMe.txt(133B)
--------pthread.h(42KB)
myqq.dev
MyQQ2009.txt