0.游戏介绍
羊了个羊是最近突然爆火的微信小程序里面的三消小游戏。因为游戏设计的难度很高,许多人用道具都无法过关,从而导致很多人都在玩。但是因为其是完全随机生成,所以大多数都是根本无法通关的死局。于是我便尝试去抓包来修改其关卡。
1.抓取关卡数据
这里我使用的工具是Http Debugger来抓取数据。首先我们利用电脑版微信打开羊了个羊小程序,然后随便开一局。我们就可以发现下面两个Get请求:
这两个Get请求便是请求关卡信息的,其中mapid就是关卡数字,80001是第一关,90018是第二关(第二关的数字是会随着日期变化的,因为每天一关,所以应该是对应的日期)。所以我们只需要修改其相关的数据即可修改相应的关卡。所以我们来分析一下内容:
Content里面是一个很简单的json格式的配置,就只有一个data
应该是地图数据, err_code
和err_msg
是用来记录错误的,与我们需要的没关系。
2.修改关卡数据
既然我们知道了相应关卡的数据在哪,那么只需要修改对应关卡的数据即可。几天前所有的关卡数据都是在get请求中传输的,但是最近更新了以后只有一串字符串了。但是我们只需要将第二关的data
换成第一关的data
,那么第二关就会和第一关一样了。
所以我们在Http Debugger上面增加一条Auto Reply:把第二关的get请求自动回复成第一关的data
即可:
9月20日关卡获取逻辑更新,附新方法:
首先修改的整体思路还是不变的,只不过内容改变了需要重新修改。
如图,找到/sheep/v1/game/map_info_ex?matchType=3
的请求,然后查看其内容,把map_md5
列表的第二个替换为第一个对应的md5,map_seed
列表的后两个替换为前两关的数字,然后作为自动回复规则即可。
3.通关游戏
此时我们重新进入游戏即可发现第二关的数据和第一关一模一样了,于是便可以随便通关了。
4.排名数据刷取
通关了以后我们可以看到一条post请求为game_over
的get请求,这个便是增加通关次数的请求,所以此时我们只需要多次请求就可以增加我们的排名数据。