微信跳一跳 可以直接更改分数, POST 请求没有校验
Posted 小小猫钓小小鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信跳一跳 可以直接更改分数, POST 请求没有校验相关的知识,希望对你有一定的参考价值。
这两天逛 v 站出现了一众微信跳一跳 ‘AI‘,已经被刷屏了……
- https://www.v2ex.com/t/418833
- https://www.v2ex.com/t/418775
- https://www.v2ex.com/t/418467
- https://www.v2ex.com/t/418785
- https://www.v2ex.com/t/419011
- https://www.v2ex.com/t/418831
- https://www.v2ex.com/t/419005
- https://www.v2ex.com/t/418905
- https://www.v2ex.com/t/418982
大致思路都是通过计算两点距离,模拟点击起跳来方式来实现的,
可是作为不越狱的苹果党,手里又没安卓机,看着被刷屏刷榜,非常不爽啊
想着抓个包看看能不能模拟下网络请求刷分,结果 ……
发现可以直接伪造 POST 请求刷分
https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417
目前比较麻烦的是
- [ ] 需要先抓包拿到 sesseion_id
- [ ] 分数最高只能设置为 999,还未找到为啥 ??
### 如何抓包:
1. 下载最新 [charlesproxy]( https://www.charlesproxy.com/download/)
2. 启动 charlesproxy
3. 配置代理: 设置 > 无线局域网 > 配置代理 > 手动 > IP:电脑 ip,端口:8888
4. 导入 https 证书: 浏览器访问 http://chls.pro/ssl 下载安装证书
5. 启动跳一跳小程序
6. 去 charlesproxy 里查看抓到的请求, https://servicewechat.com/ 域名的请求,请求体里就包含 session_id
### 突破 999 的分数限制
Just for fun !
另外附上两个个有意思的点:
### 如何下载小程序源代码
```bash
wget http://123.125.9.32/resstatic.servicewechat.com/weapp/release/{appid}/{version_num}.wxapkg
```
{appid} 为小程序码, {version_num} 为 版本号,示例:
http://123.125.9.32/resstatic.servicewechat.com/weapp/release/wx7c8d593b2c3a7703/3.wxapkg
### 如何解析 wxapkg 文件:
更正写错的地方
- 去 charlesproxy 里查看抓到的请求, https://mp.weixin.qq.com/wxagame/wxagame_init url 的请求,请求 json 里包含 session_id
- 能够正常解 小程序 wxapkg 包的代码: https://gist.github.com/feix/32ab8f0dfe99aa8efa84f81ed68a0f3e
感兴趣的可以把 小程序 的代码下下来,解包在本地运行玩玩
- 用 微信开发者工具新建小游戏,选择空的项目目录,game4fun
- wget http://123.125.9.32/resstatic.servicewechat.com/weapp/release/wx7c8d593b2c3a7703/4.wxapkg
- python2 unwxapkg.py 4.wxapkg
- cp 4.wxapkg_dir/* game4fun/
- 重启微信开发者工具后就可以在电脑上运行 跳一跳
game.js 文件可以用 chrome 调整后再看,逻辑其实蛮清晰的
以上是关于微信跳一跳 可以直接更改分数, POST 请求没有校验的主要内容,如果未能解决你的问题,请参考以下文章