A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一、前言

不可否认某音真的有毒,不玩朋友圈远离微信也要亲近某音,因为里面的逗比视频和评论区让我上瘾,自古人才出评论区。但是最近某音的广告是在令人不爽,没刷几条就来一个广告,虽然某音的广告在业界应用中算是有良心的但是还是不想看。所以就要干掉广告,干掉广告还有一个不爽就是有时候发现逗比好玩的视频就要保存到本地,当然某音是支持下载到本地的,可惜某音为了宣传和版权问题就加上了水印,但是这些视频如果我想发布到朋友圈或者群里有水印显得很low逼,特别是想装逼的时候一下就爆漏了,所以干掉水印问题也是迫在眉睫,好了因为我爱某音,所以请原谅我要爆破你,因为爱所以恨!


二、过滤广告信息

那么本文的目的很明确也是需要解决当前很多现实问题,干掉烦人的广告和水印问题。接下来先来看看如何干掉烦人的广告问题,这个其实很好解决,因为之前已经分析了某音应用的流程了,不了解的同学可以看这篇文章:Android中破解某音视频的视频数据请求协议;我们可以通过Fiddler抓包看到返回的列表数据,那么广告其实肯定就在这个数据列表中,我们在抓包看看:


看到这个接口返回了列表数据,我们通过接口去Jadx中搜索:


这里他用了Retrofit框架作为网络访问,然后在全局搜索这个方法名:


这个方法中看到是解析json然后返回一个FeedItemList结构,然后全局搜索这个结构类:


看到他内部有一个变量应该是存储了每个视频数据包括广告信息:


查看了Aweme这个对象,他内部有两个方法来判断是广点通广告还是原生广告的,所以到这里我们就可以很简单的操作来过滤广告了,直接拦截返回的数据方法中,获取数据列表结构然后遍历整个列表,如果发现内部的视频数据是广告就过滤掉就好了,代码也很简单如下:


然后判断广告的方法也很简单直接用反射即可:


过滤掉广告数据之后在set回去列表数据即可,然后运行模块:


因为某音他后台的广告投放应该有一定策略,所以测试过程中一直没遇到广告数据,感兴趣的同学可以自己尝试一下吧。


三、去除保存视频水印

到这里我们就把广告给过滤掉了,接下来就来个正经一点的操作了,就是视频保存水印的问题,这个其实在之前我已经简单分析了,不过是分析有些问题,我们通过这一次会详细分析它的策略,其实通过上面的返回数据继续跟进:


这里有一个保存视频的数据,进去查看:


这里看到三个重要的数据,一个是下载地址,一个是标记是否有水印,一个是播放地址,因为我们关心的是下载所以就全局搜索这个下载地址的方法:


搜索结果:


这里看到通过判断水印标志来进行下载地址还是播放地址来进行下载,我们先把这个方法hook一下,然后打印出下载地址和播放地址看看视频信息:


这里我们用反射获取到视频的下载地址和播放地址,然后打印出来看看结果:


然后我们把下载地址和播放地址放到浏览器中访问看看:


看到播放地址的视频是没有水印的,这个也很正常因为播放视频不可能有水印,不然体验效果会很差


这个下载视频就有水印了,所以这里就可以看到了,某音他会下发视频的播放地址和下载地址,下载视频的时候用的是下载地址,而下载视频是有水印效果的,播放地址是没有水印的,那么下载如果想让下载视频没有水印最简单的办法就是偷龙转凤把下载地址换成播放地址就可以了,然后让下载也是用的播放地址肯定就是没有水印的了。


然后我们运行模块,然后下载一个视频看看效果:


看到了我们下载之后用本地播放器播放之后是没有水印的了。没有水印效果之后就可以装逼的放到朋友圈了,这样显示的逼格才会高。更重要的是某音上有一些人经常去获取别人的视频然后上传到自己的账号上或者重新上传都会看到自带水印,如果解决了水印问题我们就可以看到别人好玩的视频盗取过来自己上传要是运气好还能吸粉,虽然这么做是不道德的,但是还是想去做。那时候没有水印谁也不知道谁是正版的。这就很。。。。。。


3 个回复

倒序浏览
加油加油
回复 使用道具 举报
666666
回复 使用道具 举报
棒棒哒
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马