网站屏蔽广告
来源:互联网 发布:vb 源码 编辑:程序博客网 时间:2024/06/09 15:32
感谢:http://blog.csdn.net/v6543210/article/details/41149313
有一款针对视频网站的广告进行屏蔽的chrome插件做的比较好,其在360浏览器市场上排名非常靠前。
在使用过程中发现它在页面中插入了一段代码
- <div class="player" id="player" err="">
- <object type="application/x-shockwave-flash" data="http://opengg.guodafanli.com/swf/kafan/loader.swf" width="100%" height="100%" id="movie_player">
- <param name="allowFullScreen" value="true">
- <param name="allowscriptaccess" value="always"><param name="flashvars" value="VideoIDS=XODI3MzIyNzgw&ShowId=0&category=91&Cp=0&ev=2&Light=on&THX=off&unCookie=0&frame=0&pvid=1416053534395Fq3&uepflag=1&Tid=0&isAutoPlay=true&Version=/v1.0.1002&show_ce=0&winType=interior&Type=Folder&Fid=23073811&Pt=0&Ob=1&plchid=a&embedid=AjIwNjgzMDY5NQJ3d3cueW91a3UuY29tAi9pLw==&vext=bc%3D%26pid%3D1416053534395Fq3%26unCookie%3D0%26frame%3D0%26type%3D1%26fob%3D1%26fpo%3D0%26svt%3D0%26emb%3DAjIwNjgzMDY5NQJ3d3cueW91a3UuY29tAi9pLw%3D%3D%26dn%3D%E7%BD%91%E9%A1%B5%26hwc%3D1%26mtype%3Doth">
- <param name="movie" value="http://static.youku.com/v1.0.0483/v/swf/loader.swf">
- <div class="player_html5">
- <div class="picture" style="height:100%">
- <div style="line-height:460px;">
- <span style="font-size:18px">您还没有安装flash播放器,请点击
- <a href="http://www.adobe.com/go/getflash" target="_blank">这里</a>
- 安装
- </span>
- </div>
- </div>
- </div>
- </object>
- </div>
把优酷的播放器换成了自己的播放器。
- <a target=_blank href="http://opengg.guodafanli.com">http://opengg.guodafanli.com</a>
在页面打开过程中,还要访问下面的网址:
http://app2.522.com.cn
这个就更奇怪了,这个网站经查是注册在
还注册了以下的网站:
- GET http://app2.522.com.cn/playlist2.php/v.youku.com/player/getPlayList/VideoIDS/XODI3MzIyNzgw/timezone/+08/version/5/source/video/Type/Folder/Fid/23073811/Pt/0/Ob/1?ctype=10&password=&n=3&ran=1731&ev=1 HTTP/1.1
- Host: app2.522.com.cn
- Connection: keep-alive
- User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
- Accept: */*
- Referer: http://opengg.guodafanli.com/swf/kafan/loader.swf
- Accept-Encoding: gzip,deflate,sdch
- Accept-Language: zh-CN,zh;q=0.8
以上请求返回的是以下数据,看起来是优酷的视频分段信息。
- HTTP/1.1 200 OK
- Content-Type: text/html
- Server: Microsoft-IIS/6.0
- X-Powered-By: PHP/5.2.9-2
- Date: Sat, 15 Nov 2014 12:11:58 GMT
- Connection: close
- {"folder":{"total":6,"size":10,"page":1,"folderId":23073811,"ownerId":36758550,"totalPage":1},"data":[{"ct":"a","cs":"2143","logo":"http:\/\/g2.ykimg.com\/1100641F4654672BB118D00230E41601BF6739-DED1-4859-9A8E-43D3A7370507","seed":7803,"tags":["彭丽媛","g20"],"categories":"91","videoid":"206830695","vidEncoded":"XODI3MzIyNzgw","list":[{"seq":0,"vid":"206830695","vidEncoded":"XODI3MzIyNzgw","title":"彭丽媛与袋鼠亲密接触 弯腰喂食","vv":0},{"seq":1,"vid":"206798483","vidEncoded":"XODI3MTkzOTMy","title":"二十国集团领导人第九次峰会举行 各国元首夫人与考拉亲密接触","vv":0},{"seq":2,"vid":"206787322","vidEncoded":"XODI3MTQ5Mjg4","title":"习近平抵达布里斯班出席二十国剧团领导人峰会并对澳进行国事访问","vv":0},{"seq":3,"vid":"206725893","vidEncoded":"XODI2OTAzNTcy","title":"直播港澳台20141114 中国借G20加强参与全球治理","vv":0},{"seq":4,"vid":"206728238","vidEncoded":"XODI2OTEyOTUy","title":"曝澳方外交秘密武器:或邀请彭丽媛抱考拉","vv":0},{"seq":5,"vid":"206765977","vidEncoded":"XODI3MDYzOTA4","title":"澳大利亚:G20峰会举行 聚焦经济议题[东方午新闻]","vv":0}],"list_pre":{},"list_next":{"seq":1,"vid":"206798483","vidEncoded":"XODI3MTkzOTMy","title":"二十国集团领导人第九次峰会举行 各国元首夫人与考拉亲密接触","vv":0},"username":"新视点","userid":"36758550","title":"彭丽媛与袋鼠亲密接触 弯腰喂食","up":0,"down":0,"ts":"At6kQzJXdTc1DkNnAXuS7jA","tsup":"At6jyTFXdTc1DkNnAvGV7jA","key1":"b344a731","key2":"79d120380f053107","tt":"1","ip":712601273,"ep":"dvtCHZeoyLOU\/6BS2AwdkRWKSBEwUaxNatZXLlyozhg=","videoSource":"1","seconds":"15.00","streamfileids":{"flv":"6*17*6*6*6*13*6*5*6*6*9*43*32*26*13*19*24*37*32*5*2*43*6*13*17*6*36*43*5*32*17*19*2*41*24*5*2*6*33*62*66*36*17*33*62*32*41*13*33*26*26*24*9*33*36*37*17*13*37*26*5*37*24*9*62*6*","mp4":"6*17*6*6*6*37*6*5*6*6*9*43*32*26*13*66*9*26*32*5*2*43*6*13*17*6*36*43*5*32*17*19*2*41*24*5*2*6*33*62*66*36*17*33*62*32*41*13*33*26*26*24*9*33*36*37*17*13*37*26*5*37*24*9*62*6*","hd2":"6*17*6*6*6*5*6*5*6*6*9*43*32*26*13*66*41*36*32*5*2*43*6*13*17*6*36*43*5*32*17*19*2*41*24*5*2*6*33*62*66*36*17*33*62*32*41*13*33*26*26*24*9*33*36*37*17*13*37*26*5*37*24*9*62*6*"},"segs":{"flv":[{"no":0,"size":"537222","seconds":15,"k":"a61c7d07afc3df85282a039d","k2":"1beadcb47208021f6"}],"mp4":[{"no":0,"size":"1032773","seconds":15,"k":"740695dcee2e264e282a039d","k2":"1a99c4637b2a61d65"}],"hd2":[{"no":0,"size":"2262763","seconds":15,"k":"02554e5406a46fb8261e0294","k2":"193ff830c2a5496ec"}]},"streamsizes":{"flv":"537222","mp4":"1032773","hd2":"2262763"},"stream_ids":{"flv":"250696624","mp4":"250697769","hd2":"250698513"},"streamlogos":{"flv":1,"mp4":1,"hd2":1},"streamtypes":["flv","mp4","hd2"],"streamtypes_o":["hd2","flvhd","mp4"]}],"user":{"id":0},"verify_user":{"uid":36758550,"nick_name":"新视点","verified":1,"verified_reason":"优酷网资讯频道官方空间","avatar":{"big":"http:\/\/g3.ykimg.com\/0130391F484AC5AEFE957A0230E416EE12E097-3338-E822-1BB2-2D5CABC2F73B","middle":"http:\/\/g3.ykimg.com\/0130391F484AC5AEFEDE9B0230E4169483C6A0-49D0-6CF7-9F58-5F615A14F12E","small":"http:\/\/g3.ykimg.com\/0130391F484AC5AEFEDE9B0230E4169483C6A0-49D0-6CF7-9F58-5F615A14F12E","large":"http:\/\/g3.ykimg.com\/0130391F484AC5AEFE957A0230E416EE12E097-3338-E822-1BB2-2D5CABC2F73B"},"verified_icon":1,"video_note":0,"reward":0,"backstage_brand":1,"user_brand":1,"followers_count":35634,"user_center":"http:\/\/i.youku.com\/u\/UMTQ3MDM0MjAw","home_url":"http:\/\/i.youku.com\/u\/UMTQ3MDM0MjAw","show_brand":1,"subscription":0},"controller":{"search_count":true,"mp4_restrict":1,"stream_mode":1,"video_capture":true,"hd3_enabled":false,"area_code":330100,"dma_code":37963,"continuous":0,"playmode":"folder","circle":false,"tsflag":true,"other_disable":false,"xplayer_disable":false,"app_disable":false,"share_disabled":false,"download_disabled":false,"pc_disabled":false,"pad_disabled":false,"mobile_disabled":false,"tv_disabled":false,"comment_disabled":false}}
在该插件第一次运行时,会从网上下载一些脚本,
http://sub.adtchrome.com/html5player.txt
http://sub.adtchrome.com/videoadjs.txt
都是经过base64加密的。
很容易解密。
主要的脚本如下:
- [ADT 3]
- ! Checksum: vXO2skD37egAcrKzRVhe1A
- ! Version: 20141102
- ! Title: 过滤增强脚本
- ! Homepage: http://www.adtchrome.com/extension/adt-videolist.html
- ! Match: http
- ! Begin: --
- if(!document.URL.match(new RegExp('(v|music)\\.baidu\\.com'))){
- (function() {
- Function.prototype.bind = function() {
- var fn = this, args = Array.prototype.slice.call(arguments), obj = args.shift();
- return function() {
- return fn.apply(obj, args.concat(Array.prototype.slice.call(arguments)));
- };
- };
- function A() {}
- A.prototype = {
- rules: {
- 'youku_loader': {
- 'find': /^http:\/\/static\.youku\.com\/.*(loader|player_.*)(_taobao)?\.swf/,
- 'replace': 'http://swf.adtchrome.com/loader.swf'
- },
- 'youku_out': {
- 'find': /^http:\/\/player\.youku\.com\/player\.php\/.*sid\/(.*)/,
- 'replace': 'http://swf.adtchrome.com/loader.swf?VideoIDS=$1'
- },
- 'pps_pps': {
- 'find': /^http:\/\/www\.iqiyi\.com\/player\/cupid\/common\/pps_flvplay_s\.swf/,
- 'replace': 'http://swf.adtchrome.com/pps_20140420.swf'
- },
- 'iqiyi_1': {
- 'find': /^http:\/\/www\.iqiyi\.com\/player\/cupid\/common\/.+\.swf$/,
- 'replace': 'http://swf.adtchrome.com/iqiyi_20140624.swf'
- },
- 'iqiyi_2': {
- 'find': /^http:\/\/www\.iqiyi\.com\/common\/flashplayer\/\d+\/.+\.swf$/,
- 'replace': 'http://swf.adtchrome.com/iqiyi_20140624.swf'
- },
- 'iqiyi_duba': {
- 'find': /^http:\/\/dispatcher\.video\.qiyi\.com\/disp\/shareplayer\.swf/,
- 'replace': 'http://swf.adtchrome.com/iqiyi_20140624.swf'
- },
- 'ku6': {
- 'find': /^http:\/\/player\.ku6cdn\.com\/default\/.*\/\d+\/(v|player|loader)\.swf/,
- 'replace': 'http://swf.adtchrome.com/ku6_20140420.swf'
- },
- 'ku6_topic': {
- 'find': /^http:\/\/player\.ku6\.com\/inside\/(.*)\/v\.swf/,
- 'replace': 'http://swf.adtchrome.com/ku6_20140420.swf?vid=$1'
- },
- 'sohu': {
- 'find': /^http:\/\/tv\.sohu\.com\/upload\/swf(\/p2p)?\/\d+\/Main\.swf/,
- 'replace': 'http://swf.adtchrome.com/sohu_20140917.swf'
- },
- 'sohu_share': {
- 'find': /^http:\/\/share\.vrs\.sohu\.com\/my\/v\.swf&/,
- 'replace': 'http://swf.adtchrome.com/sohu_20140917.swf?'
- },
- 'sohu_sogou' : {
- 'find': /^http:\/\/share\.vrs\.sohu\.com\/(\d+)\/v\.swf/,
- 'replace': 'http://swf.adtchrome.com/sohu_20140917.swf?vid=$1'
- },
- /*'letv': {
- 'find': /^http:\/\/player\.letvcdn\.com\/p\/.*\/newplayer\/LetvPlayer\.swf/,
- 'replace': 'http://swf.adtchrome.com/letv_20140716.swf'
- },
- 'letv_topic': {
- 'find': /^http:\/\/player\.hz\.letv\.com\/hzplayer\.swf\/v_list=zhuanti/,
- 'replace': 'http://swf.adtchrome.com/letv_20140716_topic.swf'
- },*/
- 'letv_duowan': {
- 'find': /^http:\/\/assets\.dwstatic\.com\/video\/vpp\.swf/,
- 'replace': 'http://swf.adtchrome.com/letv_duowan_20140811.swf'
- }
- },
- _done: null,
- get done() {
- if(!this._done) {
- this._done = new Array();
- }
- return this._done;
- },
- addAnimations: function() {
- var style = document.createElement('style');
- style.type = 'text/css';
- style.innerHTML = 'object,embed{\
- -webkit-animation-duration:.001s;-webkit-animation-name:playerInserted;\
- -ms-animation-duration:.001s;-ms-animation-name:playerInserted;\
- -o-animation-duration:.001s;-o-animation-name:playerInserted;\
- animation-duration:.001s;animation-name:playerInserted;}\
- @-webkit-keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}\
- @-ms-keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}\
- @-o-keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}\
- @keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}';
- document.getElementsByTagName('head')[0].appendChild(style);
- },
- animationsHandler: function(e) {
- if(e.animationName === 'playerInserted') {
- this.replace(e.target);
- }
- },
- replace: function(elem) {
- if(this.done.indexOf(elem) != -1) return;
- this.done.push(elem);
- var player = elem.data || elem.src;
- if(!player) return;
- var i, find, replace = false;
- for(i in this.rules) {
- find = this.rules[i]['find'];
- if(find.test(player)) {
- replace = this.rules[i]['replace'];
- if('function' === typeof this.rules[i]['preHandle']) {
- this.rules[i]['preHandle'].bind(this, elem, find, replace, player)();
- }else{
- this.reallyReplace.bind(this, elem, find, replace)();
- }
- break;
- }
- }
- },
- reallyReplace: function(elem, find, replace) {
- elem.data && (elem.data = elem.data.replace(find, replace)) || elem.src && ((elem.src = elem.src.replace(find, replace)) && (elem.style.display = 'block'));
- var b = elem.querySelector("param[name='movie']");
- this.reloadPlugin(elem);
- },
- reloadPlugin: function(elem) {
- var nextSibling = elem.nextSibling;
- var parentNode = elem.parentNode;
- parentNode.removeChild(elem);
- var newElem = elem.cloneNode(true);
- this.done.push(newElem);
- if(nextSibling) {
- parentNode.insertBefore(newElem, nextSibling);
- } else {
- parentNode.appendChild(newElem);
- }
- },
- init: function() {
- var handler = this.animationsHandler.bind(this);
- document.body.addEventListener('webkitAnimationStart', handler, false);
- document.body.addEventListener('msAnimationStart', handler, false);
- document.body.addEventListener('oAnimationStart', handler, false);
- document.body.addEventListener('animationstart', handler, false);
- this.addAnimations();
- }
- };
- new A().init();
- })();
- }
- // 20140730
- (function cnbeta() {
- if (document.URL.indexOf('cnbeta.com') >= 0) {
- var elms = document.body.querySelectorAll("p>embed");
- Array.prototype.forEach.call(elms, function(elm) {
- elm.style.marginLeft = "0px";
- });
- }
- })();
- // 20140730
- (function kill_baidu() {
- if (document.URL.indexOf('baidu.com') >= 0) {
- var elms = document.body.querySelectorAll("#content_left>div[style='display:block !important'], #content_left>table[style='display:table !important']");
- Array.prototype.forEach.call(elms, function(elm) {
- elm.removeAttribute("style");
- });
- }
- window.setTimeout(kill_baidu, 400);
- })();
- // 20140928
- (function v_baidu() {
- if (document.URL.match(/http:\/\/baidu.*fr=/)) {
- var child = document.body.querySelector('div.bd>script');
- child.parentNode.removeChild(child);
- advTimer.last = 1;
- advTimer.cur = 1;
- advTimer.onbeforestop();
- }
- })();
- // 20140922
- (function kill_360() {
- if (document.URL.indexOf('so.com') >= 0) {
- document.getElementById("e_idea_pp").style.display = none;
- }
- })();
0 0
- 屏蔽视频网站广告
- 屏蔽一些广告网站
- 网站屏蔽广告
- 屏蔽视频网站广告方法
- 网站视频广告屏蔽专家
- firefox如何屏蔽网站广告
- 屏蔽网站广告插件:广告终结者
- 教你屏蔽QQ网站的广告
- 屏蔽视频网站广告的方法
- 视频广告屏蔽网站优化笔记
- 防止网站广告被360网盾屏蔽过滤的方法(应对屏蔽广告插件浏览器)
- 屏蔽优酷网等视频网站的15秒广告
- 彻底屏蔽各大视频网站的广告
- 屏蔽优酷,土豆等网站的广告
- 自己动手屏蔽优酷、土豆、PPS等网站视频广告
- 如何屏蔽网页弹窗和广告网站
- 某款视频网站广告屏蔽插件分析
- 使用hosts文件屏蔽广告, 访问一些网站
- tomcat配置context
- JS中exec,match,replace,test方法对比
- 统计学习方法1
- Android开发总结笔记 四大组件之Service(下) 1-2-6
- iOS开发中关于iOS9 HTTP的解决办法
- 网站屏蔽广告
- Linux开机自动挂载Windows分区的两种方法
- VS2010调试“正试图在 OS 加载程序锁内执行托管代码”和运行出现R6034问题解决
- hashmap和hashtable的介绍和区别
- SwiftWeather-Swift2实现的天气应用
- 量化研究员与数据科学家的自我修养——精选网络公开课(高性能计算、数据科学、金融数学)
- JSP提供了八个内部对象,而其中的五个内部对象对应于Servlet API中的七个对象
- php语言链接mysql数据库中文显示问题
- iOS自定义相机界面