一、视频广告播放原理
起首 我们相识 的一个根本 知识点 ,那就是广告着实 也是一段视频,那么他肯定有哀求 地点 和播放地点 。那么我们的思绪 就来了,假如 可以或许 得到这些地点 的话,我们就可以去除广告了 ,为什么呢?由于 我们知道全部 的网络哀求 终极 会走体系 的hosts文件,在这个文件中记录 了很多 ip地点 和域名的映射关系,体系 的每一次网络哀求 都会先去查找体系 的hosts文件 ,假如 发现哀求 的域名在这里有,就是用域名对应的ip地点 举行 访问了,以是 可以看到hosts文件着实 相称 于本地 的一个简单 的DNS功能文件。假如 我们有了视频广告哀求 地点 ,那么就可以修改hosts文件,将广告哀求 地点 的域名映射本钱 机地点 127.0.0.1,那么如许 就肯定会出现广告哀求 错误 ,本地 播放广告错误,就会直接跳过广告了。固然 具体 的方式有三种:
第一种方式:装备 root之后,修改装备 的hosts文件
缺点:装备 必要 root
长处 :一次修改 ,终身受用,一机在手,天下我有!
第二种方式:装备 无root,可以设置电脑作为署理 ,修改电脑的hosts文件
缺点:装备 播放视频必须依靠 于电脑署理 ,不方便
长处 :无需举行 装备 root
第三种方式:修改路由器过滤规则,添加地点 屏蔽规则
缺点:装备 播放视频必须依靠 于路由器的局域网内 ,不方便
长处 :无需举行 装备 root
但是这种方式可以受益多人利用 ,一样平常 这种方式用于家庭的局域网内,如许 一家人看视频都没有广告了。
二 、破解app获取广告域名
上面分析了技能 原理 ,那么下面就要来开始破解了,由于 看到上面的原理之后发现最关键的就是怎样 得到视频广告的地点 ?在我所知道的就这么几种方式:
第一种:利用 抓包工具举行 抓包
这种方式难度在于要分析每个地点 的哀求 信息
第二种:破解具体 视频app
这种方式本钱 过大,耗时好久
第三种:从市场中找一个可以过滤广告的app举行 破解
这种方式是最方便的 ,也是最靠谱的 。
下面咋们去市场搜一下视频广告过滤的app,结果 搜到了一个app名为:净网大家
下面在来分析一下,这个app的去除广告原理:
当有了视频广告的播放地点 ,方式还是 很多 的,一种是装备 root之后修改hosts文件大概 是拦截网络哀求 举行 过滤,一种黑白 root装备 采取 VPNService功能举行 网络哀求 拦截。
从他的界面看来他是用了第二种方式,而对于Android中VPN开辟 不熟的同砚 可以本身 去网上搜一些资料 ,就是注册一个VPNService,然后获取到体系 的VPN权限,然后装备 的网络哀求 都会通过这个Service ,只要在这个Service中做处理 惩罚 就可以了。(更多各种好玩的开辟 ,尽在群:595642365,验证码022)那么这个app中肯定有一个过滤库用来存放市面上全部 视频播放的广告地点 ,这也是我们破解的入口 。那么下面就来举行 破解操纵 了。
起首 还是 利用 apktool工具举行 反编译,荣幸 的是他没有做应用加固,反编译很顺遂 。不外 这里最好利用 一个jadx工具 ,他是一个可视化反编译工具,比力 方便,查察 他的AndroidManifest.xml文件 ,找到VPNService声明:
然后去查察 VPNRouterService类实现:
然后可以全局搜一下Builder这个名称,由于 构建VPN必须利用 到这个类:
这段代码就是开始构建VPNService了 。下面继承 深入跟进,终极 到了run方法中:
然后在看一下startTunnel方法:
好了,这是一个native方法 ,下面继承 来分析so文件了:
利用 IDA工具打开,查察 这个so文件内容:
发现这个方法中做了一些初始化工作,那么料想 视频广告地点 应该是生存 在一个加密的文件中 ,而且最有大概 是一个数据库文件,同时这个过滤地点 可以支持服务端更新,由于 如今 视频广告地点 发生了改变了 ,这个app也是必要 感知的。可以看到简直 有一个入口可以更新过滤规则:
通过上面的代码可以分析到过滤规则文件加密了,那么可以进入这个加密方法中看看,这里利用 IDA的F5功能键得到汇编对应的C代码:
这里就可以清楚 的看到了 ,在这个应用的沙盒中有一个txt文件,这个文件中生存 了数据库文件的路径:
然后我们把这个文件导出来,记得他为了掩人耳目 ,把db后缀名删了,我们必要 手动的加上后缀名:v_0.0.32.db文件,痛惜 的是打开文件之后发现报错:
由于 这个数据库文件是加密的,加密算法是AES:
看到这里 ,我们大概 想到了,必要 动态调试so得到这个加密的暗码 了,但是这里不这么干 ,由于 我很懒,动态调试感觉老费劲了,以是 就发现了一个捷径 ,我的思绪 是如许 的:
前面分析了这个app过滤广告的原理是借助于VPN举行 拦截哀求 ,那么拦截到哀求 得到指定域名肯定是去和过滤规则举行 比力 判定 的,由于 这些规则是放在数据库中的 ,以是 不大概 每次都是去查询数据库中的记录 举行 比力 ,如许 服从 会很低下的,以是 这里在想他为了进步 服从 ,应该做了一个缓存池用来存放掷中 的域名地点 。那么就好办了,假如 做了缓存池的话,域名地点 就是一些字符串值了,从另一方面在本地 他应该也有默认的一些字符串地点 ,防止更新过滤规则失败作为备用的,从这两方面可以知道应该本地 有一些广告域名字符串内容 。
在IDA中我们可以利用 Shift+F12查察 一个so文件中的字符串值:
我们可以看到这里有很多 字符串的值,可以往下查察 ,我们关注的内容是域名字符串,那么域名字符串的值有一个特点就是以.com末了 的,以是 我们可以这么干 ,把这些内容复制出来放到一个txt文件中:
然后写一个简单 的程序举行 过了即可,忘记了Python脚本了,只能靠着老本行的Java语言写了:
代码很简单 的 ,就是读取每一行内容,然后举行 字符串过滤,得到域名 ,由于 背面 我们得到这个域名之后也是要添加到hosts文件中,以是 就直接在这里构造一个ip地点 和域名的映射关系了。运行程序之后,天生 的文件内容如下:
感觉有点像是各家视频广告哀求 的域名地点 了。
三、修改hosts文件举行 验证
那么到这里我们就通过静态方式破解了净网大家 得到了市面上视频app播放广告的域名地点 了,下面就赶紧操纵 一下看看结果 ,这里为了方便,手上恰好 有一个root的手机,以是 直接把上面天生 的规则加到装备 的hosts文件中 ,Android中的hosts文件存放的目次 是在根目次 下的 /etc/hosts
然后咋们添加乐成 之后,就立马来体验一下,这里选择了爱奇艺和腾讯视频作为案例操纵 一下:
起首 来看一下爱奇艺的广告过滤结果 :
看到了 ,这里点了两个热门视频都是没有广告的,再来看一下腾讯视频:
看到啦,也是没有广告了 ,看来是乐成 了,尚有 其他视频app,感爱好 去的可以本身 去实行 了 。这里就不再演示了。
阐明 :
有的同砚 会好奇 ,既然这个app可以做到过滤广告,那还破解干嘛,直接用就可以了呀,着实 这么想就是对程序猿的欺侮 ,其次是这个app利用 了vpn功能,怎么说了,个人对这个功能和app并不怎么放心 ,感觉装备 的全部 网络哀求 都能被他拦截到是件多么可怕 的事,最紧张 的一点是,本文利用 了root装备 之后修改hosts文件实现的 ,假如 哪天想通过修改路由器中添加规则,电脑挂署理 方式操纵 那不就扯淡了,你都没有域名怎么办 ,以是 不管怎么样都得破解这个app得到终极 的域名,如许 才保险,后续本身 想怎么搞就怎么搞!更多各种好玩的开辟 ,尽在群:595642365,验证码022
四、知识总结和回顾
到这里我们就美满 的过滤了市面上全部 视频app的广告逻辑了,在整个过程中我们可以看到有大部分 的料想 ,有了料想 然后才去举行 实践逻辑的 ,以是 说在逆向范畴 偶然 间 必要 丰富的履历 ,偶然 间 也要敢大胆的料想 。下面来总结一下我们的操纵 流程:
第一步:相识 现阶段视频广告播放的原理
如今 移动端app的广告播放原理都是将广告短片和视频内容分开的,那么广告短片应该也是在线哀求 一个播放地点 ,假如 要是可以或许 得到这个播放地点 就可以完成剔除工作。
第二步:有了广告域名怎样 举行 广告过滤
这个必要 相识 体系 在哀求 网络的时间 的原理,着实 是先去找本机的hosts文件,看看哀求 的域名有没有对应的ip地点 ,假如 有就直接利用 ip地点 作为哀求 地点 了,那么这里的思绪 就是可以修改hosts文件来做到广告域名哀求 的拦截工作,也就是在hosts文件中添加广告哀求 域名的映射关系 ,把域名指向本地 ip地点 :127.0.0.1即可
第三步:怎样 获取视频广告的哀求 域名
着实 这里有多种方式:一种是举行 网络抓包,一种是通过破解视频app,一种是借助其他家app 。而本文中就是借助了第三方app叫做净网大家 来获取到的域名 ,这时间 就必要 举行 破解净网大家 app了,而这个就是本文的一个重点。在破解的过程中我们一部分 借助的是逆向履历 一部分 是借助的大胆料想 ,比如 料想 他域名肯定会在本地 有一个字符串池生存 ,这个是本次破解的关键步调 。
第四步:有了域名怎样 举行 过滤广告
这里由于 前面相识 了体系 哀求 的原理 ,那么就可以有三种方式:一种是修改装备 的hosts文件,条件 是装备 必要 举行 root;一种是通过挂署理 ,修改署理 呆板 的hosts文件;一种是修改路由器的过滤规则;这三种方式各有优缺点 。
严峻 声明:本文先容 的知识点美满 是 从一个技能 分享角度出发 ,绝非用于任何贸易 活动 和用途,假如 涉及到任何法律题目 将由操纵 者本人负责。本文作者将不负责任何法律责任!也请各位同砚 秉着技能 角度出发的原则,切勿用于贸易 中!
视频App怎样 规避这种操纵 :作为视频App广告是其生存之本 ,以是 对于这种操纵 的用户,由于 本身 也要做一些防护战略 ,可以本地 启动一个背景 服务 ,通过ping下令 来检测当前广告域名对应的ip地点 ,假如 发现不是本身 域名对应的ip地点 ,那么就不让其看视频内容 ,但是这种方式是不是可行尚有 待验证!
六、总结
本文重要 先容 的内容还是 破解相干 的知识点,而本文在破解的过程中用到了大量的料想 ,然后通过实践去证明 料想 ,偶然 间 多一些料想 也会让破解过程变得更加便捷 ,同时通过本文之后,小编以后看视频在也不消 看广告了。
关注微信公众号,最新技能 文章干货及时 推送
dongnaoedu