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

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

  bravecoder · Dec 31, 2017 · 95767 views
This topic created in 3088 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
    201
artandlol  
   Jan 2, 2018   ❤️ 2
还挺火的 写个我用的流程

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


被降权了吗
DANG
    208
DANG  
   Jan 2, 2018
成功了,非常感谢!
ycmchong
    209
ycmchong  
   Jan 2, 2018
satanandroid
    210
satanandroid  
   Jan 2, 2018
@ycmchong node 环境 npm
hyndaniel
    211
hyndaniel  
   Jan 2, 2018   ❤️ 1
2018 年 1 月 2 日 11:46:23 提交成功
TanninS
    212
TanninS  
   Jan 2, 2018
@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
    213
swim2sun  
   Jan 2, 2018
Post 之后, 一切变得索然无味...
TanninS
    214
TanninS  
   Jan 2, 2018
@satanandroid
老哥,安装完 node 和 npm 以后,就直接在终端输入
npm install crypto-js request-promise
node wx_t1t_hack.js
就可以了吗
lyf362345
    215
lyf362345  
   Jan 2, 2018
@TanninS ###
### The "request" library is not installed automatically anymore.
### But required by "request-promise".
###
### npm install request --save
###

看下提示啊老哥, npm install request....
preach
    216
preach  
   Jan 2, 2018
@idisreg 解压之后小程序开发者工具无法运行啊 求私 微信
TanninS
    217
TanninS  
   Jan 2, 2018
@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
    218
ycmchong  
   Jan 2, 2018
怎么看自己是否修改成功呀
lniwn
    219
lniwn  
   Jan 2, 2018 via iPhone
@TanninS 需要安装 request 库,不知为何所有教程里都没提到,所以我猜测这个库可能是做 nodejs 开发的必备库,像我这种非 nodejs 开发,就要手动安装了
npm install request --save
TanninS
    220
TanninS  
   Jan 2, 2018
2018 年 1 月 2 日 12:34:11 提交成功
TanninS
    221
TanninS  
   Jan 2, 2018
@lniwn
原来是这样,哈哈哈,我不知道这是个安装库的命令
成功了,感谢!
titi14gj
    222
titi14gj  
   Jan 2, 2018 via iPhone
留个言上电视
YLGG
    223
YLGG  
   Jan 2, 2018
好像能看到 session_id 了 不过也是好长 怎么解密?
EXE
    224
EXE  
   Jan 2, 2018
排行榜已经被 10 万刷屏了。。。
YLGG
    225
YLGG  
   Jan 2, 2018
@idisreg 能帮下几个实例不~挺需要的~
qiayue
    226
qiayue  
PRO
   Jan 2, 2018
@preach 小程序无法直接运行,因为解压后的不是最初的源码
小游戏可以运行
ycmchong
    227
ycmchong  
   Jan 2, 2018
感谢楼主,已经成功!
MoozLee
    228
MoozLee  
   Jan 2, 2018
这个厉害了,已测试,13:22 成功
dewi
    229
dewi  
   Jan 2, 2018
@artandlol 想问下层主

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

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

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

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

求解?
Corn665353
    251
Corn665353  
   Jan 2, 2018
源码没了貌似?
qsnow6
    252
qsnow6  
   Jan 2, 2018
jinue9900
    253
jinue9900  
   Jan 2, 2018
@cheny95 不是的 是一串 base64 加密的字符串
iyour
    254
iyour  
   Jan 2, 2018
17:22 成功 😄Happy new year
jinue9900
    255
jinue9900  
   Jan 2, 2018
@cheny95 ios 的 安装完证书要去 设置-通用-关于本机-拉到最下面有个证书信任设置,把 charles 打开 然后杀掉微信,打开微信,打开小程序后面就有尾巴出来了。然后你在看一下有个 session_id 的玩意在里面
ChenPeiPei
    256
ChenPeiPei  
   Jan 2, 2018
@cheny95 session_id 错了..可以在 charles 下 command+f 搜索 session_id,是一个 base 64 字符串的格式
xinlai
    257
xinlai  
   Jan 2, 2018
17.27 成功
JKeita
    258
JKeita  
   Jan 2, 2018
2018/1/2 17:36 提交成功
u3u
    259
u3u  
   Jan 2, 2018
17:47 成功~
skinqis
    260
skinqis  
   Jan 2, 2018
成功,感谢
jxst973393
    261
jxst973393  
   Jan 2, 2018 via iPhone
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
    262
jinue9900  
   Jan 2, 2018
@jxst973393 看下 node_modules 里面有没有 request-promise 有的话删掉 node_modules 重新执行一下就好了
Telegram
    263
Telegram  
   Jan 2, 2018
@cheny95 #250 你的 sessionID 错了,看楼主第 4 条附言
madm4n
    264
madm4n  
   Jan 2, 2018
@JKeita nodejs 成功输出 2018! Happy new year!,但是 微信里怎么刷新分数呢?
madm4n
    265
madm4n  
   Jan 2, 2018
兄弟们,nodejs 成功输出 2018! Happy new year!。。。但是接下来怎么操作才会微信里跳一跳刷新高分
cheny95
    266
cheny95  
   Jan 2, 2018 via iPhone
@jinue9900 谢谢 加入信任 成功。18:30
cheny95
    267
cheny95  
   Jan 2, 2018 via iPhone
@ChenPeiPei 已成功 谢谢
cheny95
    268
cheny95  
   Jan 2, 2018 via iPhone
@Telegram 👌啦
谢谢
dannygeek00
    269
dannygeek00  
   Jan 2, 2018
__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
    270
dannygeek00  
   Jan 2, 2018
成功了 2018-01-02 20:09
Tinet
    271
Tinet  
   Jan 2, 2018
2018-01-02 20:41 亲测有效
Aaronxdd
    272
Aaronxdd  
   Jan 2, 2018
@jinue9900 获取 session_id 后咋办
Aaronxdd
    273
Aaronxdd  
   Jan 2, 2018
@jinue9900 gist.github 不好访问
JohnTsemin
    274
JohnTsemin  
   Jan 2, 2018
成功,设置分数为 1926
Aaronxdd
    275
Aaronxdd  
   Jan 2, 2018
@JohnTsemin gist.github 上的代码获取不到啊,help
JohnTsemin
    276
JohnTsemin  
   Jan 2, 2018
@Aaronxdd github 又没被墙,直接旁边有个显示 gist 代码按钮,点一下就行
fuergaosi
    277
fuergaosi  
   Jan 2, 2018
@artandlol 找不到 session_id 抓包抓到的几个 ssl 打开都是 no data
sunfanteng
    278
sunfanteng  
   Jan 2, 2018
@bravecoder 请问,用 python 的解析完 wxapkg 文件后,page 下面怎么都是.html 文件,跟小程序的文件不一样呢?
muziki
    279
muziki  
   Jan 2, 2018 via iPhone
@fuergaosi ios 先在 关于 最下面信任 Charles 证书,之后在 Charles 的 proxy 设置里设置 sslproxt 加入*.qq.com ,之后重启 WeChat,进小游戏。最后在 Charles 中 ctrl+f 搜索 session_id
sunfanteng
    280
sunfanteng  
   Jan 2, 2018
@idisreg 请问,你的 wxapkg unpack 之后,page 里面的文件格式是和小程序的一样吗?为啥我的全是 html 文件。
callen
    281
callen  
   Jan 2, 2018
@jinue9900 按照您的方法是了,然后出现了这个 /Users/call/node_modules/request-promise/lib/rp.js:23
throw err;
^

Error: Cannot find module 'boom'
jxst973393
    282
jxst973393  
   Jan 2, 2018 via iPhone
@sunfanteng 你好,现在怎么才能下载小程序源码?我试了试楼主的好像现在下载不成了
yangceng
    283
yangceng  
   Jan 2, 2018
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
    284
zeke  
   Jan 2, 2018
楼主,这个 js 源码应该是通过 root 后查看微信 app 里的文件得到的吧?
微信用的是 mmtls 协议,有加密,通过抓包的化是不可能获取到的。
yangceng
    285
yangceng  
   Jan 2, 2018
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
    286
Nathanzheng  
   Jan 2, 2018
天天想着作弊。。。
yangceng
    287
yangceng  
   Jan 2, 2018
已搞定
bl5c
    288
bl5c  
   Jan 2, 2018
测试成功~谢谢大佬
exalex
    289
exalex  
   Jan 3, 2018
改完有点怕怕 微信被封了怎么办。。。
GakkiYui
    290
GakkiYui  
   Jan 3, 2018 via iPhone
已成功,谢谢大佬
zcdll
    291
zcdll  
   Jan 3, 2018
3 号凌晨之后貌似不能用了,返回成功,但是分数不变。
aiwmao
    292
aiwmao  
   Jan 3, 2018
感谢老铁,又阔以(偷)下小程序了
haige268
    293
haige268  
   Jan 3, 2018 via Android
现在好像已经凉了!大家试试还有成功的吗?
marvin520
    294
marvin520  
   Jan 3, 2018
@haige268 一首凉凉送给老铁
Akill47
    295
Akill47  
   Jan 3, 2018
分数没变...
DingJZ
    296
DingJZ  
   Jan 3, 2018
errcode 108
mochanight
    297
mochanight  
   Jan 3, 2018
应该是算法改了。
fsql
    298
fsql  
   Jan 3, 2018
这个方法拉闸了
ariesjia
    299
ariesjia  
   Jan 3, 2018
他只要家一个分数和时间有关系 后端就可以校验
pangtong
    300
pangtong  
   Jan 3, 2018
@sunfanteng #280 我没什么特权,你是怎么样我当然就是怎么样了...
@YLGG #225 自己下吧,下下来也没什么用,里面代码好像是经过压缩的,很乱,而且有的文件是 .html , 而微信小程序的文件应该是 .wxml , 没开发过小程序,不是很懂...
@preach #216 小程序没法直接运行就对了,那肯定是无法直接运行的...
1  2  3  4  5  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3953 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 167ms · UTC 10:18 · PVG 18:18 · LAX 03:18 · JFK 06:18
♥ Do have faith in what you're doing.