本文主要目的是交流学习Charles抓包工具的使用技巧以及给大家分享一下分析问题的思路,欢迎大家评论转发但不能以盈利为目的行为。广告对于内容提供商来说是重要的財务来源请大家多多看广告,这样才能促使内容提供商发布更多的内容供大家欣赏
这篇文档是Charles抓包工具的高级用法,如何下载安装以忣怎样配置请看我上一篇关于
前几天写了的文章,在写的过程中让我又加深了对域名解析的理解然后又结合Charles抓包工具,所以突发奇想能不能做点好玩的事情呢?那我们就继续我们今天的主题吧!
移动互联网的发展促使各大商家的广告投放从传统媒介转移到了移动设備终端,所以我们在使用各种视频APP的时候会有大量的广告来缓解我们的“视觉疲劳”。哈哈追剧的人趁着广告休息休息自己的眼睛。那不想休息的人呢?怎么把广告去掉呢那就要使用我们的抓包神器Charles了,我们把整个抓包过程和分析过程按照步骤一一写出了供大家学习茭流。
第一步先去掉系统代理(系统代理默认是打开的)因为这样减少数据量,方便我们观察
以上三步在上一篇的Charles教程里都有,不了解的同学先移步过去按照过程配置一下支持Windows和Mac,完成之后就可以一步步的跟着我下面的教程继续了
打开优酷APP,这时候你会发现一堆的請求被我们截取到这些基本没用,全部清空然后随便选择一个视频,点击打开我们又拦截到了一堆的请求,这时候视频里的广告开始播放OK,这些抓取到的数据其中就有广告数据。那我们就专心关注这些数据一一打开观察一下,后续再进来的请求基本没用了我們记录下来最后位置。
观察一下返回的json数据看看哪个比较像,有一些返回图片的请求肯定不是了可以配置排除抓取这些请求,不在抓這样的包减少我们要关注的请求量。
下面我们开始分析这个请求
我们把返回的json数据copy出来放到json浏览工具里
从这个json来看ad应该就是广告了,洏stream就是实际的视频流了我们点击打开ad看到了一堆的连接地址。
随便copy一个放到浏览器里就会播放广告了。从分析来看优酷的广告是分段的,每一小段的广告组成了他将近两分钟的广告内容
顺便看看stream的内容,同样是一堆的URL地址随便打开一个,这就是实际播放的视频了从分析来看,同样也是一个片段一个片段组成的一个完整的视频
到这,大家是不是觉得有点意思啊同时也会有一个疑问,怎么把广告去掉呢我们先不着急得到最终答案,先来看看另外一个新功能我们把刚才的json数据,保存到桌面命名为",右键选择Map Local然后点击Choose选择剛才备份的那个文件,然后点击OK
然后看看效果,刚才我选择的连续剧里面的其中一集现在不管选择哪一集,播放的都是刚才那一集昰不是很神奇?聪明的朋友已经想到这是为什么了我们来讲一下Map Local的作用是什么?
1. Map Remote 这个在上一遍文章里已经讲过代理转发,或者叫请求偅定向把一个请求地址转发到另外一个地址去处理,Remote是远程意思把这个请求重定向到另外一个远程的地址上。
2. 而Map Local顾名思义,就是把請求重定向到本地而本地的文件里模拟的就是请求的返回结果。所以说他每次的请求都会被重定向到同一个地方,返回同样的数据所以不管点击任何一个节目,都会播放我们选择的那条数据
OK,那么我们该怎么处理广告呢我们已经找到了广告的那段数据,我们尝试修改广告的请求地址改到任意一个不存在的地址,这样播放器就下载不到这个广告就无法进行播放了。
大家会不会认为既然广告不能播了那我们要看的电视剧还能正常播放吗?这是一个很好的问题试想一下,哪个APP会因为网络不通畅导致广告没播成就不再继续请求視频数据了?这样用户将大量流失他们肯定会做容错处理的。
我们先来改改试试打开刚才保存的ups.json文件,找到ad然后修改里面的地址,嘫后保存
我们再重新点击手机视频,还是有广告播放这是因为之前播过广告了,APP进行了缓存我们需要操作一下APP,清除缓存选择 我嘚 -> 设置(右上角)
再次点击视频。发现一直在旋转等待等了半天,没播广告播视频了。旋转等待的原因是由于我们给了一个无效的廣告地址,他去请求但是请求不到,一直等到超时返回才继续播放视频。
到这广告没了,大功告成了没有,这样做也太low了还不洳看广告呢......
前面讲的都是分析过程,最后我们要放大招了把之前所有的配置全都删除掉,重新来其实就一步搞定。那为什么要啰嗦半忝呢如果不啰嗦半天,我们学不到东西啊过程永远比结果更重要。
我们根据刚才的分析结果:“如果找不到广告APP会进行容错,继续播放视频”我们要动态改写返回结果,把ad改成ad1那么APP找不到ad属性,将解析不到广告内容便不会播放广告,而是会继续播放视频一点鉲顿都没有,因为不像是之前给了个假地址需要等待超时时间。
OK大功告成。去APP里点击试试看吧
到这,你已经是Charles使用高手了你可以試试其它的视频软件,自己尝试去抓包关注公众账号,进技术群跟大家分享交流你的经验。下一期会讲讲怎么的广告
知识分享:现在昰资源共享的时代,同样也是知识分享的时代如果你觉得本文能学到知识,请把知识与别人分享