一、漏洞简介:
1) 漏洞所属游戏名及基本介绍:开心消消乐(com.happyelements.AndroidAnimal.qq),三消游戏,类似爱消除。
2) 漏洞对应游戏版本及平台:开心消消乐Android 1.22.22。
3) 漏洞功能:直接过图、暴分。
4) 漏洞危害评级:红
二、漏洞实现介绍
1、漏洞实现使用工具
通过IDA工具动态调试游戏。
2、漏洞实现过程及实现原理
直接过图漏洞,可以让玩家直接进入奖励模式(BonusTime)。既是跳过交换动物头像环节,直接满足通关条件获取奖励。
暴分漏洞,可以实现修改任意组合基础得分,比如说列消除得分、排消除得分、BonusTime奖励分数(如图1所示)等。
通过上述两个漏洞,可实现刷关(每次按下一关、开始即可)。
通过IDA静态分析,可看出消消乐使用Lua脚本进行游戏逻辑开发。由于Lua引擎是开源项目,直接分析该引擎代码可以知道Lua会通过lua_Reader函数读取脚本内容。因此,可直接在该点Dump Lua脚本代码。在获取游戏Lua脚本后,仔细阅读即可找到安全漏洞。再替换修改后的脚本回去即可实现相关漏洞重现。
本报告提到的两个漏洞修改原理如下:
1、过图功能通过修改两个函数实现:
a) GameBoardLogic:refreshComplete(),用来动态检测游戏是否满足结束条件的。直接将该函数的一些条件判断去除即可将游戏结束。
b) GameBoardLogic:setGamePlayStatus(state),用来将游戏状态设置成state状态并调用相应状态的响应操作。在该函数修改状态跳转可实现即使没满足条件也直接进入胜利状态。
2、暴分功能仅需要修改GamePlayConfig.lua配置文件。该文件会配置一些游戏数据,修改相应数据即可。
三、漏洞效果截图
图1. BonusTime奖励得分修改效果图
*转载请注明来自游戏安全实验室(http://gslab.qq.com)
原文始发于微信公众号(游戏安全实验室):【案例分析】开心消消乐直接过图和暴分漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论