抓包测试1
https://mp.weixin.qq.com/s/jlFGQjA9Gn7wqY3B84HfGw
手机上连接代理
在手机WiFi中配置手动代理,输入安装Charles的电脑的网络地址,端口填8888。(注意:手机WiFi要和电脑同一个哦)
| ifconfig
...
inet 192.168.31.112 netmask 0xffffff00 broadcast 192.168.31.255
...
|
连接 192.168.31.112,端口 8888
手机安装证书
以IOS为例,在Safri上打开Charles的根证书下载网址:chls.pro/ssl 。
接下来,在设置->通用->VPN与设备管理 选择刚才的证书进行安装。
然后,在设置->通用->关于本机->证书信任设置 (这一步很重要) 刚刚安装的证书的开关打开信任就可以抓取加密包了。
https://cat-match.easygame2021.com
Map local
地图请求内容:
https://cat-match.easygame2021.com/sheep/v1/game/map_info_ex?matchType=3&req_id=6
除了 req_id 每次重新挑战会变,其他参数不变
所以我们如果知道下一次 req_id,那么就可以 map 请求
例如
/Users/nocilantro/tmp/test.json
:
| {"err_code":0,"err_msg":"","data":{"map_md5":["046ef1bab26e5b9bfe2473ded237b572","046ef1bab26e5b9bfe2473ded237b572"],"map_seed":[2170714386,2170714386,2170714386,2170714386],"map_seed_2":"1661371954","req_id":6}}
|
我们将 map_md5 中的第一个字符串改成和第一个字符串一样,那么第二关就和第一关一样简单
Map remote
这里 map 了 personal_info
将 win_count 设置为 20,就可以在排行榜上看到自己是第一了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 | dic = {
"err_code": 0,
"err_msg": "",
"data": {
"register_time": 1667615205,
"avatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83epT9tfQV7t4P1DiaqNIib4I31vwcAsPxEuyiaYq66cPNNVNJc60TD02Ke4TLXOjLI1HZBIzJuWOsAhuQ/132",
"nick_name": "hhhh",
"uid": "6365c9e5c4da7f0fc67c284c",
"challenge": 0,
"win_count": 20,
"daily_count": 0,
"topic_count": 0,
"today_state": 1,
"today_ts": 1668435327,
"today_time": 170,
"today_fail_count": 3,
"skin": 2,
"area_id": 0,
"area_expire_at": 0
}
}
import json
from flask import make_response, Flask
app = Flask(__name__)
@app.route('/')
def roo():
response = make_response(json.dumps(dic))
response.mimetype = 'application/json'
return response
app.run(debug=True, host='0.0.0.0', port=8001)
|