首页
社区
课程
招聘
[分享]在手机上基于投屏的方式下载保存视频
发表于: 2023-7-1 11:12 7303

[分享]在手机上基于投屏的方式下载保存视频

2023-7-1 11:12
7303

  前言:十年前?在互联网上下载视频和音乐非常方便,现在都在做APP,开放的下载也只是下载在APP内部,音乐和视频还是私有文件格式。只是想下载一些小姐姐的视频放在NAS上都费劲。之前下载过一些第三方的APP,可以下载音乐或者视频,活不过半年就凉了,还是自己动手方便。


  现在的APP可以投屏到电视或者汽车大屏幕上播放视频或者音乐,那么作为播放端,一定可以拿到视频流或者视频地址。简单了解一下投屏的方法,实时投屏手机屏幕的肯定是实时的数据流,投屏的电影电视等肯定是URL链接(iqiyi,youku,qq验证过)。再深入了解一下,多媒体投屏会基于一个统一的协议 DLNA(DIGITAL LIVING NETWORK ALLIANCE,数字生活网络联盟)。不清楚大厂实现DLNA协议的方式,不过小厂肯定是使用开源库了,其中CLING库是个Android上的DLNA实现 https://github.com/4thline/cling。


那么基于CLING开发一个APP用来接收其它APP投屏的视频?这玩意复杂又费劲,没空。那就找找有没有现成的DLNA APP,下面有请受害者:

这是一个Android侧的,接收投屏并播放的APP,使用了CLING库,没有深入研究,够我用就行。


首先是脱壳,大家各显神通吧,我这里是有自己的脱壳机,直接把dex文件从手机里面提取出来就行。


这个APP有混淆,不过没必要纠结APP的逻辑,直接搜cling库的函数名:setAVTransportURI


为什么搜索这个函数,大家可以网上搜搜CLING的使用方法,我是因为,我就是开发DLNA的。


这个是搜索结果,d.a.a.a.b.i.setAVTransportURI

图片

开始HOOK,frida可以直接HOOK,看到能拿到url就行,很简单。



为了方便使用,开始进行重打包。需要过360的加固,所以使用TweakMe 框架,https://github.com/liaoguobao/TweakMe


框架的用法,开源库里都有说明,我只介绍我做了什么


  • 首先需要hook APP的主界面,拿到context,

  • 接着在setAVTransportURI函数中获取视频的URL,

  • 并复制到粘贴板


hook主界面

获取视频URL


将视频URL复制到粘贴板


最终将URL复制到下载器或者浏览器可以下载视频了



浏览器可播放和保存



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 3
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
嗯…几年前,我的小度智能音箱可以dlan播放,就把它的实现xml文件下载下来,用nodered加xml文件模拟dlan播放器(或者说小度)(纯硬编码的,没有实现任何变量控制),然后其它设备投屏我就能获得url了…
2023-7-6 22:27
0
雪    币: 3525
活跃值: (31011)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2023-7-7 09:37
0
游客
登录 | 注册 方可回帖
返回
//