秋式广告杀手:广告拦截原理与杀手组织

上一贴很火热:秋天新作品:秋式广告杀手,每年帮大伙多活7-8天!,大伙表示整套的意愿很强烈,当然对软件的原理兴趣更有倾向性。

 

本节介绍以下方面内容:

1:软件的广告拦截原理。

2:新版本V1.1的介绍。 

3:广告杀手组织介绍。

4:下节预告。


一:软件的广告拦截原理 

 

上一节,简单的介绍了一下原理,不过大伙还是多少有些迷惑,也有些人不看文章,猜一些有的没的,像优酷首页打开慢、QQ突然掉线,都和软件扯上关系了,所以,这里细细的讲一下拦截原理:

 

1:秋式广告杀手软件的组能及通讯:

软件客户端:负责和服务器及广告网站通讯。
服务器端:负责客户端通讯(不与第三方广告网站通讯)。

 

2:软件运行及拦截流程及原理

 

你从秋式广告杀手官网下载完软件,并解压后正常开启运行:

1:软件会监听81端口(因为80端口被占用是不能监听处理的)

2:软件会提示并写入Hosts文件,大体内容如下:

66.85.175.210 www.baidu.com -- 指向服务器IP
127.0.0.1 www.b.com --映射域名

 

关于Hosts设置到服务器不能设置为127.0.0.1的原因及原理:

如果设置在本机,那么你就得强占用户的IIS,创建默认网站,来实现拦截;

如果网站已存在,你还得修改相关参数,总不能直接就删除站点再创建吧;

如果用户没装IIS,还得安装(考虑到不同系统,这样的想法明显是不可取的);

所以设置回本机,光这条就取消了,当然还有其它很多理由不应该装在本机。

 

Hosts必须指向服务器,也有重重问题需要分析与思考:

用服务器负责所有的请求转发(实现拦截功能)?

有以下几个原因会取消这种想法:

1:服务器压力重,还没钱买好的服务器。

2:如果由服务器转发,那么只要服务器被屏蔽方屏蔽访问,那么也就失效了。

所以,请求转发,必须回到客户端,所以客户端必须内置代理服务器。

关于代理服务器的实现,具体可以看我文章Http代理工具实现的开源文章。 

 

服务器只负责端口跳转,光是端口跳转,还会有问题,思考与对策划需要继续:

1:单纯端口跳转(到客户端后,还是解析到服务器,这不来来回回死循环了)

这在开发时是没想到的(因为开发时,服务器和监听都是在本机,所以跳转端口后就转代理服务器去了),以为成功了,上传到服务器才发觉悲剧的一点。

2:81端口的监听,只能处理解析到127.0.0.1本机的请求,所以我想出了个域名映射,所以你看到hosts是双对成型的。

跳转到映射域名后,映射域名是指向127.0.0.1的,加上端口是81,就会进入内置的代理服务器,实现中转请求了。

 

实现拦截原理,就是这么个过程了,至于如何屏蔽,暂时保下密,免的提前被发现反破解了!


二:秋式广告杀手V1.1版本介绍

 

虽然离上个版本只过了4天,但这个版本改进了不少功能:

 

1:服务器是否连通的检测机制改变:

原来是软件启动时,采用System.Net.NetworkInformation.Ping 来测试服务器是否连通。

上面原理说了,需要服务器进行跳转,所以必须保证用户能连上服务器才能正常使用。

通常用cmd执行ping时,是连发4条,而用Ping类时,只发送了一次,导致首次超时,未被识别为成功,因此软件没处于开启状态,导致一些未知的人为问题。

为此,本次还是回改服务器网站情况,通过请求服务器网站,返回“ok”标识来确认连通。 

 

2:软件更注重细节:

1:首次使用时,默认显示界面,而不缩小,并提示用户可能发生的行为。

2:避免用户从解压文件里直接运行。

3:增加配置文件变更时,浏览器未生效时需要重启浏览器的提示。

4:取消百度的硬性选择问题,允许取消。

 

3:增加update.exe升级程序:

V1.0并未有升级功能,而这个版本,新增加了升级程序用于升级功能。

为了这个升级程序,体积小,不产生额外的dll,我费时超过8小时,硬是从200K大小的ICSharpCode.SharpZipLib.Zip中,提取出单纯解压的代码,由于关联性太多,压到52K,尽力了,同时修正了语言时区错误解压中文乱码的问题。

这个update.exe程序,没混淆没加密,有兴起可以去反编绎一下。

 

4:增加以下视频的屏蔽:

乐视、56、PPS、腾讯视频、迅雷看看等。

如下图:

秋式广告杀手:广告拦截原理与杀手组织

考虑到视频网站太多,自己又精力有限,不可能维护所有的网站。

因此,我思考良久,如何更让更多的网友参与分享,所以有了以下界面:

 

5:增加更多分享规则:

在主界面视频栏里点“更多”,如来界面,如下图:

秋式广告杀手:广告拦截原理与杀手组织

你可以自定义添加规则,如果需要(勾选)分享,需要(为了避免乱发广告,需要申请一个Code,才能提交)

 

6:新版本下载地址:http://www.cyqdata.com/download/article-detail-54271


三:广告杀手组织

 

个人能维护的规则有限,需要大伙共同参与, 弄了个广告杀手组织QQ群:227664757,欢迎有心人加入组织,群只有上限100人,潜水者勿进,定时清理;

进群可获取分享Code,用户提交规则分享;

同时会私下交流切磋如何屏蔽广告及视频, 让规则更丰富些。

 

四:下节预告

 

 

由于拦截原理,本节已介绍完毕,下一节可能会介绍软件的实现细节方面内容。

 

 

 

附加的51cto博客大赛投票:( 2012年11月27日结束,天天都可以投)

 

感谢路过的朋友也顺手扔一票:http://blog.51cto.com/contest2012/2127378  

 

 


你可能感兴趣的:(秋式广告杀手:广告拦截原理与杀手组织)