《羊了个羊》作弊教程四:国士无双
⼀、⼯具准备
按照《作弊教程一:配置抓包工具》教程配置Charles抓包工具。
二、修改原理
1、9月23号按照《作弊教程三:皇帝的新羊》教程把图案都改成空白的,消除了一半后发现中间出现了一些随机的图案:
多玩几次可以发现图案都是固定不变的,所以可以判断图案是写死的。
2、观察一下关卡数据,发现有少数方块的type
值不为0:
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 35 36 37 38 39 40 41
| "12": [{ "id": "12-40-48", "type": 5, "rolNum": 40, "rowNum": 48, "layerNum": 12, "moldType": 1, "blockNode": null }, { "id": "12-8-40", "type": 6, "rolNum": 8, "rowNum": 40, "layerNum": 12, "moldType": 1, "blockNode": null }, { "id": "12-16-8", "type": 7, "rolNum": 16, "rowNum": 8, "layerNum": 12, "moldType": 1, "blockNode": null }, { "id": "12-48-16", "type": 8, "rolNum": 48, "rowNum": 16, "layerNum": 12, "moldType": 1, "blockNode": null }, { "id": "12-52-44", "type": 0, "rolNum": 52, "rowNum": 44, "layerNum": 12, "moldType": 1, "blockNode": null }, {
|
研究发现,type
值对应着方块类型,如果type
不为0,就使用对应的方块类型显示图案。如果type
为0,就使用打乱后的图案填充。
3、所以如果修改返回的数据,把所有方块的type
都改为一样的话,全部图案就相同了。
那么更进一步,如何把图案都改成空白呢?观察一下所有方块的类型:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| { "1": "青草", "2": "胡萝卜", "3": "玉米", "4": "树桩", "5": "草叉", "6": "白菜", "7": "羊毛", "8": "刷子", "9": "剪刀", "10": "奶瓶", "11": "水桶", "12": "手套", "13": "铃铛", "14": "火堆", "15": "毛球", "16": "干草" }
|
一共有16种类型,如果把type
改成17,游戏找不到相应的图案来显示,方块就变成空白了。
三、修改步骤
Charles可以使用Rewrite
功能来重写接口数据,具体步骤如下:
1、点击Charles的菜单打开Rewrite
面板:
2、点击左下方的Add按钮新建一个Rewrite
配置:
3、点击上边的Add按钮添加要重写的网址,Host
填写cat-match-static.easygame2021.com
,Path
填写*maps*
,注意要加星号:
4、点击下边的Add按钮新建重写规则,Type
选择Body
,Where
选择Response
,Match
填写"type":\d+
,勾选上Regex
,Replace
填写"type":17
:
这里出现的\d
是正则表达式,表示任意数字,所以要勾选Regex
。
5、为了重新请求游戏资源接口,需要先删除游戏:
6、重新进入游戏,可以看到方块都变成了空白: