秋式廣告殺手:廣告攔截原理與殺手組織


上一貼很火熱:秋天新作品:秋式廣告殺手,每年幫大伙多活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  

 

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM