爱意满满的作品展示区。
bravecoder

微信跳一跳 可以直接更改分数, POST 请求没有校验… 🤪

  bravecoder · Dec 31, 2017 · 98252 views
This topic created in 3231 days ago, the information mentioned may be changed or developed.

这两天逛 v 站出现了一众微信跳一跳 'AI',已经被刷屏了……

大致思路都是通过计算两点距离,模拟点击起跳来方式来实现的,

可是作为不越狱的苹果党,手里又没安卓机,看着被刷屏刷榜,非常不爽啊

想着抓个包看看能不能模拟下网络请求刷分,结果 ……

发现可以直接伪造 POST 请求刷分

https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417

Supplement 1  ·  Dec 31, 2017
目前比较麻烦的是

- [ ] 需要先抓包拿到 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 文件:
Supplement 2  ·  Jan 1, 2018

更正写错的地方

感兴趣的可以把 小程序 的代码下下来,解包在本地运行玩玩

  1. 用 微信开发者工具新建小游戏,选择空的项目目录,game4fun
  2. wget http://123.125.9.32/resstatic.servicewechat.com/weapp/release/wx7c8d593b2c3a7703/4.wxapkg
  3. python2 unwxapkg.py 4.wxapkg
  4. cp 4.wxapkg_dir/* game4fun/
  5. 重启微信开发者工具后就可以在电脑上运行 跳一跳

game.js 文件可以用 chrome 调整后再看,逻辑其实蛮清晰的

Supplement 3  ·  Jan 1, 2018

好消息,拿 JS 重撸了一遍逻辑,发现 999 这个限制没了,也就是可以任意刷分了……

https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417#file-wx_t1t_hack-js

大家悠着点玩 😜

Supplement 4  ·  Jan 1, 2018

鉴于留言区有贴 session_id 求组的,增加一个附言: session_id 为 base64 字符串, 示例如下

zmprIsSEt/dxWNTH4iyU4V2uM7p8DTQWg1Op+dR0hwbvBW2bl00IHXuIGssPGoMeydL0thdRoxXa9MWqX1xEbDvk+o+1rLiihz0VDhUgbprjLVC4qBqiUQF54c061IhJ1JjBy79dI2xWYs0G9oyI9A==

session_id 和微信账号相关联, session_id 公示或提供给他人 都是有账号安全风险的

Supplement 5  ·  Jan 2, 2018

虽然 CDN 方式下载失效了, 原链还是可以下载的,各位 ……

https://servicewechat.com/weapp/release/${appid}/${version_num}.wxapkg

416 replies  •  2018-01-22 10:49:10 +08:00
1  2  3  4  5  
❮ ❯
artandlol
artandlol
Jan 2, 2018❤️2
201
还挺火的 写个我用的流程

//最简单的 post 版本方法
//jingslunt#qq.com 20180102
1 安卓端安装 packet capture
2 打开微信跳一跳游戏 不动
3 切换到 packet capture 抓取微信跳一跳( ssl )的 session_id,复制下来
4 chrome 安装浏览器插件 http://tampermonkey.net/
5 新建一个脚本 内容 https://gist.github.com/mysteriouss/01d7f18cdef47acc0781e8f484f2d2d0
6 修改脚本的 session_id 参数 保存启用
7 访问 https://mp.weixin.qq.com
8 查看排名

跨平台傻瓜式的见#181 楼
ycmchong
ycmchong
Jan 2, 2018
202
@satanandroid 拿到 sessionid 了,这段代码需要什么环境运行,不懂 js~
ycmchong
ycmchong
Jan 2, 2018
203
0.0
q409195961
q409195961
Jan 2, 2018
204
楼主这头像,似曾相识
artandlol
artandlol
Jan 2, 2018
205
请不要在每一个回复中都包括外链,这看起来像是在 spamming === 好吧
qsnow6
qsnow6
Jan 2, 2018
206
@satanandroid #200 好像只有当前的分数大于历史最高分才会发送这个包?
artandlol
artandlol
Jan 2, 2018
207


被降权了吗
DANG
DANG
Jan 2, 2018
208
成功了,非常感谢!
ycmchong
ycmchong
Jan 2, 2018
209
satanandroid
satanandroid
Jan 2, 2018
210
@ycmchong node 环境 npm
hyndaniel
hyndaniel
Jan 2, 2018❤️1
211
2018 年 1 月 2 日 11:46:23 提交成功
TanninS
TanninS
Jan 2, 2018
212
@finab
重新 build path 以后好像没有变化?
该怎么操作呢
bogon:~ tannins$ export NODE_PATH=/usr/local/lib/node_modules/
bogon:~ tannins$ node wx_t1t_hack.js

###
### The "request" library is not installed automatically anymore.
### But required by "request-promise".
###
### npm install request --save
###

/Users/tannins/node_modules/request-promise/lib/rp.js:23
throw err;
^
swim2sun
swim2sun
Jan 2, 2018
213
Post 之后, 一切变得索然无味...
TanninS
TanninS
Jan 2, 2018
214
@satanandroid
老哥,安装完 node 和 npm 以后,就直接在终端输入
npm install crypto-js request-promise
node wx_t1t_hack.js
就可以了吗
lyf362345
lyf362345
Jan 2, 2018
215
@TanninS ###
### The "request" library is not installed automatically anymore.
### But required by "request-promise".
###
### npm install request --save
###

看下提示啊老哥, npm install request....
preach
preach
Jan 2, 2018
216
@idisreg 解压之后小程序开发者工具无法运行啊 求私 微信
TanninS
TanninS
Jan 2, 2018
217
@lyf362345

我知道他 save 了,但是后面还是报错。你们都是无压力直接运行这个 js 的嘛?

Error: Cannot find module 'request'
at Function.Module._resolveFilename (module.js:555:15)
at Function.Module._load (module.js:482:25)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
ycmchong
ycmchong
Jan 2, 2018
218
怎么看自己是否修改成功呀
lniwn
lniwn
Jan 2, 2018 via iPhone
219
@TanninS 需要安装 request 库,不知为何所有教程里都没提到,所以我猜测这个库可能是做 nodejs 开发的必备库,像我这种非 nodejs 开发,就要手动安装了
npm install request --save
TanninS
TanninS
Jan 2, 2018
220
2018 年 1 月 2 日 12:34:11 提交成功
TanninS
TanninS
Jan 2, 2018
221
@lniwn
原来是这样,哈哈哈,我不知道这是个安装库的命令
成功了,感谢!
titi14gj
titi14gj
Jan 2, 2018 via iPhone
222
留个言上电视
YLGG
YLGG
Jan 2, 2018
223
好像能看到 session_id 了 不过也是好长 怎么解密?
EXE
EXE
Jan 2, 2018
224
排行榜已经被 10 万刷屏了。。。
YLGG
YLGG
Jan 2, 2018
225
@idisreg 能帮下几个实例不~挺需要的~
qiayue
qiayue
Jan 2, 2018
226
@preach 小程序无法直接运行,因为解压后的不是最初的源码
小游戏可以运行
ycmchong
ycmchong
Jan 2, 2018
227
感谢楼主,已经成功!
MoozLee
MoozLee
Jan 2, 2018
228
这个厉害了,已测试,13:22 成功
dewi
dewi
Jan 2, 2018
229
@artandlol 想问下层主

// console.log('passWord', passWord)
// console.log('sessionId', sessionId)
// console.log('key', key)

这三个只用填写 sessionId 那一行就可以了是吗?
zeex
zeex
Jan 2, 2018
230
成功,厉害了
artandlol
artandlol
Jan 2, 2018 via iPhone
231
@dewi 在第一个 2018 下一行
yefuchao
yefuchao
Jan 2, 2018
232
@ycmchong gist 需要代理才能打开。
WendellSun
WendellSun
Jan 2, 2018
233
成功,非常感谢。
KaKaGoSki
KaKaGoSki
Jan 2, 2018
234
查水表了
userff
userff
Jan 2, 2018
235
亲测成功
json19920123
json19920123
Jan 2, 2018
236
已测试,14:20 成功
krfalcon
krfalcon
Jan 2, 2018
237
亲测成功
aiwmao
aiwmao
Jan 2, 2018
238
下载小程序变 404 了。。
ycmchong
ycmchong
Jan 2, 2018
239
测试了上限是 10W,想刷个 2018521,结果...这个是不是没法往低了刷...
rover5056
rover5056
Jan 2, 2018
240
15.34 成功
satanandroid
satanandroid
Jan 2, 2018
241
wget

下载不了 求 src 楼主能发一份你下好的么
zz233333zz
zz233333zz
Jan 2, 2018
242
@krfalcon 上面樓里有圖片,surge 里有 https 解析抓取,生成證書并添加信任,https 主機那裡添加*.qq.com
記得在設置證書里確認信任證書
PhanKiap
PhanKiap
Jan 2, 2018
243
提交成功排行版怎么不刷新了。是不是失效了。
odirus
odirus
Jan 2, 2018
244
咨询各位大神,charlesproxy 的证书应该是属于那种自签名的吧

为什么能够抓取到 https 的内容呢?难道是微信客户端直接忽略了证书错误?
kyrkwode
kyrkwode
Jan 2, 2018
245
@qiayue 大哥,现在下载源码是 404 了,能不能打包一份放到网盘里
xinlai
xinlai
Jan 2, 2018
246
16.19 成功
qiayue
qiayue
Jan 2, 2018
247
@odirus 因为在手机端也需要安装他的证书,并且信任
jinue9900
jinue9900
Jan 2, 2018❤️2
248
16.35 分成功,不懂可以提问,摸索了好久了
odirus
odirus
Jan 2, 2018
249
@qiayue 感谢,我忽略了这一点
cheny95
cheny95
Jan 2, 2018
250
@jinue9900 输入 server session ID 是形如 04:31:83:B7:50。。。。这样的。
依赖安装好,直接运行代码后 crash。。

求解?
Corn665353
Corn665353
Jan 2, 2018
251
源码没了貌似?
jinue9900
jinue9900
Jan 2, 2018
253
@cheny95 不是的 是一串 base64 加密的字符串
iyour
iyour
Jan 2, 2018
254
17:22 成功 😄Happy new year
jinue9900
jinue9900
Jan 2, 2018
255
@cheny95 ios 的 安装完证书要去 设置-通用-关于本机-拉到最下面有个证书信任设置,把 charles 打开 然后杀掉微信,打开微信,打开小程序后面就有尾巴出来了。然后你在看一下有个 session_id 的玩意在里面
ChenPeiPei
ChenPeiPei
Jan 2, 2018
256
@cheny95 session_id 错了..可以在 charles 下 command+f 搜索 session_id,是一个 base 64 字符串的格式
xinlai
xinlai
Jan 2, 2018
257
17.27 成功
JKeita
JKeita
Jan 2, 2018
258
2018/1/2 17:36 提交成功
u3u
u3u
Jan 2, 2018
259
17:47 成功~
skinqis
skinqis
Jan 2, 2018
260
成功,感谢
jxst973393
jxst973393
Jan 2, 2018 via iPhone
261
The "request" library is not installed automatically anymore.

But required by "request-promise".

npm install request --save

/Users/call/node_modules/request-promise/lib/rp.js:23
throw err;
^

第一次成功了,之后就是这样的提示,这是什么情况,我也安装了一 npm install request — save 啊
jinue9900
jinue9900
Jan 2, 2018
262
@jxst973393 看下 node_modules 里面有没有 request-promise 有的话删掉 node_modules 重新执行一下就好了
Telegram
Telegram
Jan 2, 2018
263
@cheny95 #250 你的 sessionID 错了,看楼主第 4 条附言
madm4n
madm4n
Jan 2, 2018
264
@JKeita nodejs 成功输出 2018! Happy new year!,但是 微信里怎么刷新分数呢?
madm4n
madm4n
Jan 2, 2018
265
兄弟们,nodejs 成功输出 2018! Happy new year!。。。但是接下来怎么操作才会微信里跳一跳刷新高分
cheny95
cheny95
Jan 2, 2018 via iPhone
266
@jinue9900 谢谢 加入信任 成功。18:30
cheny95
cheny95
Jan 2, 2018 via iPhone
267
@ChenPeiPei 已成功 谢谢
cheny95
cheny95
Jan 2, 2018 via iPhone
268
@Telegram 👌啦
谢谢
dannygeek00
dannygeek00
Jan 2, 2018
269
__init__() got an unexpected keyword argument 'ouput_to_new_tab'
[cmd: None]
[dir: /Users/qihuandaxia/Desktop]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
[Finished]
dannygeek00
dannygeek00
Jan 2, 2018
270
成功了 2018-01-02 20:09
Tinet
Tinet
Jan 2, 2018
271
2018-01-02 20:41 亲测有效
Aaronxdd
Aaronxdd
Jan 2, 2018
272
@jinue9900 获取 session_id 后咋办
Aaronxdd
Aaronxdd
Jan 2, 2018
273
@jinue9900 gist.github 不好访问
JohnTsemin
JohnTsemin
Jan 2, 2018
274
成功,设置分数为 1926
Aaronxdd
Aaronxdd
Jan 2, 2018
275
@JohnTsemin gist.github 上的代码获取不到啊,help
JohnTsemin
JohnTsemin
Jan 2, 2018
276
@Aaronxdd github 又没被墙,直接旁边有个显示 gist 代码按钮,点一下就行
fuergaosi
fuergaosi
Jan 2, 2018
277
@artandlol 找不到 session_id 抓包抓到的几个 ssl 打开都是 no data
sunfanteng
sunfanteng
Jan 2, 2018
278
@bravecoder 请问,用 python 的解析完 wxapkg 文件后,page 下面怎么都是.html 文件,跟小程序的文件不一样呢?
muziki
muziki
Jan 2, 2018 via iPhone
279
@fuergaosi ios 先在 关于 最下面信任 Charles 证书,之后在 Charles 的 proxy 设置里设置 sslproxt 加入*.qq.com ,之后重启 WeChat,进小游戏。最后在 Charles 中 ctrl+f 搜索 session_id
sunfanteng
sunfanteng
Jan 2, 2018
280
@idisreg 请问,你的 wxapkg unpack 之后,page 里面的文件格式是和小程序的一样吗?为啥我的全是 html 文件。
callen
callen
Jan 2, 2018
281
@jinue9900 按照您的方法是了,然后出现了这个 /Users/call/node_modules/request-promise/lib/rp.js:23
throw err;
^

Error: Cannot find module 'boom'
jxst973393
jxst973393
Jan 2, 2018 via iPhone
282
@sunfanteng 你好,现在怎么才能下载小程序源码?我试了试楼主的好像现在下载不成了
yangceng
yangceng
Jan 2, 2018
283
Error: Cannot find module 'crypto-js'
at Function.Module._resolveFilename (module.js:536:15)
at Function.Module._load (module.js:466:25)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (D:\workspace\code\YOUWANNAPIECEME\wx_t1t_hack.js:1:78)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
zeke
zeke
Jan 2, 2018
284
楼主,这个 js 源码应该是通过 root 后查看微信 app 里的文件得到的吧?
微信用的是 mmtls 协议,有加密,通过抓包的化是不可能获取到的。
yangceng
yangceng
Jan 2, 2018
285
PS D:\workspace\code\YOUWANNAPIECEME> npm install crypto-js request-promise
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] requires a peer of request@^2.34 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of request@^2.34 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

+ [email protected]
+ [email protected]
added 8 packages in 16.447s

这一步之后是啥,各位大佬
Nathanzheng
Nathanzheng
Jan 2, 2018
286
天天想着作弊。。。
yangceng
yangceng
Jan 2, 2018
287
已搞定
bl5c
bl5c
Jan 2, 2018
288
测试成功~谢谢大佬
exalex
exalex
Jan 3, 2018
289
改完有点怕怕 微信被封了怎么办。。。
GakkiYui
GakkiYui
Jan 3, 2018 via iPhone
290
已成功,谢谢大佬
zcdll
zcdll
Jan 3, 2018
291
3 号凌晨之后貌似不能用了,返回成功,但是分数不变。
aiwmao
aiwmao
Jan 3, 2018
292
感谢老铁,又阔以(偷)下小程序了
haige268
haige268
Jan 3, 2018 via Android
293
现在好像已经凉了!大家试试还有成功的吗?
marvin520
marvin520
Jan 3, 2018
294
@haige268 一首凉凉送给老铁
Akill47
Akill47
Jan 3, 2018
295
分数没变...
DingJZ
DingJZ
Jan 3, 2018
296
errcode 108
mochanight
mochanight
Jan 3, 2018
297
应该是算法改了。
fsql
fsql
Jan 3, 2018
298
这个方法拉闸了
ariesjia
ariesjia
Jan 3, 2018
299
他只要家一个分数和时间有关系 后端就可以校验
pangtong
pangtong
Jan 3, 2018
300
@sunfanteng #280 我没什么特权,你是怎么样我当然就是怎么样了...
@YLGG #225 自己下吧,下下来也没什么用,里面代码好像是经过压缩的,很乱,而且有的文件是 .html , 而微信小程序的文件应该是 .wxml , 没开发过小程序,不是很懂...
@preach #216 小程序没法直接运行就对了,那肯定是无法直接运行的...
1  2  3  4  5  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1293 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 137ms · UTC 20:25 · PVG 04:25 · LAX 12:25 · JFK 15:25
♥ Do have faith in what you're doing.