吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12506|回复: 32
收起左侧

[Web逆向] 9.21,羊了个羊通关(fiddler)及关卡数据分析

[复制链接]
xifanu 发表于 2022-9-16 17:26
本帖最后由 xifanu 于 2022-9-21 09:10 编辑

fiddler 的配置在此不啰嗦了,大家自行搜索其他帖子。

(9月21日)使用fiddler的最简单通关姿势

9.20以后,关卡的卡片数据地址变成了  https://cat-match-static.easygame2021.com/maps/xxxxxxxxxxxxxxxxx.txt
依旧是利用 fiddler 的修改响应的功能,也就是FiddlerScript功能中的onBeforeResponse函数。
此函数可以对响应数据进行修改,思路是,将第二关的卡片的类型全部改为一样的或者改为无图案的空卡。

直接上代码:


        if (oSession.uriContains("https://cat-match-static.easygame2021.com/maps/")){ //匹配关卡数据
            if (oSession.responseCode == 200) {

                var responseJsonString=oSession.GetResponseBodyAsString();                   //获取response中的JSON数据,以字符串的形式接收
                var responseJSON=Fiddler.WebFormats.JSON.JsonDecode(responseJsonString);    //转化为JSON数据
                var levelKey = responseJSON.JSONObject["levelKey"];  //获取“levelKey”中的数据

                //80001是第一关,很简单,不需要修改。
                //如果不是第一关,则进行卡片数据的修改
                if(levelKey!="80001"){
                    //将卡片类型数据改为错误的属性名,这样会导致所有卡片为空白卡
                    var blankData = responseJsonString.replace("blockTypeData", "xxxblockTypeData"); 
                    oSession.utilSetResponseBody(blankData);   //替换ResponseBody中的JSON数据
                }

            }

        }

edit response data

edit response data

代码放到图中位置。点击 Save Script 生效,然后重新打开羊了个羊小程序进行闯关就行。
此时第二关所有卡片变为了空白卡,急速点击完卡片就闯关成功了,闯关成绩会正确提交至服务器。

一、通关姿势(9月16日)

我只说利用 fiddler 的修改响应的功能,也就是FiddlerScript功能中的onBeforeResponse函数。
此函数可以对响应数据进行修改,思路很明确,目的就是要把羊了个羊关卡改为超低难度。

直接上代码:

if (oSession.uriContains("https://cat-match.easygame2021.com/sheep/v1/game/map_info?map_id=")){ //匹配关卡地址

    if (oSession.responseCode == 200) {
        var responseJsonString=oSession.GetResponseBodyAsString();                   //获取response中的JSON数据,以字符串的形式接收
        var responseJSON=Fiddler.WebFormats.JSON.JsonDecode(responseJsonString);    //转化为JSON数据
        var data = responseJSON.JSONObject["data"];  //获取“data”中的数据

        if(data.Contains("map_data")){        //如果data中的数据中,包含“map_data”字段

            data["map_data"]="{\"widthNum\":8,\"heightNum\":10,\"levelKey\":80001,\"blockTypeData\":{\"1\":1},\"levelData\":{\"1\":[{\"id\":\"1-16-16\",\"type\":0,\"rolNum\":16,\"rowNum\":16,\"layerNum\":1,\"moldType\":1,\"blockNode\":null},{\"id\":\"1-28-16\",\"type\":0,\"rolNum\":28,\"rowNum\":16,\"layerNum\":1,\"moldType\":1,\"blockNode\":null},{\"id\":\"1-40-16\",\"type\":0,\"rolNum\":40,\"rowNum\":16,\"layerNum\":1,\"moldType\":1,\"blockNode\":null}]}}";

        }

        var myResponseJSON= Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);  //转换回字符串

        oSession.utilSetResponseBody(myResponseJSON);   //替换ResponseBody中的JSON数据
    }

}

代码放到图中位置。点击 Save Script 生效,然后重新打开羊了个羊小程序进行闯关就行。

所有关卡都只有三个草丛卡片。

二、关卡数据分析(9月16日)

关卡代码:

(以下数据为仅三张草丛卡片,并不是原本数据,原本数据量较多较为啰嗦)

{
  "err_code": 0,
  "err_msg": "",
  "data": {
    "id": "62ccde7d3dd1931da84a84e2",
    "created_at": "2022-07-12T02:37:49.515Z",
    "updated_at": "2022-09-14T15:53:23.508Z",
    "map_option": 2,
    "map_data": "{\"widthNum\":8,\"heightNum\":10,\"levelKey\":80001,\"blockTypeData\":{\"1\":1},\"levelData\":{\"1\":[{\"id\":\"1-16-16\",\"type\":0,\"rolNum\":16,\"rowNum\":16,\"layerNum\":1,\"moldType\":1,\"blockNode\":null},{\"id\":\"1-28-16\",\"type\":0,\"rolNum\":28,\"rowNum\":16,\"layerNum\":1,\"moldType\":1,\"blockNode\":null},{\"id\":\"1-40-16\",\"type\":0,\"rolNum\":40,\"rowNum\":16,\"layerNum\":1,\"moldType\":1,\"blockNode\":null}]}}",
    "map_id": 80001
  }
}

其中关于卡片的代码为 map_data 的内容,将其去除转义后:

{
        "widthNum": 8,
        "heightNum": 10,
        "levelKey": 80001,
        "blockTypeData": {
                "1": 1
        },
        "levelData": {
                "1": [{
                        "id": "1-16-16",
                        "type": 0,
                        "rolNum": 16,
                        "rowNum": 16,
                        "layerNum": 1,
                        "moldType": 1,
                        "blockNode": null
                }, {
                        "id": "1-28-16",
                        "type": 0,
                        "rolNum": 28,
                        "rowNum": 16,
                        "layerNum": 1,
                        "moldType": 1,
                        "blockNode": null
                }, {
                        "id": "1-40-16",
                        "type": 0,
                        "rolNum": 40,
                        "rowNum": 16,
                        "layerNum": 1,
                        "moldType": 1,
                        "blockNode": null
                }]
        }
}
  • blockTypeData 卡片类型及组数量(一组三张)
    {"1": 1} ,其中"1"代表草丛卡片,1代表1组(三张卡)。

  • levelData 层卡片数据。每层元素的数据量总和,要与blockTypeData的卡片数量一致。

    • id 卡片坐标;
    • layerNum 第几层;
    • rolNum 列,与id中的保持一致
    • rowNum 行,与id中的保持一致

其他参数不再分析了,有疑问的回复。

[/md]

免费评分

参与人数 3吾爱币 +1 热心值 +2 收起 理由
mojianxing + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
crossgg + 1 我很赞同!
hanxiao666 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

frog_ 发表于 2022-9-16 22:50
这游戏道具太少了,次数多两次也好的,太难了玩几天就不想玩了,
没意思
arq2020 发表于 2022-9-16 22:53
frog_ 发表于 2022-9-16 22:50
这游戏道具太少了,次数多两次也好的,太难了玩几天就不想玩了,
没意思

确实没什么意思,就是骗人看广告的
Yb丶 发表于 2022-9-16 22:35
这玩意真是靠运气的游戏,广告都看的不要不要了,果断删除小程序跑路
airxxy 发表于 2022-9-16 22:45
抓的是ios还是安卓?我抓不到包啊
3969 发表于 2022-9-16 22:49
这个真的有这么好玩吗?我表示怀疑
whofly 发表于 2022-9-16 23:11
没什么意思 不过技术值得关注
re776 发表于 2022-9-16 23:18
这游戏就是来坑人刷广告点击量的
jinhougou 发表于 2022-9-16 23:28
靠运气的游戏把它的原理弄出来其实就可以了。
yxn1988924 发表于 2022-9-16 23:34
看一看,感谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 23:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表