本帖最后由 小鲤鱼 于 2020-5-23 22:21 编辑
写这篇文章的目的
之前的帖子说了charles怎么进行rewrite,没有说明怎么使用Map和黑名单的功能,这次就用b站来教学一下
使用到的软件
- charles,论坛中有大佬分享了破解版,搜索一下安装即可
- charles设置ssl成功,没配制好的上面的链接配置一下
- b站
教程开始
本教程默认ssl已经装好并且手机已经信任了证书。
1.打开charles和b站,可以看到存在广告。
- 在charles找广告调用的接口,需要对包含qq的域名保持警惕,发现ios.bugly.qq.com,charles中直接右键选择block list。httpCather中左滑加入黑名单即可。还是不懂怎么操作的话去这个里面看看charles,httpCacther过滤广告
- 另外在app.bilibili.com/x/resource/show/tab 的返回数据中可以看到data下分为Top,Tab和Bottom三项。
分别对应于下图标记的三个框。因此可以通过修改该数据来去掉一些功能。
- 首先将第三步接口的数据保存到本地,并删除不想要的功能,比如想要将Top的游戏和消息入口给删除掉,另外想把Bottom的会员购给去掉,则直接删除Top下的游戏中心的内容和bottom下会员购的内容。比如下面这个就可以删除。
[md]
- 删除并保存完毕后,在charles中右键app.bilibili.com/x/resource/show/tab 这个接口,选择Map Local,在弹出窗口中将Map To选择刚才保存的文件即可。
- 重新打开app可以看到已经修改完毕,同理也可以修改我的界面,对应接口在app.bilibili.com/x/v2/account/mine 里面,大家可以根据自己的喜好进行自定义,例如就可以设置为以下界面。这个只需在文件中删除不想要的功能即可。
- 推荐中出现广告的接口app.bilibili.com/x/v2/feed/index,这个广告是包含在正常内容里面的,用正则表达式不太好去除,js的话容易点
- json文件稍后更新
对于使用loon的老铁门可以使用脚本文件,对应如下:
推荐中去广告.js
let obj = JSON.parse($response.body)
log.data.items.forEach((element,index)=> {
if (element.hasOwnProperty('ad_web_s') || element['card_type'] == 'cm_v2') {
log.data.items.splice(index, 1)
}
}
)
body=JSON.stringify(obj)
$done({body})
我的界面DIY.js
let obj = JSON.parse($response.body)
delete obj.data.vip_section
delete obj.data.vip_section_v2
for (i=1;i<obj.data.sections_v2.length;i++){
delete obj.data.sections_v2[i]
}
body=JSON.stringify(obj)
$done({body})
tab界面DIY.js:
var obj = JSON.parse($response.body)
delete obj.data.top[0]
delete obj.data.bottom[3]
body=JSON.stringify(obj)
$done({body})
最后
有需要其他教程的兄弟去提issues哦,顺便求github star一波。世上无难事,只要肯学习,一起加油啊
|