前因
之前用着哔哩哔哩助手的直播消息推送感觉挺好用的,但是现在这个功能要会员了,其他付费功能对我来说又用处不大,所以没啥付费意愿,就想着能不能来个本地会员。
过程
因为刷新了几下发现没啥数据包,所以判断数据是本地存储的,只在登录时(以及开通/续费操作后)会获取会员相关的数据,于是就重新登录去抓包了一波。
发现了一个叫identities
的疑似变量。
于是去翻一下源代码看看,路径直接全盘查扩展程序id就能找到。
直接vsc全局搜一波,发现有四个文件包含了这个变量名。
打开文件发现压缩过,直接用DevTools
的自带格式化工具冲一下就完事。
第一个文件里的相关代码似乎是判断是否会员,然后identities
的格式应该是[{"name": "", "to": "", "hasDateTimeLimit": ""}]
这种。
但是尝试修改u = e=>a(e, o.a)
为u = e=>true
去刷新一下页面发现只是开通会员
字样变成了续订会员
,权限验证相关的还是没有变化。
然后这时候突然想起来扩展程序应该也能被DevTools
调试,于是看了一下js文件,发现上面的4个疑似文件只有2个被使用,那就更舒服了,正好还剩一个没看,目标就在剩下的那个文件了。
格式化后找到变量调用点发现确实有鉴权行为,但是好像是初始化页面的,用处不确定有没有。
先尝试一下固化内容看看,name
不知道是啥,to
应该是时间,但是具体格式不清楚,应该是时间戳或者文本串,hasDateTimeLimit
这边没用到,盲猜一波false
。
那就剩下name
了,先置空试试,说不定会有报错出来。
然后发现啥用也没有,大概name
是会员类型,空的话就不是会员...
突然想起来刚才上一个文件能够影响文本显示,那应该有判断过这个name
,于是下个断点去看看。
发现了比对的目标文本,是大概是类似于白名单的机制,所以咱们来个catForever
试试。
刷新一下页面,成功变成会员,高级功能的设置也解锁了,但是功能是否可用还不清楚。
但是控制台有报错,好像是日期格式不规范,尝试了几波之后发现20991231
是不报错的。
去试着改了几个设置发现都可以生效,所以应该是成功了。
后果
因为个人感觉当前的付费功能价值并没有达到其定价的高度,所以不太有付费的意愿,后期如果付费功能价值更高或者降价到我自己认为的合理范围的话,是会去入正的。
希望各位不要学我,要去支持正版,毕竟作者也是要恰饭的嘛。