最近微信发布了微信小游戏,这下让html5之类webgl游戏又火起来了。已经玩过很多年游戏的我,对如今越来越多的大部分游戏已经无感了。现在游戏市场我是不太看得懂了,很多年没有玩到自己喜欢仙侠题材游戏。这几天我在乌镇旅游时,看到很多程序员使用各种方法刷分。
旅游一回到家,我就运行了下网上给的python代码(下载python包环境要很久),看看他们怎么实现的,一种是图像处理方法模拟点击玩游戏。下面程序跑了10次左右后得到的最高分数:
我花了不少时间才看懂他大概的意思,虽然star很多,但他写的代码很平常。大概是通过rgb颜色范围从图像自上而下获取主角位置,然后在从上往下获取跳跃点的位置,然后计算像素距离各一个模拟点击持续时间神马的。由于代码效率很差,导致他处理一帧数据非常耗费cpu,如果有人使用opencv一些方法肯定会大大减少处理时间。不过,有几个人愿意花时间折腾呢~~大多是非计算机的人玩起python配置跑这个程序来了。
然后看看知乎文章,发现有大神直接看微信小游戏源代码,分析出分数发送和加密方法,直接来个post,想多少分就来多少分。我们只需要抓包,看到自己的sessionid填入进去即可。效果真是价单暴力,如下:
我在想微信小游戏这么容易被逆向,那么以后搞不好代刷分数又是淘宝一项火热的宝贝。开发游戏的人又如何保护自己的游戏呢~~
今年用python各种玩爬虫,逆一些简单的协议,有些东西第一次完成确实挺有趣的!不过这种有趣的阈值也越来越高,现在太简单的协议即使弄出来也无感了。明年以及未来得向着更高深的玩法才行,如阅读js代码了解一些参数加密方法,反编译别人代码了解相关逻辑。当然,不管怎么玩都得合法合规,不该碰的东西就不碰了~大部分时候只是业余爱好,图个乐。