明輝站中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

怎么用技術(shù)手段“干掉”優(yōu)酷、騰訊視頻 App 里討厭的廣告?

騰訊視頻是騰訊旗下的視頻播放產(chǎn)品,定位于中國最大在線視頻媒體平臺,于2011年4月正式上線運營獨立域名的視頻網(wǎng)站, 支持豐富內(nèi)容的在線點播及電視臺直播,提供列表管理、視頻音量放大、色彩畫質(zhì)調(diào)整等強大的功能服務(wù)。

原標(biāo)題:如何用技術(shù)手段“干掉”優(yōu)酷、騰訊視頻 App 里討厭的廣告?

作者簡介:互扯程序,某互聯(lián)網(wǎng)公司 P8 級專家攻城獅,曾參與過央視全臺網(wǎng)的研發(fā)工作。目前正在做車聯(lián)網(wǎng)項目的云平臺的架構(gòu)設(shè)計與研發(fā)工作。平時喜歡打球游泳,偶爾發(fā)表一些技術(shù)文章,有個公眾號叫「互扯程序」。

寫在前面

本文主要目的是交流學(xué)習(xí) Charles 抓包工具的使用技巧,以及給大家分享一下分析問題的思路,歡迎大家評論轉(zhuǎn)發(fā),但不能以盈利為目的行為。廣告對于內(nèi)容提供商來說是重要的財務(wù)來源,請大家多多看廣告,這樣才能促使內(nèi)容提供商發(fā)布更多的內(nèi)容供大家欣賞。

這篇文檔是 Charles 抓包工具的高級用法,如何下載安裝以及怎樣配置,請看我上一篇關(guān)于 Charles 的介紹。

前幾天寫了 DNS 域名解析的文章,在寫的過程中讓我又加深了對域名解析的理解,然后又結(jié)合 Charles 抓包工具,所以突發(fā)奇想,能不能做點好玩的事情呢?那我們就繼續(xù)我們今天的主題吧!

如何使用抓包神器 Charles?

移動互聯(lián)網(wǎng)的發(fā)展,促使各大商家的廣告投放從傳統(tǒng)媒介轉(zhuǎn)移到了移動設(shè)備終端,所以我們在使用各種視頻 App 的時候,會有大量的廣告來緩解我們的“視覺疲勞”。哈哈,追劇的人趁著廣告休息休息自己的眼睛。那不想休息的人呢?

怎么把廣告去掉呢?那就要使用我們的抓包神器 Charles 了,我們把整個抓包過程和分析過程按照步驟一一寫出了,供大家學(xué)習(xí)交流。

第一步先去掉系統(tǒng)代理(系統(tǒng)代理默認是打開的),因為這樣減少數(shù)據(jù)量,方便我們觀察。

第二步配置 SSL 證書,因為很多視頻 App 發(fā)送的部分請求是 HTTPS 的。

第三步配置手機代理。

以上三步在上一篇的 Charles 教程里都有,不了解的同學(xué)先移步過去按照過程配置一下,支持 Windows 和 Mac,完成之后就可以一步步地跟著我下面的教程繼續(xù)了。

去除優(yōu)酷視頻 App 廣告

打開優(yōu)酷 App,這時候你會發(fā)現(xiàn)一堆的請求被我們截取到,這些基本沒用,全部清空。然后,隨便選擇一個視頻,點擊打開,我們又?jǐn)r截到了一堆的請求,這時候視頻里的廣告開始播放,OK,這些抓取到的數(shù)據(jù),其中就有廣告數(shù)據(jù)。那我們就專心關(guān)注這些數(shù)據(jù),一一打開觀察一下,后續(xù)再進來的請求基本沒用了,我們記錄下來最后位置。

觀察一下返回的 JSON 數(shù)據(jù),看看哪個比較像,有一些返回圖片的請求肯定不是了,可以配置排除抓取這些請求,不再抓這樣的包,減少我們要關(guān)注的請求量。

打開 Proxy -> Recoding Settings... 加入要排除的抓包請求,然后清空頁面,重新點開視頻,這時候我們排除請求就看不到了。

但是還是有一堆請求,該怎么辦呢?用一個簡單的原理(想要了解的話,可以看看我上一篇關(guān)于 DNS 的文章,不了解也不影響我們繼續(xù)下面的教程),把這些域名重定向到另外一個不存在的服務(wù)地址,右鍵 -> 選擇 Map Remote。

這里我們把它重定向到本機地址不存在的服務(wù)端口:

一個一個的修改嘗試,把所有域名都改一遍,修改一個,點擊一下手機視頻,看看是否播放正常。

當(dāng)你發(fā)現(xiàn)廣告不播了,提示錯誤,這說明你找到了那個關(guān)鍵的請求。

找到這個請求,去掉重定向,發(fā)現(xiàn)播放又正常了,OK,確認了我們要找的請求數(shù)據(jù)。

其實就是 https://ups.youku.com。

下面我們開始分析這個請求:

我們把返回的 JSON 數(shù)據(jù) Copy 出來放到 JSON 瀏覽工具里:

從這個 JSON 來看,ad 應(yīng)該就是廣告了,而 Stream 就是實際的視頻流了。我們點擊打開 ad 看到了一堆的連接地址。

隨便 Copy 一個放到瀏覽器里,就會播放廣告了。從分析來看,優(yōu)酷的廣告是分段的,每一小段的廣告組成了他將近兩分鐘的廣告內(nèi)容。

順便看看 Stream 的內(nèi)容,同樣是一堆的 URL 地址,隨便打開一個,這就是實際播放的視頻了,從分析來看,同樣也是一個片段一個片段組成的一個完整的視頻。

到這兒,大家是不是覺得有點意思啊。同時也會有一個疑問,怎么把廣告去掉呢?我們先不著急得到最終答案,先來看看另外一個新功能。我們把剛才的 JSON 數(shù)據(jù),保存到桌面,命名為"ups.JSON"備用。然后選中 https://ups.youku.com,右鍵選擇 Map Local,然后點擊 Choose 選擇剛才備份的那個文件,然后點擊 OK。

然后看看效果,剛才我選擇的連續(xù)劇里面的其中一集,現(xiàn)在不管選擇哪一集,播放的都是剛才那一集。是不是很神奇?聰明的朋友已經(jīng)想到這是為什么了。我們來講一下 Map Local 的作用是什么?

Map Remote 這個在上一遍文章里已經(jīng)講過,代理轉(zhuǎn)發(fā),或者叫請求重定向,把一個請求地址轉(zhuǎn)發(fā)到另外一個地址去處理,Remote 是遠程,意思把這個請求重定向到另外一個遠程的地址上。

而 Map Local,顧名思義,就是把請求重定向到本地。而本地的文件里模擬的就是請求的返回結(jié)果。所以說,他每次的請求都會被重定向到同一個地方,返回同樣的數(shù)據(jù),所以不管點擊任何一個節(jié)目,都會播放我們選擇的那條數(shù)據(jù)。

OK,那么我們該怎么處理廣告呢?我們已經(jīng)找到了廣告的那段數(shù)據(jù),我們嘗試修改廣告的請求地址,改到任意一個不存在的地址,這樣播放器就下載不到這個廣告,就無法進行播放了。

大家會不會認為既然廣告不能播了,那我們要看的電視劇還能正常播放嗎?這是一個很好的問題,試想一下,哪個 App 會因為網(wǎng)絡(luò)不通暢導(dǎo)致廣告沒播成,就不再繼續(xù)請求視頻數(shù)據(jù)了?這樣用戶將大量流失,他們肯定會做容錯處理的。

我們先來改改試試,打開剛才保存的 ups.JSON 文件,找到 ad,然后修改里面的地址,然后保存。

我們再重新點擊手機視頻,還是有廣告播放,這是因為之前播過廣告了,App 進行了緩存。我們需要操作一下 App,清除緩存。選擇 我的 -> 設(shè)置(右上角)

再次點擊視頻。發(fā)現(xiàn)一直在旋轉(zhuǎn)等待,等了半天,沒播廣告,播視頻了。旋轉(zhuǎn)等待的原因,是由于我們給了一個無效的廣告地址,他去請求,但是請求不到,一直等到超時返回,才繼續(xù)播放視頻。

到這,廣告沒了,大功告成了?沒有,這樣做也太 low 了。還不如看廣告呢......

前面講的都是分析過程,最后我們要放大招了。把之前所有的配置全都刪除掉,重新來,其實就一步搞定。那為什么要啰嗦半天呢?如果不啰嗦半天,我們學(xué)不到東西啊。過程永遠比結(jié)果更重要。

我們根據(jù)剛才的分析結(jié)果:“如果找不到廣告,App 會進行容錯,繼續(xù)播放視頻”,我們要動態(tài)改寫返回結(jié)果,把 ad 改成 ad1。那么 App 找不到 ad 屬性,將解析不到廣告內(nèi)容,便不會播放廣告,而是會繼續(xù)播放視頻,一點卡頓都沒有,因為不像是之前給了個假地址,需要等待超時時間。

Tool -> Rewrite...

OK,大功告成。去 App 里點擊試試看吧。

接下來我們再看,如何去除騰訊視頻的廣告,其實更簡單

打開騰訊視頻 App,這時候你會發(fā)現(xiàn)一堆的請求被我們截取到,這些基本沒用,全部清空,然后隨便選擇一個視頻,點擊打開,我們又?jǐn)r截到了一堆的請求,這時候視頻里的廣告開始播放,OK,這些抓取到的數(shù)據(jù),其中就有廣告數(shù)據(jù)。那我們就專心關(guān)注這些數(shù)據(jù),一一打開觀察一下,后續(xù)再進來的請求基本沒用了,我們記錄下來最后位置。

分析騰訊視頻的請求的方法和分析優(yōu)酷視頻的請求方法是一樣的,點擊每一個請求觀察一下。

只有 https://lives.l.qq.com 這一個請求有大量的 JSON 數(shù)據(jù),比較靠譜。

把 JSON Copy 出來放到 JSON 編輯器查看。并將 JSON 里每一個 URL Copy 到瀏覽器里打開看看,你會發(fā)現(xiàn)廣告可以在瀏覽器里直接播放。證明我們的判斷是正確的,這個請求就是獲取廣告的請求。

每一個連接都看一遍后,比較慶幸的是,發(fā)現(xiàn)只有廣告,并沒有正片內(nèi)容,它不像是優(yōu)酷截取的數(shù)據(jù)那樣,廣告和正片是放到一個 JSON 數(shù)據(jù)里進行返回的。對優(yōu)酷的廣告進行過濾的時候需要對 JSON 進行內(nèi)容的修改,因為不能影響正片的播放。

所以對騰訊視頻的廣告進行過濾非常簡單,只要把獲取廣告的這個請求 URL 屏蔽即可。怎么做呢?非常簡單。

還記得我們上一章講的 Map Remote 嗎?把 htts://lives.l.qq.com/livemsg 重定向到一個無效的地址即可,這樣 App 在獲取廣告數(shù)據(jù)的時候獲取不到,為了容錯直接跳過播放廣告,直接去獲取正片的數(shù)據(jù)進行播放了。

配置完成之后重新播放視頻就會發(fā)現(xiàn)它不再播放廣告了。歐耶??,騰訊視頻過濾廣告完成。

本文為作者投稿,歡迎更多朋友微信聯(lián)系:donyintxy 投稿,一起為程序員傳播更具價值的優(yōu)質(zhì)內(nèi)容。

作者原文:


騰訊視頻是中國領(lǐng)先的在線視頻平臺,擁有豐富的優(yōu)質(zhì)流行內(nèi)容和專業(yè)的媒體運營能力,是聚合熱播影視、綜藝娛樂、體育賽事、新聞資訊等為一體的綜合視頻內(nèi)容平臺,并通過PC、移動及客廳產(chǎn)品等多種形態(tài)為用戶提供高清流暢的視頻娛樂體驗,滿足用戶不同的體驗需求。



標(biāo)簽:廣告 技術(shù) 視頻 如何 

相關(guān)軟件

騰訊視頻最新官方版

騰訊視頻官方版 | 45.34MB

騰訊視頻官方版

騰訊視頻是騰訊旗下的視頻播放產(chǎn)品,定位于中國最大在線視頻媒體平臺,于2011年4月正式上線運營獨立域名的視頻網(wǎng)站,支持豐富內(nèi)容的在線點播及電視臺直播,提供列表管理..

愛奇藝視頻官方正式版

愛奇藝視頻官方正式版 | 35.10MB

愛奇藝視頻官方正式版

愛奇藝,原名奇藝,于2010年4月22日正式上線,2011年11月26日品牌升級,啟動“愛奇藝”品牌并推出全新標(biāo)志。愛奇藝創(chuàng)始人龔宇博士擔(dān)任CEO。...

暴風(fēng)影音最新版下載

暴風(fēng)影音最新版下載 | 50.3MB

暴風(fēng)影音最新版下載

暴風(fēng)影音播放的文件清晰,當(dāng)有文件不可播時,右上角的“播”起到了切換視頻解碼器和音頻解碼器的功能,會切換視頻的最佳三種解碼方式,同時,暴風(fēng)影音也是國人最喜愛的播放器之一...

QQ音樂官方正式版

QQ音樂官方正式版 | 24.2MB

QQ音樂官方正式版

QQ音樂是騰訊公司推出的網(wǎng)絡(luò)音樂平臺,是中國互聯(lián)網(wǎng)領(lǐng)域領(lǐng)先的正版數(shù)字音樂服務(wù)的領(lǐng)先平臺,有著個性明星主題:大咖裝,添星妝!...

酷狗音樂2018最新版下載

酷狗音樂2018下載 | 37MB

酷狗音樂2018最新版下載

酷狗是中國領(lǐng)先的數(shù)字音樂交互服務(wù)提供商,互聯(lián)網(wǎng)技術(shù)創(chuàng)新的領(lǐng)軍企業(yè),致力于為互聯(lián)網(wǎng)用戶和數(shù)字音樂產(chǎn)業(yè)發(fā)展提供最佳的解決方案...

酷我音樂官方版下載

酷我音樂下載 | 47.4MB

酷我音樂官方版下載

酷我音樂的界面簡潔大方,淺藍色與橙色相間,符合大多數(shù)用戶的審美喜好。打開酷我音樂,上部菜單欄包括“我的”、“推薦”、“曲庫”、“視頻”...