这两天逛 v 站出现了一众微信跳一跳 'AI',已经被刷屏了……
大致思路都是通过计算两点距离,模拟点击起跳来方式来实现的,
可是作为不越狱的苹果党,手里又没安卓机,看着被刷屏刷榜,非常不爽啊
想着抓个包看看能不能模拟下网络请求刷分,结果 ……
发现可以直接伪造 POST 请求刷分
https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417
更正写错的地方
game.js 文件可以用 chrome 调整后再看,逻辑其实蛮清晰的
https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417#file-wx_t1t_hack-js
大家悠着点玩 😜
鉴于留言区有贴 session_id 求组的,增加一个附言: session_id 为 base64 字符串, 示例如下
zmprIsSEt/dxWNTH4iyU4V2uM7p8DTQWg1Op+dR0hwbvBW2bl00IHXuIGssPGoMeydL0thdRoxXa9MWqX1xEbDvk+o+1rLiihz0VDhUgbprjLVC4qBqiUQF54c061IhJ1JjBy79dI2xWYs0G9oyI9A==
虽然 CDN 方式下载失效了, 原链还是可以下载的,各位 ……
https://servicewechat.com/weapp/release/${appid}/${version_num}.wxapkg
1
lhx2008 2017-12-31 21:39:46 +08:00
只能刷到 999
|
2
bravecoder OP @lhx2008 还没找到为啥被限制了 ……
|
3
Kahnn 2017-12-31 21:42:05 +08:00
怎么抓包拿到 sesseion_id
|
4
mochanight 2017-12-31 21:42:15 +08:00 via iPhone
我抓了看到是加密的阿。。。。
|
5
dd0754 2017-12-31 21:46:20 +08:00
666
|
6
bravecoder OP |
7
bravecoder OP @mochanight 只是简单加密了,二期前端代码里有加密的逻辑,关键是后端没有校验 🤪
|
8
goodbest 2017-12-31 22:02:55 +08:00 1
|
9
ZE3kr 2017-12-31 22:08:51 +08:00 via iPhone
随便拿一个支持 HTTPS 的抓包工具就行了,我用 Surge 抓的
|
10
ZE3kr 2017-12-31 22:10:33 +08:00 via iPhone
我估计微信有设置游戏时长小于一定时间不能到 1000 以上吧
|
11
mayowwwww 2017-12-31 22:58:09 +08:00
难怪我之前改 1 万分以上都没成功过,待会试试。
|
12
Tink 2017-12-31 23:30:10 +08:00 via iPhone
为啥我抓不到 servicewechat.com 的请求
|
13
chainchan 2017-12-31 23:36:26 +08:00
试了下不行, {u'base_resp': {u'errcode': 108}}
怀疑是 action_data 不完整 |
14
crab 2018-01-01 00:02:15 +08:00
跪了。pycrypto python3.5 vs2017
|
15
ZE3kr 2018-01-01 00:07:28 +08:00 via iPhone
现在好像不行了
|
16
star1cjl 2018-01-01 00:12:38 +08:00
我是失败了
|
17
bravecoder OP @crab 我是拿 python2 跑的……,python3 加解密要处理下转换 bytes ⇌ string
|
18
ZE3kr 2018-01-01 00:16:00 +08:00 via iPhone
@bravecoder 之前可以,现在一直不行了,你 2018 之后成功过么
|
19
bravecoder OP @ZE3kr 好像是微信服务器有问题? 503 了……
|
20
ZE3kr 2018-01-01 00:23:56 +08:00 via iPhone
|
21
chainchan 2018-01-01 00:27:40 +08:00
实测目前最高只能刷到 500 分了。
|
22
pacino 2018-01-01 00:35:45 +08:00
并没有 servicewechat.com 请求
|
23
ahu 2018-01-01 00:41:28 +08:00
@bravecoder
解析脚本报错: Traceback (most recent call last): File "/Users/xxxx/Desktop/unwxapkg.py", line 75, in <module> w = open(root + d.name, 'w') IOError: [Errno 20] Not a directory: '/Users/xxxx/Desktop/wxa/3.wxapkg/app-config.json' |
24
bravecoder OP @ZE3kr 今天居然升级了到 version 4 了,🤔。我这改完 referer 好使,不过 好像限制加强了,500 最高 ……
|
25
bravecoder OP |
26
aino 2018-01-01 01:00:50 +08:00
我 打不开
|
27
twm 2018-01-01 01:04:46 +08:00
{u'base_resp': {u'errcode': 108}}
|
28
slwl 2018-01-01 08:03:01 +08:00
是不是已经失效了? {u'base_resp': {u'errcode': -2}}
|
29
zhijiansha 2018-01-01 09:12:19 +08:00 via iPhone
可以的
|
30
xqin 2018-01-01 09:25:39 +08:00 4
1. 是有加密的, 算法是 AES, 加密的 KEY 是 session_id
2. 最高分是 100000 分(10 万分),并不是 999 3. 如果改的分数比较离谱会被官方直接给你清 0,而且如果多次改,可能会进黑名单,然后就是永久 0 分了(别问我是怎么知道的 /捂脸) |
31
bravecoder OP |
32
bravecoder OP @xqin 😂 厉害了,还没试过刷非常高的分。微信维护升级特别快,刷分的漏洞估计很快就会被堵住了…
|
33
hobbyliu 2018-01-01 09:48:02 +08:00 via Android
@bravecoder 新版链接求
|
34
chocolatesir 2018-01-01 09:51:21 +08:00 via Android
@xqin 清零只是因为周一的原因吧。
|
35
qiayue 2018-01-01 10:03:21 +08:00
@bravecoder 123.125.9.32 这个服务器是你的还是微信的?
|
36
uglyer 2018-01-01 10:04:17 +08:00
想知道如何获取 appid.(滑稽
|
39
qiayue 2018-01-01 10:12:13 +08:00
|
40
qiayue 2018-01-01 10:13:34 +08:00
我用我自己的小程序 appid 和 版本号的确可以下载
|
41
xqin 2018-01-01 10:14:27 +08:00
@chocolatesir 不是因为周一,因为我是在游戏出来的当天下午就把分数改成最高了(其实当时是输入了好多个 6,但结果是分数只有 100000),然后到晚上的时候分数变成 0 了.又来改了几次,然后就进黑名单了.
@bravecoder 可能现在服务器端加验证了,提交分数的时候,服务器会返回 108. 可能对里面的数据进行了验证. 提交的数据里新增加了 touchList 节点. |
42
bravecoder OP @uglyer appid 是公开的,小程序码 识别处理出来的信息里应该就包含
|
45
xiaomayi0323 2018-01-01 10:23:16 +08:00
已经失效了吗,抓包没看到 https://servicewechat.com/ 域名,也没看到分数相关的参数
|
46
cfans1993 2018-01-01 10:24:48 +08:00 via Android
凌晨刷到 1400, 现在起床一看发现变成零分了
|
47
bravecoder OP @cfans1993 每周成绩在周一会自动清零
|
48
ZE3kr 2018-01-01 10:28:23 +08:00 via iPhone
|
49
bravecoder OP @xqin 😅 纯娱乐,悠着点玩就好
|
53
uglyer 2018-01-01 10:41:03 +08:00
有没有人了解 里面图片的资源文件的图片是个什么编码的 ,想拿来做图像识别 哈哈哈哈哈哈。
|
54
sobigfish 2018-01-01 10:48:30 +08:00
看到这个就知道 AppID 和版本号了
Referer: https://servicewechat.com/wx(16 进制包括前面的"wx"字符)/(版本号)/page-frame.html |
55
lwbjing 2018-01-01 11:09:16 +08:00
感谢楼主分享。。
|
56
alian 2018-01-01 11:17:27 +08:00
屌炸天🌚,tx 没修复之前赶紧装逼一波
![]( ) |
58
SingeeKing 2018-01-01 11:25:07 +08:00
@xycool 我这里 surge 正常
|
59
ghostxdy 2018-01-01 11:32:04 +08:00 via Android
这游戏完全被你们玩坏了
|
60
ZE3kr 2018-01-01 11:37:05 +08:00 via iPhone
|
61
mekhili 2018-01-01 11:41:24 +08:00
可以可以,score = 2018
|
62
whwq2012 2018-01-01 11:58:07 +08:00
@mekhili 是抓 https://mp.weixin.qq.com/wxagame/wxagame_init 的包吗,抓了以后怎么改呢?
|
63
qq2511296 2018-01-01 12:13:15 +08:00
用 微信开发者工具新建小游戏 最新的微信开发者工具 mac 版 没有小游戏
|
64
cljnnn 2018-01-01 12:15:00 +08:00 via Android
已经成功将分数变为 2018 了,cool
|
65
pangtong 2018-01-01 12:37:47 +08:00
我试了,的确可以下下载任何小程序的源代码。
|
66
cjyang1128 2018-01-01 12:39:20 +08:00
楼主你完了,你要收律师函了,这种东西底下沟通就行了
|
67
fe619742721 2018-01-01 12:45:54 +08:00
wxagame_settlement { base_resp: { errcode: 0, ts: '1514781867875' } }
我这好像不行。。 |
68
Deeer 2018-01-01 12:48:18 +08:00
感觉加了时间校验,直接改 post,没有效果哦
|
69
dd0754 2018-01-01 13:00:03 +08:00
楼主 666
|
70
shaonian 2018-01-01 13:04:21 +08:00
抓请求之前看看 version,刚刚试过版本已经更新到 9 了
|
71
Wolther47 2018-01-01 13:11:44 +08:00
|
72
ErnieSauce 2018-01-01 13:14:52 +08:00
@idisreg 请问 http://123.125.9.32/resstatic.servicewechat.com/ 这两个地方需要改动吗?如果需要怎么获取,对应的是什么?谢谢
|
73
564425833 2018-01-01 13:18:25 +08:00 via iPad
已撸,谢谢楼主
|
74
fe619742721 2018-01-01 13:21:56 +08:00 via iPhone
@Wolther47 额,我这边排行榜数据没有更新。。。
|
75
pangtong 2018-01-01 13:33:49 +08:00 1
@ErnieSauce 这两个地方不需要改动, 你看楼主写的,他写的很清楚,通过抓包得到小程序的 APPid 和 版本号 通过上面的网址这个网址构造即可。
下面贴一下楼主写的。 ### 如何下载小程序源代码 ```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 |
76
qiayue 2018-01-01 13:34:43 +08:00
经过测试,现在已经无法直接下载了
|
77
Deeer 2018-01-01 13:39:07 +08:00
可以啊,刚下好
|
78
Deeer 2018-01-01 13:40:37 +08:00
为什么解压出来,项目报错说没有 app.json
|
79
VShawn 2018-01-01 13:45:52 +08:00
为什么要想尽办法去作弊?
|
80
Wolther47 2018-01-01 13:46:48 +08:00
@fe619742721 是的,似乎数据更新有延迟,不知道是不是证书的问题
|
81
ttxxyy112233 2018-01-01 13:50:02 +08:00
安卓能改不?
|
82
SourceMan 2018-01-01 13:52:37 +08:00
@VShawn #79 你看到的是作弊,我们看到的是技术探讨和研究。
如果一键脚本,刷到 9999 又如何 楼主给出了脚本实现,并没有指出运行方法,需要你自己去 HTTPS 解密,拿到 session_id,这是学习的第一步 其二,运行脚本,我想很多人发现缺依赖 run 不起来就会放弃吧。 最后,玩完了,是不是可以回去看看整个脚本的思路,发现并不复杂,只是你可以稍微了解下小程序的运行机制 |
83
pacino 2018-01-01 14:17:18 +08:00
加 SSL 钢钉了吧,截不到数据了。
|
84
Brucepac 2018-01-01 14:28:20 +08:00
哈哈,变成 2018 了,😆
|
85
ErnieSauce 2018-01-01 14:38:51 +08:00
@idisreg 我用这个下载部分可以 但是还有一些出现 404 我在想是不是前方的 url 不同
|
86
fe619742721 2018-01-01 14:40:46 +08:00
@Wolther47 嗯嗯 我这已经更新了
|
88
kkm 2018-01-01 14:47:15 +08:00
SessionID: DC 6E E7 76 CD BF 39 是这个 Sessionid 吗?有点没搞懂
|
91
yagnqionggo 2018-01-01 14:56:29 +08:00 1
发下重要的有几个点
1. 能抓包下载到 wxapkg 2. 能解开 wxapkg 3. 能阅读代码找到加密方式 |
92
wzw 2018-01-01 14:57:45 +08:00
居然是 nodejs 版本, 什么时候来个 python
|
93
rswl 2018-01-01 15:01:49 +08:00
启动不了
|
94
Andsoon 2018-01-01 15:02:47 +08:00
十分赞同
|
96
Rubbly 2018-01-01 15:07:03 +08:00
加密的 key 是 session_id,有点意思 /doge
|
97
bravecoder OP @wzw 最早一版是 py 的,可以在 gist 的修改历史里看到。后面 py 版加解密有点问题,拿 node 重写了,有兴趣你可以改改。
|
99
bravecoder OP @yagnqionggo 👍
|
100
wzw 2018-01-01 15:15:55 +08:00
@bravecoder 居然可以看到源码. 不改了, node 挺好.
居然可以下载小程序,我的抓紧时间抓几个下来学习. 如何看下面 2 个参数? {appid} 为小程序码, {version_num} 为 版本号 |