揭密微信跳一跳小游戏那些外挂
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~
作者:Hahn, 腾讯高级UI工程师
由WeTest质量开放平台团队 发布于云+社区
WeTest 导读
张小龙:这个游戏发布以后,其实它的效果有点超出我们的预期,我们自己开玩笑说,这个游戏突然变成了有史以来可能用户规模最大的一个游戏,因为它的DAU大概到了1点几亿,但同时出现了很多外挂,我没有想到这么小的一款游戏也会有那么多外挂,我朋友圈的朋友也打出了特别高的分,但是我相信不是他自己打出来的。
1 月 15 日微信在广州召开 2018 年的微信公开课 Pro,张小龙不仅当场玩了一把跳一跳游戏并取得了900多的高分,还特别提到了跳一跳小游戏的外挂:
在跳一跳这样一个小的游戏里面,如果一个用户看到里面有一堆外挂得了很高的分,对其他一些每天在练习,试图把自己的水平提高,而打一个高分的人就很不公平,他可能就没有动力继续去练习,继续超越自己个人的最高分数。所以这样一个行为,外挂行为其实会破坏整个系统的规则,并且让规则立即变得失效。
所以,我们这个小游戏发布以后,我们就开始花了很多很多时间来打击外挂。
本着钻研技术的学习态度,我对目前几款比较火的外挂进行了源码分析,总结出了它们的一些破解思路,其实这些作者都并非恶意,作为一个程序员,还有什么比用技术挑战规则,突破极限要有成就感呢?
作者:云加社区
链接:https://www.jianshu.com/p/6484d685af85
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
一、梳理
跳一跳的游戏可以细分为两步骤:距离判断 + 按压模拟,这两步都有下面这些解决方案:
1、距离判断:
● 简单方案:像素点判断
● 进阶方案:OpenCV 图像分析
2、按压模拟:
● 简单方案:adb/wda 指令
● 进阶方案:机械臂模拟手指点击(原创)
下面逐一介绍这里的实现方法,非常有意思。
二、距离判断
1、像素点判断
该方法采用自目前最火的跳一跳小游戏「辅助程序」:wechat_jump_game