复活Share并使其再次伟大
本篇教程开始之前,特别感谢XiNGRZ导演的make-share-great-again
(项目地址)。可以说没有它,这篇教程我很难如此简单痛快地写出来。
前言
众所周知,Share是微博为数不多存活且拥有海量用户并持续维护的(RIP 2021.7.9)第三方客户端之一,但正如前面所说,它依旧不幸地离我们而去了。本篇教程旨在Share官方的高级版激活认证停止服务后仍继续提供高级版服务,在正式开始前,郑重提醒:本篇教程仅用于教学用途,请尊重原APP开发者的开发成果和宝贵的知识财产!
另一条道路
本文开头致谢所提到的项目同样可以直接激活高级版,只需自行将高级版激活认证地址重定向到make-share-great-again.github.io
即可。
但由于这并不是本篇教程采用的方法,这里仅作提及,不讲述详细方法。
前置工作
- 一台装有抓包工具并能够连接互联网的电脑
- Share 3.9.6及以前的版本(升级到3.9.7后实测无法复现,请谨慎升级)
这里我选择了Charles
用于抓包,在此前用于iOS抓包获取各种视频地址时,它相比起mitmproxy
与fiddler
,不仅UI更加人性化,同时功能与性能也更能满足我的使用需求,于是一直沿用到了本篇教程。
Charles
如何使用本文不再赘述,请自行查阅互联网获取相关知识。
冻手冻手
首先将手机连接到Charles
抓包用的代理环境下。虽然Android高版本在非root环境下不再随便信任用户指定的CA证书,但Share与认证服务器是通过http连接的,所以手机并不强制需要root。
打开Share的高级版激活界面并尝试输入激活码恢复订阅,这里随便输入激活码即可,然后观察Charles
中的请求。这里找到api.yuhengye.com
,它就是Share的认证服务器地址。为其打上断点并勾中修改response,并再次尝试恢复订阅。
此时恢复订阅的请求被Charles
捕获并暂停,进入response页面,将其内容修改为如下:
1 | {"code":0,"data":{"code":"夹总后入肖战","activated":true,"orderId":"","activeCount":0,"timestamp":4555756799000,"s_expire":false}} |
这里data中code和timestamp的内容可以自行更改为想要的样式,然后点击execute将其发回到Share客户端,激活完成!
后言
由于Share已经停止了后续维护,想必认证服务器恐怕也终将关闭,此时可能需要用到我所提到的另一条道路类似的方法来实现,至于如何实现就看各位一展身手了。