Sheep_hack 羊了个羊速通

Pre

一个魔性三消微信小程序游戏。由于游戏第二关是真随机,导致很难通关。既然制作者不讲武德也别怪玩家不客气。

Solution

通过抓包可以看到为数不多的请求里有个很扎眼的map_id,是关卡地图,于是可以从rewrite request入手,把所有关卡的地图全变成第一关最简单的地图。

Several solution

Solution 1 Desktop + iOS device
Desktop DebuggingProxyTool(Charles/Fidder…)
iOS device ProxyTool supporting Socks(Brook/Surge/ShadowRocket/Quantumult…)

or

Solution 2 iOS Traffic Sniffer App with rewrite function
iOS device Http Cacher/Storm Sniffer/Surge/Thor…

安卓没有试,但理论上方法一样。安装证书Charles证书之后,通过wifi连接Charles,有可能会遇到SSL Pinning导致https无法抓取,解决办法是Android上安装Xposed+JustTrustMe来绕过SSL Pinning

Cost

Mac Proxy App Price
Charles 不注册也可以免费试用, 有免费注册方法,sniff,rewirte全功能可用

proxy app 国区没有幸存者

iOS Proxy App Price
Brook freeCharge(国区没有)
Surge freeDownload,抓包免费 proxy rewrite内购,(国区没有)
ShadowRocket paid(国区没有)
Quantumult paid(国区没有)
iOS on-deivce Sniffer App Price
HttpCacher freeDownload,http抓包免费,https抓包内购,rewrite内购
StormSniffer freeDownload,http抓包免费,https抓包内购,rewrite 需要内购
Surge freeDownload,抓包免费,proxy rewrite内购(国区没有)
Thor paid,(似乎现在appStore搜不到)

推荐 Charles + Brook 免费组合
我用的Charles + ShadowRocket 因为我刚好有

Step

  1. 使用Charles在桌面端开启代理注意要使用SocksProxy (菜单栏 -> Proxy -> ProxySetting)
    Charles_proxy

  2. 按照Charles的提示安装CA证书在你的手机上。(菜单栏 Help -> SSL Proxying -> Install Charles Root Certification on a Mobile Device or Remote Browser)

  3. iOS使用ShadowRocket添加Charles的代理,注意类型填socks类型,这里ip如果不知道填什么可以在Charles里查看(菜单栏 -> Help -> Local IP Address)。代理要设置为全局代理。
    ShadowRocket_add_SocksProxy

  4. 打开Charles的rewrite功能,url’s parameter, key map_id 的 value 不用填,自动全部替换统一改为 80001 (菜单栏 -> Tools -> rewrite)
    Charles_rewrite_setting

  5. (Optional)接下来按顺序操作,验证是否操作成功,不过此时如果顺利直接进游戏也可以。

    1. 删除微信里羊了个羊
    2. 打开Charles的Recoring (菜单栏 -> Proxy -> Start Recoring)
    3. Charles中点击Clear Session(菜单栏 -> File -> Clear Session)
    4. 再进入羊了个羊,一直进入到第一关
    5. 检查左侧是否出现了红框里的数据,如果所有的id都是80001,恭喜你,成功了。
      如果不行可能是检查步骤出错,回到第一步重新操作;如果多次不行则前面设置代理有问题,返回检查。
      Charles_verify_result
  6. 进游戏过了第一关之后来到第二关,但是第二关也变成了第一关的模样,15秒速通。