前言:十年前?在互联网上下载视频和音乐非常方便,现在都在做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主界面
获取视频URL
将视频URL复制到粘贴板
最终将URL复制到下载器或者浏览器可以下载视频了
浏览器可播放和保存
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课