QQ空间游戏基地FLASH小游戏数据交互探秘

今晚很郁闷,QQ空间游戏太让我失望,“小羊捉小虫”好不容易逃到了1600多分,没得到保存,一开始以为是我网络原因,再次登录好不容易又逃到了1800多分,又没有保存,个老子!

分析分析这个该死的游戏!

1、QQ空间的游戏保存与QQ或QQ空间的登录,其实并没有太大的关系,它只是获取了一个uin也就是一个QQ号码而已。

2、当用户的按下"游戏开始"时,gameFlash会加载http://isdimg0.qq.com/qzone/flashgames/com/xxx.swf,这个FLASH很重要,是游戏数据传送的核心,代码比较少,主要是用于向服务器和接受发送数据。代码中定义了一个JSON处理对象,进行了一些跨域的判断,代码就不公布了,我们要和谐

3、该FLASH首先会获取一个全球唯一标示key,传入的参数分别是 act(动作)、pid(游戏ID)、uid(QQ号码)。

4、再将取得的key与你当前的分数,进行了一个简单的组合后POST提交给服务器,当前的分数是保存gameObject对象中的,gameObject对象也就是游戏本身了,对象中含有游戏的各种属性。

5、提交后,服务器返回一串JSON 如:{"ret":0,"act":"set","score":1852} 进行比对后发现最高分数已经提交,然后获取新的排行榜。当然这里有一个定时器,每隔30秒会自动保存一次,这里的数据提交不能100%成功的。如果失败会调用JS事件处理器,进行相应的提示,我的问题也就出在这里。

说到这里大家一定会想,这里有什么漏洞吗?既然数据的发送者就在客户端,可以干的事情就太多了,把http://isdimg0.qq.com指向本机?留给大家想吧,游戏而已,开心很重要!

最新评论:

no.10169 wy18u2uz7 188.143.232.32 2016-06-08 13:24

It's spooky how clever some ppl are. Thskna!

no.1143 396595932 120.34.24.248 2009-11-09 18:28

no.1142 820011639 125.71.100.102 2009-11-09 18:13

no.1141 yangyuqing2008_2006 58.213.0.111 2009-11-09 17:23

发表评论:

邮箱: