各位网友,我在网上总能看到很多通过web网站进行qq挂机的信息。但是通过编程在一个软件中实现qq挂机的代码却极难见到。在网上找了半天,看到一个软件TenyQQ.exe,做的很一般,竟然不能支持10位的qq号码,那个软件傻到家了。自己想做一个。看到软件的作者说是“参考QQ2003协议分析文档、并结合OpenQ和IceQQ挂机服务程序的VB源代码,终于写出了最初的TenyQQ”。后来我又在网上搜代码,在csdn上找到一个叫NoOpenQQ的代码,可打开一看,里面缺文件,而且是最关键的登录qq部分的代码没有。真缺德。害得我还丢了很多分去下载它。现在我的问题是:
1、哪里有QQ最新的协议?
2、哪里有NoOpenQQ、OpenQ和IceQQ挂机服务程序的源代码?
在下这里先谢了。
(注明:如果有特别有用的代码,我还可以再加分啊,我分很多的)

解决方案 »

  1.   

    eva 什么的有几个开源的东西封装了QQ协议.
      

  2.   

    QQ的命令行登录方法:
    "QQ安装路径QQ.exe" /START QQUIN:QQ号 PWDHASH:加密的密码 /STAT:登陆状态 
    例:D:\Tencent\QQ.exe /START QQUIN:123456 PWDHASH:4QrcOUm6Wau+VuBX8g+IPg== /STAT:41
    STAT:登陆状态(40为隐身  41为正常)
    PWDHASH,也就是加密后的密码
    其加密方法:
    PW(String)--Byte()->MD5--Byte()->BASE64--Byte()->PWDHash(String)
    其中,PW 是刚输入的密码,是 String 型,将其转为 Byte 型,将得到的 Byte 进行 MD5 加密,得到的也是 Byte 型,再将它用 Base64 编码,得到的是 Byte 型,再将 Byte 转为 String 型
    使用这种方法登陆QQ就行了, 用WinExec 或 ShellExecute
      

  3.   

    1楼:eva我自己找到了,可那是linux下的代码,我这几年一直在windows下编程。看了eva的代码,稀里糊涂的。不知道从哪入手。不知可否指教。2楼:这种回答最好还是别说的好。3楼:你说的方法我早已实现。这种方法实现的程序,只能还是执行qq程序。你可能还没理解我的帖子,我的意思是:要开发一个程序,它就是一个OICQ,完全可以实现QICQ的登录、聊天功能,而可以摆脱OICQ的“同时在线qq号码不得超过8个”的规定。
      

  4.   

    8楼的这个猪八戒(这可是你自己起的名字,真是恰如其分),你脑子也跟猪八戒没啥区别哈。
    这个csdn网站是让你这种尖酸刻薄的人来教训别人的?还是帮助别人解决问题的?谁没有初级阶段的学习?谁不是从蹒跚走路而起步?
    你不愿意帮助别人就闭上你的嘴。用得着你教训吗?
      

  5.   

    QQ登陆协议从2005版本到现在根本就没变过.而挂机程序最关键的就是登陆那部分,只要登陆了,定时取得当前用户列表,QQ也不会进行"离开"状态.从2005到现在2008版本,登陆协议唯一改变过的东西就是登陆协商时发送的"QQ版本号",如果发送的版本号过低,服务器会拒绝你登陆.所以:
    1.没有什么所谓最新的协议,登陆协议基本没变过
    2.就算有人有这方面的代码,也不会给你的,因为用这些代码,很容易就可以写出做坏事的程序,象"扫描QQ弱号令"等的东西.
      

  6.   

    很简单的, 分析一下 qq 的登录协议。就是开始几个udp 交互一下, 然后把密码 单向加密 发出去, 拿到结果。
    不断的发心跳。如果你开发过im 的客户端,这是很简单的。 如果你既不会 分析ip 数据流, 又没有现成的算法,
    你别想作出这些东西。 
    有一个类给你用,直接调用一下,得到结果是 很简单。 但是你什么都没有掌握。最后说一下,别人不会给你源码的。 用这个东西 做一个 代挂机可以赚钱的,可以赚钱的东西,不会白给你的。你可以自己看看 源码? 看懂了源码  钱就是你的了。
      

  7.   

    18楼:非常感谢您的指导,让我受益非浅。原来一直以为qq的登录协议有很多版本呢。如果是这样的话,抓包跟踪的时候应该轻松一些了。我原来对大智慧股票软件进行过抓包,但大智慧的数据量特别大,所以就放弃了。还以为qq也是类似的情况呢。现在我已经实现了调用qq程序挂机的代码。工作的还是比较稳定的,就是还要受到腾讯的限制。19楼:也非常感谢您的指教,讲的很详细,我知道该怎么做了。只能自己辛苦点儿了,没有免费的午餐。我原意是只写个小工具自己用,没有想到这里面还有这么大的商机。那我以后岂不是不用给别人编程了?呵呵。感谢一下18楼和19楼的回帖。其实这两天我也在网上找,已经找到了很多可以参考的开源代码,但还没有进行过测试,因为我这7、8年都是在windows平台下进行C++开发,还要花一些时间对开源系统的开发环境进行熟悉。我们大家都非常尊重18楼和19楼这样的网友:知识广博、乐于助人。最后也教育一下那些没有起好作用的回帖:
    14楼:不知道你的“好主”是什么概念?好主就应该任由别人讥笑和讽刺?你有没有换个角度去感受?如果我跟你说:“我劝你还是省省吧,没这金刚钻别揽着瓷器活”,你什么感受?如果你听着象有根针在扎耳朵,你就理解我的感受了。如果你听这话没有任何感觉,那我也就无语了。20楼:我如果是“niubi烘烘”的人(我都不屑用你的原话),就不会在这里提问了。我首先没有你的嘴这么脏,满嘴脏话,不知道你是不是做开发的,如果是那就太悲哀了。我们开发的怎么会出你这样素质低下的人呢?其次,你是不是什么都懂呢?你是不是一生下来就什么都懂呢?我敢肯定,你一定不会生孩子。呵呵。术业有专攻,不会就问,不会就学,可以拜师吗。我到这里来请教,如果有知道一二的朋友,希望不吝赐教,如果和我一样,可以大家一起学习。而你和8楼14楼应该是一样的情况,自己不会,还不虚心学习,只会在这里说些风凉话,不知道对你们的技术有什么帮助呢?借用8楼的话,你们三个这样的“还是省省吧”。别污染了这里的学习环境。
      

  8.   

    20楼:我如果是“niubi烘烘”的人(我都不屑用你的原话),就不会在这里提问了。我首先没有你的嘴这么脏,满嘴脏话
    ----------------
    有一种骂人叫骂人不带脏字,你看谁脏了?“我们开发的怎么会出你这样素质低下的人呢?”
    可笑,做开发的了不起吗?
    就你这水平,相信做开发还不到三年,真是瞎了你的狗眼!
      

  9.   

    我看这个awjx也就会骂人这些本事了。
    awjx,你没有任何资格评论别人的水平,你如果遇到水平高的也就是增加你的自卑感而已,如果遇到水平低则不过是让你这种低水平的人心里感到踏实一些(awjx心里一定想:居然还有比我低的,呵呵)。我也没说做开发的有什么了不起,“做开发的了不起”可是你自己认为的,更进一步验证了你的自卑心里,说明你肯定不是做开发的人了。没关系,这也没什么,虚心向别人学习吧,早点赶上别人,别老是自己不行还装作实力雄厚的样子。看你在这回了三次帖子,一句有关技术的话都没有,可想而知也就是个“金玉其外,败絮其中”的师傅。吵架是你的心理,我在22楼的回帖中是要给你讲讲道理,让你认清自我。没想到你却认为这是吵架,呵呵。至于我搞开发是不是到三年这也跟你没有任何关系。想当年我玩286计算机的时候可能你还穿着开裆裤呢。和大家聊聊,1995年记得我的第一台386-PC花了将近3000元,却还没有配硬盘,40M硬盘当时还是1000多元。花了1025元买的4M内存,DOS下常规内存是630多k,希望做虚拟硬盘用,三张1.44M的软盘放着大富豪,每次启动计算机后,把这三兆多的文件拷贝到内存虚拟出的硬盘上,跑大富豪速度奇快。爽。有了计算机开始自学汇编,一个人啃书,没有老师,只有一个朋友偶尔请教一下。当时普通人根本不可能上网,所以也就没有csdn这种地方可以咨询,呵呵,现在想起来,苦啊。后来觉得知识不够用,参加成人高考,开始了“计算机应用”的大专学习过程。由于之前学习汇编的基础,在学校里学习C语言的时候就没觉得费劲。很轻松的毕业。原来在中关村站柜台,卖个主板、内存、硬盘、显卡什么的,给人家打工,老板一开始老是扎货卖,后来慢慢老板自己的货多了些。我不过是给人家组装计算机,觉得很没意思。直到学习了程序开发,才有了转行的想法。1999年,在爱人的鼓励下,我终于转行成功,一开始在一家小公司编程,工资一个月只有800元,老板说项目完成了还有奖金,后来奖金是给了4000多元,当时已经美的不行了。呵呵。再后来自己学会了一些编程的基本知识,就开始跳槽,之后又换了几家公司。这就是我做程序员的过程。和大家聊聊,也让那些无知的人把嘴闭上。相信,awjx看了以上的内容也就知道是哪个眼睛不好使了。还是老话,希望你还是多学习学习,别老是张嘴就骂人了,那能给你带来多大的帮助呢?还是年轻吧。呵呵。
      

  10.   

    我已经拿到QQ的代码了,而且可以做成自己的qq客户端程序了。离成功一步之遥。
    再次感谢那些为我提供帮助和思路的网友。准备结贴。
      

  11.   

    不知道你说的那个是不是和网上常看到的那个Web挂机是一样的?我也曾看到过一个这样的代码,是用ASP写的,好象是叫kenaspqq,我试过一下,要配置IIS,能成功显示在线或隐身,就是不能自动回复,也没找到问题所在,你能否帮忙看一下?先谢了!
      

  12.   

    不知道你说的那个是不是和网上常看到的那个Web挂机是一样的?我也曾看到过一个这样的代码,是用ASP写的,好象是叫kenaspqq,我试过一下,要配置IIS,能成功显示在线或隐身,就是不能自动回复,也没找到问题所在,你能否帮忙看一下?先谢了!