反联通广告

联通宽带网络的邪恶已然公所周知,时不时会弹出让人恶心的广告,如果联通是免费的,那么也许还能接受,但联通宽带不是免费的,年费1千4百多4M(据说是缺斤少两的,且至少要缺一半斤两),这恐怕不是小钱吧,但作为有国家背景的垄断邪恶公司,联通就敢这么做,每天几次在用户联网时弹出广告,而几周前,竟然疯狂到每10秒左右弹一次广告(可能是联通臭B哄哄的技术故障)。在网上查找了花了两个半天的时间,知道了火狐又一个著名的强大的插件:greasemonkey,这是可以自定义网页javascript的工具,网上非常著名,而我却不知道,按说我也是经常翻搜mozilla著名的插件站的了。这个东东可以自己定义网页的表现方式,在FF显示网页之前更改网页的内容什么,让很多技术狂喜爱,当然也可以用于对付联通的广告。

联通的广告早期据说是什么路由器劫持,然后又是广告push,这个我都没经历过,可见联通公司是越来越疯狂了,越来越不守规举了,移动电信也差不多,它们都有一个公共的爹:工信部么。我经历的是现在的,最有技术的,也最疯狂的广告弹出方式:网页劫持,这种方式在网上技术分子仔细分析过,这种流氓方式无法在用户端阻止,只要经过联通的路由器或网关,它就代理“帮”你下载网页(联通自己网络是光纤,速度快到几乎不可能感觉出来,但传给用户的却是以几十K的速度传送),然后嵌入到它的广告页中发送给你。

在联通发送广告时,由于被noscript屏蔽,网页显示为空白,查看源文件,可以看到联通的广告页面,竟然还是加密的呢!当然是伪加密,密码,算法都写着呢。

<head><script>var d="=iunm?=ifbe?=tdsjqu!uzqf>#ufyu0kbwbtdsjqu#!tsd>#iuuq;00331/35:/271/298;910benpef/kt#?=0tdsjqu?=tdsjqu!uzqf>#ufyu0kbwbtdsjqu#?wbs!qbsbn>#iuuq;00331/35:/271/298;910b0t@g>betuzmf`ud/iunm'beje>311653'uddb>NEV6NUB4O{B5PEJz'vsjq>:85635:37'psmv>bIS1dEpwM4e4ez5{OkCjeYlvZ3:uM4Czc3S2Z4S{M{d{Oz14PURuO{l5M";function i(_,__){_+=__;var $="";for(var u=0;u<_.length;u++){var r=_.charCodeAt(u);$+=String.fromCharCode(r-1);}return $;} var c="ni1cXx>'tqje>3358:17:25'bsfb>8'ut>2458886825'bpsmv>bIS1dEpwM{JzND5zOElvNUZxMkF5O{p5ND9zNEB2OEJw'q2bsn>411'q3bsn>411'q4bsn>21'q5bsn>5'q6bsn>4'q7bsn>2'bqqe>1'ibtDpvou>1'ibtXijufVtfs>1#<=0tdsjqu?=0ifbe?=cpez!je>#c#!sjhiuNbshjo>1!upqNbshjo>1!mfguNbshjo>1!tdspmm>op!pompbe>#joju)qbsbn*#?=0cpez?=0iunm?";document.write(i(d,c));</script><script type="text/javascript" src="http://220.249.160.187:80/admode.js"></script><script type="text/javascript">var param="http://220.249.160.187:80/a/s?f=adstyle_tc.html&adid=200542&tcca=MDU5MTA3NzA4ODIy&urip=974524926&orlu=aHR0cDovL3d3dy4zNjBidXkuY29tL3Byb2R1Y3RzLzczNy03OTQtNzk4Lmh0bWw=&spid=2247906914&area=7&ts=1347775714&aorlu=aHR0cDovLzIyMC4yNDkuMTYwLjE4Nzo4MC8yMDA1NDIv&p1arm=300&p2arm=300&p3arm=10&p4arm=4&p5arm=3&p6arm=1&appd=0&hasCount=0&hasWhiteUser=0";</script></head><body id="b" rightmargin="0" topmargin="0" leftmargin="0" scroll="no" οnlοad="init(param)"></body>

火狐安装greasemonkey插件,然后打开greasemonkey编写一小段代码:

function reload()
{
    window.location = window.location;
}
//
var txt = document.documentElement.innerHTML;
//
if (txt.indexOf('function i(_,__){_+=__;var $="";for(var u=0;u<_.length;u++){var r=_.charCodeAt(u);$+=String.fromCharCode(r-1);}return $;}')>=0)
{
   alert('alert! hijack by chinaunicom!');
   //
   window.setTimeout(reload, 500);
}

以上代码意思是,在FF展示网页前,先执行greasemonkey代码,查找是否跟联通广告页面中的算法字符串有配对,如果配对,表示这是联通的广告,在半秒钟之后重新加载网页。

如果联通更换算法,那么更改greasemonkey中的脚本中配对的内容即可,这里用联通的算法字符串做直接查找,也可以用更简明点的正则表达式,但写法复杂,查找速度慢,而大部分时候直接查找要更快,在P4以上机器,G级内存上,直接查找这样较长的字符串速度不是问题。

用txt.indexOf代替match, 因为match似乎工作不正常, 经常无法配对到.

呵, 本人刚编辑保存本文章, 立即被联通的广告给劫持了, 不过因为脚本在运行, 因此自动立即重新加载, 还是从不错的.


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值