首页
社区
课程
招聘
[原创]微信“跳一跳”分析笔记
发表于: 2018-1-1 21:40 11448

[原创]微信“跳一跳”分析笔记

2018-1-1 21:40
11448

目前网上已经有模拟发包上传分数和图像识别模拟操作的方案了,这里分享一下另一种作弊方案:修改源码.


抓包通常可以用Charles或者Fiddler抓小程序https数据,这里说下另一种方法,从安卓代码入手,找到https明文发包点截取封包.
从微信的log中看到,每次游戏发包时都会打印"AppBrandNetworkRequest",从Tag命名上猜测这是小程序代码通过微信sdk发包的接口,反编译微信根据该关键词定位到负责小程序https通信的类是Lcom/tencent/mm/plugin/appbrand/i/c;,分析下代码可以发现最后使用过Lcom/tencent/mm/sdk/f/e;->post发包的,打印调用这行代码的函数的各个参数就可以截取小程序通过https发送的json明文数据了.

在1中明文发包点可以直接修改发送的数据,但是敏感数据是加密通信的,比如上传分数的接口0e7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3N6%4S2S2k6$3q4E0k6g2)9J5c8Y4N6^5j5h3N6S2L8h3g2Q4y4h3k6K6k6i4c8@1L8r3g2E0k6h3&6@1i4@1f1@1i4@1t1^5i4@1q4p5j5h3y4@1K9h3!0F1i4K6g2X3k6r3q4@1j5g2!0q4y4g2!0m8c8q4)9&6y4#2!0q4y4W2!0m8c8g2!0n7y4g2!0q4y4g2!0n7x3q4!0n7x3g2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4g2)9&6b7#2!0m8z5q4!0q4y4g2!0n7x3q4)9^5c8W2!0q4y4#2!0m8z5q4)9^5b7W2!0q4y4g2!0n7b7g2)9^5c8W2!0q4y4g2)9^5y4W2)9^5y4g2!0q4y4g2)9^5b7g2!0m8x3q4!0q4y4g2!0m8c8W2)9^5y4W2!0q4y4g2)9&6x3q4)9^5c8g2!0q4y4g2)9^5y4W2)9^5c8q4!0q4z5g2)9^5x3q4)9&6b7g2!0q4z5q4!0n7c8W2)9^5y4#2!0q4y4g2!0n7c8g2!0m8c8g2!0q4y4q4!0n7c8W2!0m8x3g2!0q4y4g2)9^5c8W2)9&6x3g2!0q4y4g2)9^5y4#2!0n7b7g2!0q4y4g2)9^5c8g2!0n7b7W2!0q4y4#2)9&6b7g2)9^5y4q4)9J5k6g2!0q4y4W2)9&6y4#2!0m8x3W2!0q4y4#2)9^5y4q4!0n7y4W2!0q4y4W2)9&6y4g2!0n7x3q4!0q4y4W2)9^5c8q4!0m8c8g2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4g2)9&6b7#2!0m8z5q4!0q4y4W2)9&6b7#2!0m8b7#2!0q4y4g2)9&6b7#2!0n7x3q4!0q4y4g2)9^5b7g2!0m8x3q4!0q4y4g2!0m8c8W2)9^5y4W2!0q4y4#2)9&6b7g2)9^5y4q4)9J5b7#2!0q4y4g2)9^5b7g2!0m8x3q4!0q4y4g2!0m8c8W2)9^5y4W2!0q4y4#2!0m8c8g2)9&6y4#2!0q4y4W2!0n7x3#2)9&6y4g2!0q4z5q4)9^5x3W2!0m8c8W2!0q4y4g2!0m8c8g2)9&6b7g2!0q4y4q4!0n7z5g2)9&6c8W2!0q4y4g2)9&6b7#2!0m8z5q4!0q4y4W2)9&6b7#2!0m8b7#2!0q4y4g2)9&6b7#2!0n7x3q4!0q4y4g2)9^5c8W2!0m8c8W2!0q4y4q4!0n7b7W2!0m8y4g2!0q4y4W2)9^5z5g2!0n7c8g2!0q4y4g2)9^5z5q4!0n7x3q4)9J5b7#2!0q4y4W2)9^5z5g2)9^5x3q4!0q4y4q4!0n7b7W2!0m8y4b7`.`."跳一跳"作弊的关键就是找到小程序源码.

从微信小程序文档中可以知道,小程序的核心逻辑通常是用js写的.搜索手机中的文件并没有找到后缀为".js"的源码,源码只能从内存中dump了.
微信log中搜索".js",可以发现有如下log打印:
I/MicroMsg.WxaPkgRuntimeReader(12426): [, , 12554]:openRead, appId = wx7c8d593b2c3a7703, reqURL = /game.js, null(FALSE), type = java.lang.String, cost = 6ms
从关键词WxaPkgRuntimeReader可以猜测这是wxapp源码加载的相关代码,通过该关键词反编译微信定位到加载js代码的类:Lcom/tencent/mm/plugin/appbrand/appcache/ai;
分析代码可知该类下的public static String a(e eVar, String str)方法返回的就是js源码,把返回字串dump下来得到"跳一跳"核心源码game.js.

有了源码,就可以根据上传分数的相关代码模拟上报分数了:

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 1
支持
分享
最新回复 (16)
雪    币: 8628
活跃值: (1842)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
还是推荐python脚本,计算好坐标配合电脑使用
2018-1-2 08:54
0
雪    币: 1795
活跃值: (63)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
厉害,不错。。
2018-1-2 10:43
0
雪    币: 709
活跃值: (2575)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
4
2018-1-2 11:51
0
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
厉害呀楼主。
2018-1-2 15:42
0
雪    币: 9941
活跃值: (2273)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
还是这个暴力
2018-1-2 16:48
0
雪    币: 157
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
既然源码在手,直接修改源码就可以实现作弊功能了.实现的方法是修改3中的js源码载入函数的返回字符串,替换相应js代码。
比如修改每次跳跃加分32:把"this.score+=t"替换成"this.score+=32"等等.
这个是hook  public  static  String  a(e  eVar,  String  str)这个方法吗?每次小程序启动前会加载这个吗?
2018-1-3 00:03
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我还是小白,还没看懂,还能再详细点么
2018-1-3 19:28
0
雪    币: 102
活跃值: (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
450K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4k6p5g2a6K9f1E0A6d9q4)9J5y4X3&6T1M7%4m8Q4x3@1t1`.   开源的C#版跳一跳辅助工具
2018-1-4 11:10
0
雪    币: 9
活跃值: (230)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
学习了
2018-1-4 12:41
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
厉害了,
2018-1-5 11:09
0
雪    币: 51
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
源码有么。。。
2018-1-5 11:36
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习啦
2018-1-5 13:36
0
雪    币: 2443
活跃值: (41)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
14
真的强
2018-1-5 18:38
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
很强很强
2018-1-6 14:04
0
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
2018-1-6 21:50
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
大神能留个联系方式嘛,有些问题想跟你请教一下,如果不方便的可以加我vx:yifeichongtian17谢谢
2018-1-8 20:33
0
游客
登录 | 注册 方可回帖
返回