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

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

  bravecoder · Dec 31, 2017 · 98227 views
This topic created in 3230 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  
❮ ❯
0110
0110
Jan 3, 2018
301
手动翻页!测试成功!
catoncat
catoncat
Jan 3, 2018
302
@0110 现在应该不行了
fsql
fsql
Jan 3, 2018
303
下了版本 id 为 5 的小程序解包看了下,action_data 的加密算法变了,但这种混淆过的 js 看起来太吃力了。没弄出加密算法来。
jinue9900
jinue9900
Jan 3, 2018
304
@Aaronxdd 这个要翻墙的
qq125741252
qq125741252
Jan 3, 2018
305
{"base_resp":{"errcode":108}}
VVTA
VVTA
Jan 3, 2018
306
@odirus 其实你的想法是对的,它还是忽略了证书校验,你可以看看 SSLPIN 等技术,就知道,如果有校验,用 charles 等证书还是不让抓包的
VVTA
VVTA
Jan 3, 2018
307
@idisreg 你好,自选股的代码可否发一份呀?想看看它的一些实现.现在好像下载不了了.多谢
he583899772
he583899772
Jan 3, 2018
308
分数没变了,已失效。别折腾了
u6573861
u6573861
Jan 3, 2018
309
@fsql 有源码,可以发我研究下算法嘛
F0r3v3r
F0r3v3r
Jan 3, 2018
311
不能用喽,难道是手法不对。。。
Ruzdz
Ruzdz
Jan 3, 2018
312
包已下好,怎么样解密???
mmp123
mmp123
Jan 3, 2018
313
@Ruzdz 用微信小程序开发工具打开
Clarencep
Clarencep
Jan 3, 2018❤️4
314
@bravecoder 你们刷得太厉害了,现在貌似微信加了检查
@F0r3v3r 现在好像刷 666 都出错了,不过刷低一点的分数还是可以的。

可以试试我这个代码 -- 参考了下 LZ 的代码,修改为 async 版本的,增加了随机 sleep,需要新版本的 node 来运行:

https://gist.github.com/Clarence-pan/e809ecd83dc4f3c8aeb2b71f3fffbf48
yy1300326388
yy1300326388
Jan 3, 2018
315
@Clarencep 怎么升级到最新的 node
hinate
hinate
Jan 3, 2018
316
其实 iOS 可以使用 thor 这款 app 来进行抓包,很简单就可以抓取到所需要的信息了。
yy1300326388
yy1300326388
Jan 3, 2018
317
@Clarencep 测试可用,补充 node 升级方法: http://blog.csdn.net/su_tianbiao/article/details/51798666
Ruzdz
Ruzdz
Jan 3, 2018
318
@mmp123 打不开。
zeex
zeex
Jan 3, 2018
319
@yy1300326388 高分都报错,应该是加了条件限制
skyblue
skyblue
Jan 3, 2018❤️2
320
对比各种外挂,这算降维攻击了
zeex
zeex
Jan 3, 2018
321
@Clarencep 测试的最高分是 523 分,多 1 分都不给
DuckyDog
DuckyDog
Jan 3, 2018
322
求教下。。wxapkg 怎么解出里面的东西?
ycmchong
ycmchong
Jan 3, 2018
323
@Clarencep 高分不行
simapple
simapple
Jan 3, 2018
324
安卓 抓不到,ios 可以,有安卓成功抓到 sessionid 的么?
hujinhu
hujinhu
Jan 3, 2018
325
现在刷完分数也不是马上更新了。
hyndaniel
hyndaniel
Jan 3, 2018❤️1
326
@Clarencep 老铁 666
hyndaniel
hyndaniel
Jan 3, 2018❤️1
327
@Clarencep 我随机测试了 6W 多分 是可以的 等了十几分钟
wonkeyz
wonkeyz
Jan 3, 2018
328
@hyndaniel 大佬求教 抓到 sessionid 之后就不知道怎么搞了...
hujinhu
hujinhu
Jan 3, 2018
329
@hyndaniel 怎么随机
DuckyDog
DuckyDog
Jan 3, 2018
330
@hyndaniel 老哥现在还能改?
newmlp
newmlp
Jan 3, 2018
331
用辅助刷了 2k 多分,好像没有更新
wonkeyz
wonkeyz
Jan 3, 2018 via iPhone
332
@0110 大佬求教 拿到 sessionid 后不知咋弄了...
mioskj
mioskj
Jan 3, 2018
333
version 要改成 9 吗
techart
techart
Jan 3, 2018
334
现在的 appid 好像看不了
hyndaniel
hyndaniel
Jan 3, 2018❤️1
335
@wonkeyz
@DuckyDog
用 @Clarencep 的脚本,增加了游戏时间,需要填写正确的 session 及 version,亲测可以用的
hjuj91
hjuj91
Jan 3, 2018
336
@hyndaniel 现在 path 和 data 变成什么了呢。。。求教
XiaolinLeo
XiaolinLeo
Jan 3, 2018
337
@hyndaniel 请问分数是不是最多在 500 左右
GabrielChen
GabrielChen
Jan 3, 2018
338
@XiaolinLeo 我现在只能刷到 500 多
hyndaniel
hyndaniel
Jan 3, 2018❤️1
339
@hjuj91 他脚本里的 path 和 data 是正确的,不用修改啊。。
hyndaniel
hyndaniel
Jan 3, 2018❤️1
340
@XiaolinLeo 我拿小号刷到 6W 多 没问题的
XiaolinLeo
XiaolinLeo
Jan 3, 2018
341
@hyndaniel 请问除了 viu 改 session,version 要修改成多少? 9 么
819916913
819916913
Jan 3, 2018
342
@Clarencep 用他这个代码 https://gist.github.com/Clarence-pan/e809ecd83dc4f3c8aeb2b71f3fffbf48
const version = 5
const score = 6666
const playTimeSeconds = score * 0.3
改成 0.3 左右 6666 分等半小时 ok
node 版本 8.9.3 测试
XiaolinLeo
XiaolinLeo
Jan 3, 2018
343
@GabrielChen 我测试的也是
hyndaniel
hyndaniel
Jan 3, 2018❤️1
344
小号刷了 10W 没问题哟
XiaolinLeo
XiaolinLeo
Jan 3, 2018
345
用楼主的,取消这段注释,亲测可用
// for (var i = 0; i < score; i++) {
// action.push([0.752, 1.32, false])
// musicList.push(false)
// touchList.push([185, 451])
// }
aiweiyang
aiweiyang
Jan 3, 2018 via Android
346
@fadaixiaohai 嗯 微信做出啦限制
zhaoyongyan5177
zhaoyongyan5177
Jan 3, 2018
347
@hyndaniel 刷 2018 怎么调呢
aino
aino
Jan 3, 2018
348
@hyndaniel 大佬能给个 Base64 的号码出来 我们线下交流下子不
DuckyDog
DuckyDog
Jan 3, 2018
349
errcode: 108 了。。。
nerozhu
nerozhu
Jan 3, 2018
350
用的 @Clarencep 的代码,显示成功了。但是微信里面的排行榜没变化。
NotNil1
NotNil1
Jan 3, 2018
351
2018 年 1 月 3 日 15 点 37 分测试已经不可用了
nerozhu
nerozhu
Jan 3, 2018
352
重启了手机,,发现排行榜变了。。
Telegram
Telegram
Jan 3, 2018 via iPhone
353
@XiaolinLeo #345 看来服务端已经开始验证按压记录这些信息了,楼主一开始是准备伪造这些数据的,因为微信跳一跳默认发出去的信息解密开来就有这些记录,但是楼主发现提交空的,也能通过,也就是说服务端一开始根本不验证是不是空的。
yy1300326388
yy1300326388
Jan 3, 2018
354
@fadaixiaohai 现在不行啦,每次最多刷 5 分,中午最高刷到 10 万啦
wonkeyz
wonkeyz
Jan 3, 2018 via iPhone
355
@hyndaniel 嗯我试试 谢谢~
yy1300326388
yy1300326388
Jan 3, 2018
356
@nerozhu 需要重启微信
Ruzdz
Ruzdz
Jan 3, 2018
357
问个比较蠢的问题 - - 怎么用 python 解密 unwxapkg.py - - 不会 py
BugFree
BugFree
Jan 3, 2018
358
errcode: -5。。
Telegram
Telegram
Jan 3, 2018
359
@yy1300326388 嗯,现在最高是 100000,刚刚给同事提交 666666,然后只有 100000。
DuckyDog
DuckyDog
Jan 3, 2018
360
@Telegram 我这边一直 errorcode 108
Ruzdz
Ruzdz
Jan 3, 2018
361
@DuckyDog 求问 python 怎么解压 unwxapkg.wxapkg 这个文件的???
Nicksxs
Nicksxs
Jan 3, 2018
362
现在还能获得 session_id 吗
WenJimmy
WenJimmy
Jan 3, 2018
363
@Nicksxs #362 抓包可以获取到
DuckyDog
DuckyDog
Jan 3, 2018
364
@Ruzdz 我没用 python 用另外一个解压的..
Ruzdz
Ruzdz
Jan 3, 2018
365
@DuckyDog 求解压之后的包...
Nicksxs
Nicksxs
Jan 3, 2018
366
@WenJimmy 我这边抓包好像只有这个 https://mp.weixin.qq.com 的请求
没有这个 https://mp.weixin.qq.com/wxagame/wxagame_init
justfun
justfun
Jan 3, 2018
367
@Clarencep 出现这个错误
settlement result: { base_resp: { errcode: 108 } }
Well done! Happy new year! 🎉

@DuckyDog
我也是
justfun
justfun
Jan 3, 2018
370
JoyChou
JoyChou
Jan 3, 2018
371
appid 如何找
justfun
justfun
Jan 3, 2018❤️1
372
手一抖 有点多了= =![有点多了]( https://s1.ax1x.com/2018/01/03/pCUq6f.jpg)
fuergaosi
fuergaosi
Jan 3, 2018
373
@justfun 这个怎么用
lampeduza
lampeduza
Jan 3, 2018
374
@justfun 你这是 11k 分吧。。。。
imaple
imaple
Jan 3, 2018
375
@Nicksxs 你手机没安装证书吧.
hjuj91
hjuj91
Jan 3, 2018
376
失效个 p,照刷不误
cooboy
cooboy
Jan 3, 2018
377
怎么 gist 都打不开啊
justfun
justfun
Jan 3, 2018 via iPhone
378
@cooboy 被墙了
walls
walls
Jan 3, 2018
379
@justfun 怎么操作啊?谢谢!
justfun
justfun
Jan 3, 2018
380
@walls
node.js 运行我楼上发的那个 js,sessionid 改成自己的
@fuergaosi
walls
walls
Jan 3, 2018
381
@justfun
1 jsL 里的 sessionid 在 var sessionid=data['base_req']['session_id'];这一行里改吗?还是哪里。
2 弱弱问下,nodejs 直接安装上运行就行吗?不太懂这块
3 nodejs 运行是开始菜单里绿色那个 node.js ,还是黑色命令行 Node.js command prompt 那个
4 还是 cmd 里直接运行,C 盘根目录下,运行提示下面的

C:\>node wxdump.js.
module.js:538
throw err;
^

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> (C:\wxdump.js.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)
always2017
always2017
Jan 3, 2018
382
昨天帮别人刷的 2018 失效了,我的 10 万还在。
TanninS
TanninS
Jan 3, 2018
383
腾讯给 post 加了验证吧,同样的方法已经刷不上了
Wysten
Wysten
Jan 4, 2018 via iPhone
384
刚刚在头条看到有人那这个盈利… 有人做了个网页,输入 session_id 就可以请求…并配备了抓包教程…估计楼主看到会哭晕在厕所…
pzs
pzs
Jan 4, 2018
385
亲测可用。虽然折腾了好几遍。
一直尝试,该分数,改版本,改 times。
结果在分数为 12018 的时候刷新微信发现成功了。

版本改为 9。
把 var times = response.my_user_info.times + 1 改成 var times = response.ts + 1
13203173640
13203173640
Jan 4, 2018
386
@justfun 请教下大佬,我拿到 session_id 后下一步应该怎么办?
是应该执行你楼上发的 js 脚本,替换一下对应的 session_id 值然后执行吗?但是我记得 js 文件是不能单独执行的吧,得有一个 html 页面引用?
或者是用 charles 工具拦截请求改下数据在发,但这个我试了好多遍了好像都没用。
JohnTsemin
JohnTsemin
Jan 4, 2018 via Android
387
已经翻车,朋友已经看不到我在排行榜了
YrX12138
YrX12138
Jan 4, 2018 via iPhone
388
如果我说网站已经实现了,你们会不会哭死?
上限是十万。
sunnycode
sunnycode
Jan 4, 2018 via iPhone
389
微信小程序 wxapkg 压缩包想获得前端代码的可以改安卓端微信,修改 wxapkg 里面的域名以及 appid,打开调试工具看到 wxml 那就是每个页面的前端代码获取到后可以利用 unpack 解包 wxapkg 读取 js is 图片,自己进行处理一下你抠下来的前端代码就可以使用啦
techart
techart
Jan 4, 2018
390
@sunnycode 请问如何获取 appid ?
sunnycode
sunnycode
Jan 4, 2018 via iPhone
391
@techart 不需要获取 appid 利用安卓模拟器 看微信的缓存目录就有 wxapkg
sunnycode
sunnycode
Jan 4, 2018 via iPhone
392
欢迎大家一起讨论如何获取我小程序的源码,既然可以通过缓存文件在手机上运行那么就有办法获得 wxml,例如体验版小程序打开调试


点击链接加入群 [微信小程序开发平台] : https://jq.qq.com/?_wv=1027&k=52TKaVP
Jokerrrrrr
Jokerrrrrr
Jan 4, 2018
393
已经翻车,被列入黑名单了
binarysearchtree
binarysearchtree
Jan 4, 2018
394
还搞不定的可加 QQ 群
590593504
10w 分 会翻车,9999 分不会被封
newmlp
newmlp
Jan 4, 2018
395
我的 2k 多分已经被清零了╮(╯﹏╰)╭
Jokerrrrrr
Jokerrrrrr
Jan 4, 2018
396
@binarysearchtree 兄弟我就是 9999
wut
wut
Jan 4, 2018
397
99999 已翻车 朋友已经看不到我在排行榜了
A555
A555
Jan 4, 2018
398
好友排行榜已经看不到了
binarysearchtree
binarysearchtree
Jan 4, 2018
399
我的 9999 正常,你们用的哪个脚本?
Tink
Tink
Jan 4, 2018
400
不用试了,都会清零
1  2  3  4  5  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1422 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 316ms · UTC 18:59 · PVG 02:59 · LAX 10:59 · JFK 13:59
♥ Do have faith in what you're doing.