“本文为「毕老」2018年第1期推文”
新版微信上线,小程序新增小游戏,官方放出8款小游戏(需要玩的可以通过 小程序-搜索小游戏查找),想必一定玩过「跳一跳」这游戏。虽不及当年的飞机游戏火爆,但是同样造成了朋友圈刷屏现象。小游戏的出来的第二天,就被程序猿用各自方法刷起了分。
方法一:Python AI 人工识别图像自动跳。
核心逻辑是:
1、计算游戏是节面两盒子点距离。
2、然后用机器来模拟按压。
按压时间长短和游戏中跳跃距离是成正比
技术难点:
1、图像识别两点距离(涉及到阴影干扰)
2、不同手机分辨率不同(计算也会不同)
弊端:太机器化了,而且不同机型得调。刷不了高分,也容易被微信检测,屏蔽掉得分。
具体实现方式:
安卓:https://github.com/wangshub/wechat_jump_game
苹果:https://github.com/faceair/youjumpijump
个人测试下来,能跑到几百分,不过分数一直提交不上去。判定微信可能做了这方面屏蔽。
【推荐】方法二:向小游戏「跳一跳」服务器 直接POST 请求
原作者参考:https://www.v2ex.com/t/419056
由于本人使用MAC电脑 + iphone。
讲下具体实现过程及可能遇到的坑。
核心过程:
2、然后 跑nodejs 脚本,向小程序服务器post 要修改的分数数值
第一步Charles 抓包拿到 sesseion_id
1. 下载最新 [charlesproxy]( https://www.charlesproxy.com/download/)
2. 「MAC」启动 charlesproxy ,开启监控ssl
3. 「苹果手机」配置代理: 设置 > 无线局域网 > 配置代理 > 手动 > IP:电脑 ip,端口:8888
4. 「苹果手机」导入 https 证书: 浏览器访问 http://chls.pro/ssl 下载安装证书 。记得通用-关于手机-证书信任设置 开启charles的证书
5. 启动跳一跳小程序
6. 去 charlesproxy 里查看抓到的请求, https://mp.weixin.qq.com/ 域名的请求,请求体里就包含 session_id
第二步使用 nodejs 跑刷分js脚本
1.「已安装的可以跳过」下载最新的nodejs 安装包 https://nodejs.org/en/#download
2.使用 npm install lodash crypto-js request-promise request 安装所需要的js库
3.修改下载的刷分脚本中 session id及想刷的分,和对应睡眠时间。
4.终端使用 node tyt.js 执行刷分脚本
领取专属 10元无门槛券
私享最新 技术干货