• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            人生半路, 殺出個(gè)程序

            什么時(shí)候才能學(xué)會(huì)編程啊?

            視頻網(wǎng)站廣告屏蔽插件,支持升級(jí)后的優(yōu)酷防屏蔽(一)

            需求:優(yōu)酷最近搞了一個(gè)廣告防屏蔽,導(dǎo)致修改host的方法不能用了。我們需要一個(gè)新方法來(lái)繞過(guò)這個(gè)防屏蔽機(jī)制。

            基本思想:新版的優(yōu)酷flv player下載不到廣告會(huì)罷工30秒,既然不能屏蔽廣告,那我們就替換廣告文件,用一個(gè)假?gòu)V告文件讓flv player播放。

            實(shí)現(xiàn):
            首先抓一下包,或者用Fiddle2攔截請(qǐng)求,會(huì)發(fā)現(xiàn)優(yōu)酷的廣告是個(gè)flv文件,而土豆和新浪的廣告是f4v文件或者swf文件(不常用的就先不關(guān)心了)。我們找到廣告url的特點(diǎn),就可以實(shí)現(xiàn)替換。
            具體替換方式,有兩種選擇(驅(qū)動(dòng)之類(lèi)的bt方法我就不說(shuō)了):
            • 第一種是寫(xiě)一個(gè)偽代理服務(wù)注冊(cè)進(jìn)系統(tǒng),同時(shí)用PAC腳本根據(jù)url自動(dòng)切換代理,發(fā)現(xiàn)是廣告url就切換到我們寫(xiě)的偽代理,而偽代理的工作就是提供假?gòu)V告文件。
            • 第二種方式是利用瀏覽器插件攔截和替換請(qǐng)求。這個(gè)要針對(duì)不同瀏覽器開(kāi)發(fā),比如chrome擴(kuò)展是基于js的,其攔截請(qǐng)求的接口叫
              experimental.webRequest是個(gè)實(shí)驗(yàn)API,google不建議使用;同時(shí)chrome和firefox都支持NPAPI,而IE的插件機(jī)制是基于COM的。網(wǎng)上有個(gè)叫FireBreath的開(kāi)源項(xiàng)目,是一個(gè)跨瀏覽器和操作系統(tǒng)的瀏覽器插件框架,是個(gè)好東西,但是我之前還沒(méi)有用過(guò)。
            我們先針對(duì)以后總瀏覽器實(shí)驗(yàn)一下功能能不能實(shí)現(xiàn),筆者針對(duì)的是IE。
            IE的插件是個(gè)臭名昭著的東西,但是對(duì)開(kāi)發(fā)者而言還是比較方便的,因?yàn)樗容^“自由”,可以無(wú)所顧忌的使用C++干任何事兒。IE插件有三種:

            • 第一種是古老的ActiveX,這個(gè)大家肯定都很熟悉。PS:講個(gè)笑話,我之前公司做過(guò)一個(gè)項(xiàng)目,要求提供CS和BS客戶端。我們的CS客戶端是現(xiàn)成的,而B(niǎo)S客戶端就是CS客戶端封裝進(jìn)一個(gè)巨大的ActiveX放進(jìn)網(wǎng)頁(yè)里,而且CS客戶端是Qt4開(kāi)發(fā)的,你可以想象ActiveX有多大。。。

            • 第二種叫BHO(Browser Helper Object),同樣古老的技術(shù),很多流氓插件和惡心工具欄就是這個(gè)東西,但是google的chrome frame也是基于這個(gè)東西,可見(jiàn)技術(shù)如刀,區(qū)別在人。BHO可以讓你把dll嵌入IE進(jìn)程,攔截一些IE操作,比如前進(jìn)后退,但是太底層的不行,比如抓包肯定不行。
            • 第三種比較特殊,叫Asynchronous Pluggable Protocols,這個(gè)東西也很常用,它可以讓你攔截某個(gè)協(xié)議下的請(qǐng)求,比如http://,迅雷攔截thrunder://就是用的這個(gè)技術(shù)。Asynchronous Pluggable Protocols可以永久攔截,需要寫(xiě)注冊(cè)表,也可以進(jìn)程內(nèi)臨時(shí)攔截,調(diào)用一個(gè)API就可以,但是只針對(duì)本進(jìn)程有效。很多電子書(shū)軟件和使用WebBrowser控件制作華麗GUI的軟件使用這種臨時(shí)攔截。
            我用的方法就是寫(xiě)一個(gè)BHO嵌入IE進(jìn)程,攔截IE的Navigate事件,如果是感興趣的視頻網(wǎng)站就開(kāi)啟Asynchronous Pluggable Protocols攔截所有http請(qǐng)求,找到廣告文件的請(qǐng)求,用假?gòu)V告文件替換。假?gòu)V告文件是個(gè)很短的flv或者swf,這樣就繞過(guò)了防屏蔽機(jī)制。

            結(jié)果:
            目前只是實(shí)現(xiàn)了基本功能,可以攔截優(yōu)酷,土豆,新浪和奇藝的視頻廣告(其他的我不怎么用),并且暫時(shí)不針對(duì)外鏈的視頻。暫時(shí)只支持IE,下一步用FireBreath做一個(gè)通用版。

            截圖(假?gòu)V告時(shí)長(zhǎng)兩秒):


            存在的問(wèn)題:
            優(yōu)酷的播放器可以正常播放假?gòu)V告,但是土豆和新浪的都不可以,接受到文件之后他們會(huì)播放失敗,之后開(kāi)始正常播放視頻。我專(zhuān)門(mén)下載了他們自己的廣告文件作為假?gòu)V告,還是不行。可能他們使用了某種簽名機(jī)制,這個(gè)有待研究,好在他們沒(méi)有像優(yōu)酷一樣防屏蔽,我暫時(shí)直接攔截掉了他們的廣告,現(xiàn)在可以正常使用。

            下載:http://www.shnenglu.com/Files/legendlee/FlvAdBlock.zip

            posted on 2011-09-28 09:27 欲三更 閱讀(9425) 評(píng)論(8)  編輯 收藏 引用

            評(píng)論

            # re: 視頻網(wǎng)站廣告屏蔽插件,支持升級(jí)后的優(yōu)酷防屏蔽(一)[未登錄](méi) 2011-09-29 09:45 jans2002

            在CPP的博客上不發(fā)源碼不符合慣例啊  回復(fù)  更多評(píng)論   

            # re: 視頻網(wǎng)站廣告屏蔽插件,支持升級(jí)后的優(yōu)酷防屏蔽(一) 2011-09-29 13:18 欲三更

            @jans2002
            因?yàn)橹皇莻€(gè)雛形,很多功能還沒(méi)做呢,代碼稀爛稀爛的,我都不好意思拿出來(lái)。
            再說(shuō)我都把原理和實(shí)現(xiàn)說(shuō)的這么清楚了,相關(guān)文檔也有鏈接,應(yīng)該比提供代碼還容易懂吧?  回復(fù)  更多評(píng)論   

            # re: 視頻網(wǎng)站廣告屏蔽插件,支持升級(jí)后的優(yōu)酷防屏蔽(一) 2011-10-16 23:46 路過(guò)

            其實(shí)有更簡(jiǎn)單的辦法……
            如果是在xp下
            直接把C:\Documents and Settings\你的用戶名\Application Data\Macromedia\Flash Player\#SharedObjects\唯一一個(gè)文件夾\static.youku.com
            這個(gè)路徑的最后一個(gè)文件夾“static.youku.com”替換成同名文件  回復(fù)  更多評(píng)論   

            # re: 視頻網(wǎng)站廣告屏蔽插件,支持升級(jí)后的優(yōu)酷防屏蔽(一) 2011-10-17 23:10

            大神啊~~廣大chrome用戶就等著webrequest這個(gè)API轉(zhuǎn)正啦,轉(zhuǎn)正以后就能送優(yōu)酷anti-antiblock廣告上西天啦  回復(fù)  更多評(píng)論   

            # re: 視頻網(wǎng)站廣告屏蔽插件,支持升級(jí)后的優(yōu)酷防屏蔽(一) 2011-10-19 05:31 欲三更

            @哇
            但是我估計(jì)它轉(zhuǎn)正的可能性并不大. 這個(gè)東西能做的事情太多了.
              回復(fù)  更多評(píng)論   

            # re: 視頻網(wǎng)站廣告屏蔽插件,支持升級(jí)后的優(yōu)酷防屏蔽(一) 2011-10-19 05:38 欲三更

            @路過(guò)
            謝謝, 受教了. 若不是你的提醒我不會(huì)注意到flash的shareobject...雖然我現(xiàn)在還沒(méi)太弄明白你的方法的原理..  回復(fù)  更多評(píng)論   

            # re: 視頻網(wǎng)站廣告屏蔽插件,支持升級(jí)后的優(yōu)酷防屏蔽(一) 2012-07-31 13:10 ASN

            現(xiàn)在有辦法嗎,優(yōu)酷越來(lái)越高明了.  回復(fù)  更多評(píng)論   

            # re: 視頻網(wǎng)站廣告屏蔽插件,支持升級(jí)后的優(yōu)酷防屏蔽(一) 2015-08-17 16:23 user

            2015.08在IE11中實(shí)測(cè)無(wú)效  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆檔案(1)

            另一個(gè)我

            最新評(píng)論

            国产L精品国产亚洲区久久| 成人午夜精品无码区久久| 91精品婷婷国产综合久久| 欧美日韩精品久久久久| 中文字幕久久久久人妻| 国产日产久久高清欧美一区| 久久男人中文字幕资源站| 欧美噜噜久久久XXX| 老司机午夜网站国内精品久久久久久久久 | 思思久久精品在热线热| 2021久久国自产拍精品| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久国产精品无| 人妻无码αv中文字幕久久 | 国产激情久久久久久熟女老人 | 成人午夜精品无码区久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久天天躁夜夜躁狠狠躁2022| 国产精品久久波多野结衣| 伊人久久综合精品无码AV专区| 精品综合久久久久久88小说 | 精品视频久久久久| 996久久国产精品线观看| 久久精品aⅴ无码中文字字幕不卡 久久精品成人欧美大片 | 久久精品中文无码资源站| 久久免费香蕉视频| 久久成人18免费网站| 日本久久久精品中文字幕| 国产精品久久久久…| 久久99精品久久久久子伦| 一本一本久久aa综合精品| 久久综合亚洲鲁鲁五月天| 欧美一级久久久久久久大片| 国产激情久久久久影院老熟女免费 | 午夜精品久久久久久影视777| 久久一区二区三区免费| 久久久国产精品| 久久99这里只有精品国产| 久久久久久精品久久久久| 狠狠色丁香久久婷婷综合| 伊人久久大香线蕉综合影院首页|