返回首页
当前位置: 主页>编程>软件原理>

QQ农场原理

时间:2010-05-30 18:44来源:未知 作者:admin 点击:
校友QQ农场SNSGAME是一个外包给一个叫 FIVE MINUTES 的公司做的,某天还在INFOQ看到这个项目的架构师谈这个产品的架构。看完之后没有什么特别的印象,感觉上挺正常的架构,没有奇怪的地方。 说完背景,下面说一些细节: 1、 校友QQ农场SNSGAME的CLIENT是FLASH做的(用的是FLE
  

校友QQ农场SNSGAME是一个外包给一个叫 FIVE MINUTES 的公司做的,某天还在INFOQ看到这个项目的架构师谈这个产品的架构。看完之后没有什么特别的印象,感觉上挺正常的架构,没有奇怪的地方。

说完背景,下面说一些细节:

1、 校友QQ农场SNSGAME的CLIENT是FLASH做的(用的是FLEX)。

2、 CLIENT与SERVER通信是用基于标准的HTTP请求(GET/POST),FLASH发一些HTTP命令到SERVER,SERVER反回相应的结果。

3、 请求的结果是以JSON的形式包装的,因此非常容易被人猜出"每个通信协议的含义与作用"。

4、 好朋友列表的翻页是在CLIENT中完成的,SERVER返回所有的好朋友列表,这个做的原因是为了减少服务器的负载。

5、 校友QQ农场SNSGAME是众矢之的,很多人都在做外挂,校友QQ农场SNSGAME的自我保护机制就是验证码,每天如果访问好朋友的农场的次数超过400次,就会弹验证码。

6、 基本上我看到的QQ的所有服务(QZONE, 邮箱, 空间, QQ SHOW)的登陆,也是需要验证码。

7、 QZONE的那个应用列表好烂,经常"维护中",可能是访问量太大了。

8、 如果要做农场的外挂,最困难的莫过于它的KEY的生成,可惜这个KEY不是跟客户端绑定的,也不是跟账号绑定的(这个跟银行的不同, 银行的证书是要我们本人去银行网点取,然后跟账号绑定的),农场的这个KEY是一个算法算出来的,算法中的每一个元素都有普遍性(不是只限于某个客户端或账号),所以是比较容易伪造的。加上FLASH很容易被反编译,一些FLASH高手将KEY生成的算法公布了出来,有兴趣的BAIDU一下。

9、 这个GAME其实很无聊,这么多人玩其实就是因为朋友都在玩,这又印证了一句话:只要掌管了一个人的朋友的关系,互联网应用想不成功都难,尽管这个应用本身很无聊,跟大家一起玩了,傻傻的应用,也有人去发PLAY。我想,QQ可以推一个应用,名字叫"一起发呆",就是搞个虚拟的3D或2D空间,没事自已可以召唤一帮朋友进来发呆,肯定也会有很多人一起玩的。

10、 FLASH其实不错,就是不能读写本地的磁盘,如果可以方便的随便读/写一个文件的话(安全性?)。。。 很多应用其实可以转到WEB上面来了, 毕境现在的JS相对于传统的客户端的WINDOWS API还是太弱了。

在找了很多这方面的东西阅读,加上仔细打量已出的挂,最后用C完成了这个外挂,我写的东西不多,所有代码加起来就600行左右,就一个main.cpp,但是借助几个第三方的库。包库:log4cxx,icu,libcurl,json-c。如果熟悉这堆东西,写这个东西费不了多长时间。写这个东西纯属好奇,也没有打算将程序公布出来,不想给 FIVE MINIUTES 的程序员添乱,呵呵。

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
  • 上一篇:没有了
  • 下一篇:没有了
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容
热点内容