admin管理员组

文章数量:1572702

这篇文章是几年前写的,当时发布在我的博客中,由于我的博客已经年久失修,这几天就把博客中的内容都搬运到这来分享给大家。现在4399小游戏的积分系统好像已经没有了,很多flash小游戏也都已经下架,猜测未来会朝着H5页游方向发展,但这篇文章也能学到逆向思路和技巧。

偶然看到这个游戏,挺难玩的,而且把马里奥画的有点丑,今天我们就来通过对这款游戏的反编译来分析4399积分系统是什么样的以及修改积分上排行榜。

通过截包我们可以得到游戏的真实地址:

http://szhong.4399/4399swf/upload_swf/ftp5/haibo/20110511/1/mainload.swf

积分函数JS:

http://www.4399/jss/playerbg_jifen20140301.js

下载swf文件,用FFDec打开,可以看出这个swf是个Loader,载入的是二进制数据中的gamefile:

导出二进制数据,重命名为swf文件,再载入FFDec,然后分析代码:

显然这个swf也是个Loader,用于在游戏中显示排行榜、提交积分、即时获取游戏内的积分通过js传递到html页面显示等。
我们目的是修改积分,所以只要在这个积分传递过程中做手脚就可以了。来试试吧!

定位到提交分数的地方:

这里可以看出是和js相互通信,js中这个函数的地方:

其中提交积分的关键函数是:

get_max_soure(gameid,user4399id);//更新当前分数

这个函数有两个参数,一个是游戏id,一个是自己的4399id

游戏ID在flash常量定义中可以找到:

4399id可以进入你的个人主页中看到:

我们继续寻找积分调用的地方

就在这里,调用了js中的rdscore,我们去js中看看这个函数:

本文标签: 积分网通小游戏系统分析文件