[藍(lán)]關(guān)于Alexa工具條的解說與方法

2010-08-28 10:48:27來源:西部e網(wǎng)作者:

  Alexa工具欄使用Toolbar Bands和Browser Help Object技術(shù)嵌入IE瀏覽器。

  Alexa Toolbar可以獲得當(dāng)前瀏覽器的IWebBrowser2接口,通過這個(gè)接口就可以對(duì)瀏覽器為所欲為了。不過Alexa Toolbar的實(shí)現(xiàn)十分奇怪:它的界面和主程序是用HTML和javascript實(shí)現(xiàn)的,這就是大家經(jīng)常抱怨使用Alexa Toolbar后導(dǎo)致運(yùn)行變慢的原因。而且Alexa Toolbar中的javascript有許多冗余代碼,且有多處的資源泄漏,當(dāng)用一個(gè)IE窗口長時(shí)間瀏覽網(wǎng)頁時(shí)會(huì)消耗大量的系統(tǒng)資源,建議安裝Alexa Toolbar的IE用戶在一個(gè)窗口長時(shí)間運(yùn)行后,關(guān)閉再重新運(yùn)行。

  前面說的那些HTML和javascript代碼是以資源的形式存在于alxres.dll文件中的,Alexa Toolbar的界面其實(shí)就是一個(gè)IE窗口,只不過它屏蔽了右鍵,這個(gè)IE窗口通過"res://alxres.dll/..."來加載HTML頁面和腳本的。也許你會(huì)自作聰明用一些PE文件資源修改工具來修改alxres.dll,以實(shí)現(xiàn)修改alexa toobar的代碼。不過Alexa Toolbar的設(shè)計(jì)者早就想到這一點(diǎn),他們通過對(duì)AlxRes.dll進(jìn)行校驗(yàn)和計(jì)算來拒絕加載修改過的Alxres.dll(不過很奇怪,他們?yōu)槭裁床煌ㄟ^加殼的方式來防止修改呢?),這一功能由AlxTB1.dll導(dǎo)出的ChecksumResources函數(shù)實(shí)現(xiàn)的,AlxRes.dll在加載的過程中會(huì)調(diào)用這一函數(shù)對(duì)自己進(jìn)行校驗(yàn)。****方法很簡單(下面方法僅對(duì)7.0.1.52.1201版本有效,其他版本沒有測(cè)試):用16進(jìn)制編輯器,如:WinHex等,打開alxres.dll文件,將文件偏移 0x170f 處的2個(gè)字節(jié)改為 0x90 就行了。

  如果你想了解Alexa Toolbar的運(yùn)行流程,可以修改“res://AlxRes.dll/CHTML/index.html”的231行,將“var g_bDebug=false;”改成“var g_bDebug=true;”就可以了,F(xiàn)在IE加載完alexa toolbar后,會(huì)打開一個(gè)新的彈出窗口來輸出alexa toolbar的調(diào)試信息。

  現(xiàn)在你可以隨心所欲地修改alexa toolbar了,加入后門啦,寫入作弊代碼啦都可以,不過我還是對(duì)前者比較感興趣。

  新版本的 Alexa Toolbar ****方法

  國慶節(jié)后,Alexa Toolbar 更新了版本。

  以下是關(guān)于新版本7.0.1.52.1202的****方法:

  將 AlexaRes.dll 文件偏移 "0x17F6" 處開始的兩個(gè)字節(jié)"0x1175"改為"0x9090"

  你可以通過各種16進(jìn)制編輯器來修改,顯示的應(yīng)該是 "75 11",改為 "90 90"。

  修改Alexa Toolbar 造成的任何結(jié)果與我無關(guān)啊

    Alexa Toolbar 內(nèi)部揭密

  關(guān)于Alexa排名的作弊方法網(wǎng)上有介紹很多種,不過都是沒有用的,至少現(xiàn)在已經(jīng)沒有用了。

  10月6日后,Alexa排名規(guī)則有了重大的改變,而且一直在變,所以現(xiàn)在很多網(wǎng)站的排名都不穩(wěn)定(包括作弊的)。而我今天揭密的內(nèi)容用來作弊的話已經(jīng)顯得不夠了。

  Alexa Toolbar的大量代碼是用HTML和javascript來實(shí)現(xiàn)的,資源泄漏問題嚴(yán)重啊,真不知道它的設(shè)計(jì)者是怎么想的。Alexa Toolbar的程序?qū)崿F(xiàn)原理在我以前的文章中也多多少少提到過,所以今天就不講了。今天來講一講Alexa Toolbar發(fā)送的HTTP請(qǐng)求格式。

  下面是Alexa Toolbar發(fā)送的GET請(qǐng)求部分:

  GET /data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0&cdt=alx_vw%3D20%26wid%3D16865%26act%3D00000000000%26ss%3D1024x768%26bw%3D775%26t%3D0%26ttl%3D1125%26vis%3D1%26rq%3D2&url=http://20cn.net/~tabris17/ HTTP/1.1

  將URL部分解碼后得到:

  /data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0& cdt=alx_vw=20&wid=16865&act=00000000000&ss=1024x768& bw=775&t=0&ttl=1125&vis=1&rq=2&url=http://20cn.net/~tabris17/

  其中"ezdy01DOo100QI"是aid。

  "cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&"這部分是固定值。

  wid是個(gè)隨機(jī)數(shù)。

  act數(shù)據(jù)包含了Alexa Toobar功能的被使用情況。

  ss很明顯是屏幕分辨率了。

  bw是IE窗口的寬度。

  t取值是0或1,和當(dāng)前IE的window對(duì)象還有referrer有關(guān)。

  ttl是當(dāng)前頁面打開速度,和Site Stats中的Speed有關(guān)。

  vis表明IE是否顯示工具條。

  rq是對(duì)象計(jì)數(shù)器。

  大家可以看到,URL部分沒有什么奧妙之處,很容易偽造。以前要作弊的話只要大量偽造HTTP請(qǐng)求,不停發(fā)送就可以了,現(xiàn)在Alexa通過改進(jìn)排名算法,杜絕了這種作弊方法。

  奧妙之處在于Cookie部分,那里面保存了一些你的瀏覽隱私,所以Alexa把這部分?jǐn)?shù)據(jù)加密了,通過一種類似于PGP的加密方法,你可以在Alexa Toolbar的代碼中找到這個(gè)加密用的公鑰 "d9adyz93472kb63z521t6e80wqpi56znb16fya6im3dr3xwe" (好長啊,看起來很難****的樣子)。密鑰只有Alexa自己有啊,郁悶!

    Alexa作弊大解密

  1、Alexa是通過什么來計(jì)算流量的?

  其實(shí)在Alexa的網(wǎng)站上已經(jīng)說了很清楚了,Alexa通過安裝Alexa Toolbar的IE用戶的反饋信息來進(jìn)行統(tǒng)計(jì)的。并非有些人所說:Alexa會(huì)計(jì)算所有穿梭于Internet上的WEB流量,要做到這一點(diǎn)顯然是不可能的。

  2、Alexa Toolbar的工作原理是怎樣的?

  Alexa Toolbar是通過BHO技術(shù)和Toolbar Bands技術(shù)來監(jiān)視IE行為的,IE瀏覽器的地址欄的每一次變化都逃不過Alexa的法眼。不過處于安全性考慮,Alexa Toolbar不會(huì)統(tǒng)計(jì)用戶的HTTPS協(xié)議的流量。Alexa Toolbar其實(shí)就是向http://data.alexa.com發(fā)送HTTP請(qǐng)求來發(fā)出用戶瀏覽信息的,這個(gè)請(qǐng)求的格式我已經(jīng)****了。

  3、Alexa排名真的可以作弊嗎?

  絕對(duì)可以。但是現(xiàn)在你能在網(wǎng)上搜索到的作弊方法和作弊工具都是無效的。比如有一種方法說能通過MYIE這樣的瀏覽器來刷排名,顯然此文的作者并不懂Alexa Toolbar的工作原理,MYIE是不會(huì)加載Alexa Toolbar的。AlexaBooster也不行,因?yàn)樗鲆暳薬id的生成算法,以及cookie的作用。

  4、Alexa會(huì)識(shí)別作弊行為嗎?

  Alexa有一套算法來判斷收到的信息是否有偽造的嫌疑。

  5、Alexa會(huì)像google一樣對(duì)作弊行為進(jìn)行懲罰嗎?

  Alexa不像google,它的信息來源Alexa Toolbar的用戶,而非網(wǎng)站自身,這些數(shù)據(jù)的真實(shí)性是無法保證的。僅憑這些不可靠的數(shù)據(jù)而對(duì)一個(gè)網(wǎng)站進(jìn)行懲罰是不可能的,因?yàn)楹苡锌赡苡腥藧阂鈧卧炷硞(gè)站點(diǎn)的虛假信息來使Alexa懲罰該網(wǎng)站。但是Alexa會(huì)忽略有作弊嫌疑的IP發(fā)出的數(shù)據(jù)。

  6、網(wǎng)頁的自動(dòng)跳轉(zhuǎn)和自動(dòng)刷新能提高Alexa排名嗎?

  你可以在Alexa的網(wǎng)站上找到這么一句話:“Multiple page views of the same page made by the same user on the same day are counted only once.”。所以通過刷新頁面來提高訪問量是不可行的。而所謂的自動(dòng)跳轉(zhuǎn)就是:在用戶點(diǎn)擊一個(gè)連接后,先跳轉(zhuǎn)到一個(gè)假頁面,這個(gè)假頁面會(huì)在1秒或幾秒后跳轉(zhuǎn)到真正的目標(biāo)頁面。這種方法看似可行,但是必須考慮加載Alexa Toolbar所需的時(shí)間,太短的話Alexa Toolbar是不會(huì)發(fā)送信息的,改善的方法就是不要在新窗口中打開連接,這樣能避免新的IE窗口因加載Alexa Toolbar所耗費(fèi)的時(shí)間。

    Alexa是否真的針對(duì)作弊者而改變了排名規(guī)則?

  經(jīng)過10.1的7天漫漫長假,發(fā)現(xiàn):Alexa網(wǎng)站已經(jīng)從6號(hào)開始有所變動(dòng),很多人猜測(cè)這是不是為了針對(duì)作弊者而使Alexa改變了排名規(guī)則?

  我到Alexa網(wǎng)站上看了看,除了以前那個(gè)Traffic Rank的圖表界面有所變動(dòng)外,好像找不出其他的跡象了。

  很多人認(rèn)為近幾天,一些中國門戶網(wǎng)站的排名紛紛開始下降,表明Alexa的排名規(guī)則已經(jīng)變了。其實(shí)這只是10.1長假的關(guān)系。10.1其間,大家要么出門旅游,要么睡覺休息,上網(wǎng)的話也只是玩網(wǎng)游,哪還有人看網(wǎng)頁啊,如果這幾天有哪個(gè)國內(nèi)網(wǎng)站的排名不跌的話,那才是有作弊的嫌疑呢。

  我個(gè)人估計(jì)Alexa的排名規(guī)則和依據(jù)不會(huì)有大變動(dòng),因?yàn)锳lexa Toolbar不具備自動(dòng)升級(jí)的功能,所以Alexa排名的數(shù)據(jù)依據(jù)在很長的一段時(shí)間內(nèi)是不會(huì)改變的。能改變的只有排名的算法,頂多是改變了Reach和Page View對(duì)Rank影響的權(quán)重,或是對(duì)Reach和Page View出現(xiàn)異常的處理機(jī)制。

  Alexa工具欄竟然會(huì)自動(dòng)升級(jí)

  本來一直以為 Alexa Toolbar 沒有自動(dòng)升級(jí)功能的,今天突然發(fā)現(xiàn)被我修改過的 Alexa Toolbar 竟然恢復(fù)正常狀態(tài)了。我到系統(tǒng)目錄下一看,原來被我修改的過的AlxRes.dll的大小是340k變成了336k,而且系統(tǒng)目錄下多出了一個(gè)AlxRes.dll.bak的文件。我查看了一下Alexa Toolbar的版本信息,原來是“7.0.1.52.1201”,現(xiàn)在變成了“7.0.1.52.1202”。很明顯,Alexa自動(dòng)升級(jí)了。

  可以肯定,那個(gè)新的AlxRes.dll來源于Alexa網(wǎng)站。我粗略地分析了一下Alexa的升級(jí)過程:在注冊(cè)表的“HKEY_LOCAL_MACHINE\SOFTWARE\Alexa Internet”分支下存放了一個(gè)名為“l(fā)astupdate”,這個(gè)值存放了最后一個(gè)更新的日期。Alexa Toolbar 被加載時(shí)會(huì)檢查這個(gè)鍵值,當(dāng)改值的日期與當(dāng)前日期相差CHECK_UPDATE_INTERVAL這個(gè)值的時(shí)候,Alexa Toolbar便從遠(yuǎn)程啟動(dòng)。

  Alexa Toolbar在啟動(dòng)時(shí)首先加載"res://AlxTB1.dll/CHTML/BOOTSTRAP.HTML",這個(gè)頁面中的代碼會(huì)判斷是否需要更新Alexa Toolbar,如果不需要,則跳轉(zhuǎn)到"res://AlxRes.dll/CHTML/index.html",如果需要更新,則跳轉(zhuǎn)到http://client.alexa.com/holiday/script/index.html。這就是所謂的遠(yuǎn)程啟動(dòng)了。

  然后AlxTB1.dll會(huì)調(diào)用URLDownloadToFile函數(shù)來下載更新的程序文件。有一點(diǎn)要指出:Alexa Toolbar 只需要更新AlxRes.dll文件就可以了,因?yàn)锳lexa Toolbar的主要代碼都在這個(gè)文件里。

  最后還要告訴大家一個(gè)好消息:這次更新并沒有改變數(shù)據(jù)的收集方式,數(shù)據(jù)的格式還是和以前一樣的

關(guān)鍵詞:Alexa

贊助商鏈接: