停不下来!研究某音短视频无水印视频的下载

某音确实越来越火,晚上刷起来停不下来。比较可惜的是从上面下载到本地的视频带ID水印。前几天看四哥在编码美丽公众号分享的《Android逆向之旅–破解过滤掉某音段视频的广告和视频水印》(CSDN传送门点我转到)觉得很不错,可以过滤掉广告和视频水印,只可惜四哥最后没有开放最终APK。基于学习研究的目的,我研究了下,借助虚拟机在PC上不破解某音APK的情况下也是可以拿到无水印视频的。

抓包分析了下,某音的视频有两种,一种是播放时的视频无水印,另一种是保存到本地的视频这个是带水印的,还有一种是设置动态壁纸,这个也是没水印的,猜测动态壁纸下载的应该是播放时的无水印视频。所以,我们只要拿到播放时的无水印视频URL,然后下载下来就行了。

这其中最难解决的问题就是某音的数据交互协议使用的HTTPS,简单的代理抓包无法还原其原始内容,有两种方法来还原原始的内容。一 是Android直接安装Filddler的证书,百度有很多教程,某音支持这种方式。还有一种是有些应用带证书校验,单纯的中间人替换证书无法获取,所以首先需要利用XPosed框架从Android系统层面禁用掉HTTPS(可以看我前面写的XPosed抓取HTTPS那篇文章),然后利用Fiddler做代理,抓取视频URL,浏览器打开,Ctrl+S保存。实践了下两种方案都可行顺利导出视频。

如果想批量抓取直接手工上划刷新下列表,然后拿到列表JSON数据,用Java写个程序解析下JSON批量下载即可。

这里还要提一下,有些APP的资源URL请求头是带鉴权信息的,不能直接复制到浏览器或者下载工具然后保存,就只能写程序去下载了。好在头(防爬)条系的应用采用了相同的接口和加密手段,某山小视频就不分析了,原理一样。

更新:

测试了下快(防爬)手,也是可以批量下载的,流程和下载某音一样样的。

 

1 条思考于 “停不下来!研究某音短视频无水印视频的下载

发表评论

电子邮件地址不会被公开。 必填项已用*标注