當前位置:首頁 » 編程軟體 » 流氓軟體編程

流氓軟體編程

發布時間: 2022-04-20 16:39:12

1. 什麼叫流氓軟體

流氓軟體是指具有一定的實用價值但具備電腦病毒和黑客軟體的部分特徵的軟體;它處在合法軟體和電腦病毒之間的灰色地帶,同樣極大地侵害著電腦用戶的權益。廣大網友一直深受其害,對之深惡痛絕。
不久前,北京網路行業協會發起了一次關於流氓軟體網路調查,大量網友踴躍參加。7月11日,了10款流氓軟體名單公布,具體名單如下:

對於以上流氓軟體,它們的最大共同特徵是強制安裝,相信網友們的電腦現在或者曾經都有被強行至少安裝過其中一種。除了共有的特*,這幾種流氓軟體還各有特點,下面我們一起來看看它們到底怎樣耍流氓的,提醒您平時多注意。

一、眾矢之地——3721

3721的上網助手、地址欄搜索及網路實名可謂是老牌的流氓軟體了,它存在的問題最多,也是網路上網友罵聲最多的,理所當然地名列榜首。

經常在網上沖浪興致正高時,電腦突然一陣慢如蝸牛,十有八九是因為要彈出3721的安裝對話框。他經常不知不覺的潛入電腦,添加用戶不需要的按鈕、IE工具條、在地址菜單項中添加非法內容,還修改注冊表設置開機自動啟動。

此外,它經常集成在其它小工具軟體的安裝程序中,特別是那些網上下載的漢化軟體、破解軟體。不經意間,它就被悄悄植入了你的電腦。

更令人深惡痛絕的是它還干擾其他軟體運行,並且無法徹底卸載。筆者在使用其「進行診斷」功能時,就要求卸載其他公司的軟體才可使用。

不可否認,3721的上網助手的確有不錯的功能,特別對於菜鳥非常實用,但是其不正確的推廣方式卻使得其效果適得其反,為千萬網友所指!

二、廣告漫天——淘寶網

雖然淘寶網不是軟體,但是它無處不在的廣告嚴重影響網友正常上網,因此還是被揪了出來,還名列第二,真是所謂群眾眼睛是雪亮的啊!雖然有錢燒,在一些網站安放了代碼,使得其廣告無孔不入,但是也得考慮網友的感受啊!別人上網上得好好的,卻突然彈出個巨大無比的廣告,嚴重影響到網友正常的瀏覽,當然會使網友心情不快啦!商家為***作廣告天經地義,但是也不能為所欲為,網友是顧客,多少也得給上帝面子吧?

三、不甘落後——ebay易趣

競爭對手淘寶網名列第二,有ebay撐腰的易趣當然也不甘示弱,緊隨其後名列第三!雖然排名在淘寶之後,但是其流氓行為卻絲毫不遜色於淘寶網。易趣的流氓行為和3721類似,它會強制安裝其「易趣工具欄」、劫持瀏覽器(自動在ie中添加按鈕、菜單或者工具條,如圖2),並且無法卸載。

四、與眾不同——Du下載加速器

之所以說其與眾不同,在於其一些流氓行為和常規的流氓軟體行為有些不同,並且相比以上幾款,筆者認為實在是有過之而無不及。

它通過虛假廣告誘導用戶安裝廣告程序,其所謂的「瀏覽(下載)速度加快5倍」,許多網友都反應並沒有多少效果。比虛假廣告更嚴重的是,它還強行更改IE的下載界面(如圖3)。筆者下載一些不大的軟體時都是使用IE直接下載,被Du下載加速器改成這樣嚴重影響筆者的使用習慣。

在傳播方式上,Du下載加速器還採用了特別的方式,通過在其他共享軟體上捆綁,未經用戶許可就暗地裡安裝。筆者認為Du下載加速器和接受捆綁並且未提醒用戶是否安裝的其他共享軟體的行為都是十分可恥的!

五、影響上網——中文上網

和3721一樣,中文上網也是經常在瀏覽網頁時彈出安裝對話框的常客。叫著「中國互聯網路信息中心」如此響亮的名稱,卻干著這種勾當實在有愧其名,不僅強制安裝,而且還無法徹底卸載。

很多網友都有這樣的軟體,被強制安裝中文上網後,輸入一級域名尚可以正常使用,但是輸入二級域名,例如:soft.yesky.com等,頁面就經常會轉到關鍵字通用網址自己的搜索結果頁上。

為推廣中文網址是好事,但是如果真是好東西,網友自然會選擇,又何必強求呢?CNNIC擔當了中國互聯網管理者的職能,卻隨意參與經營和創收,這和現在大力提倡的政企分開的現代企業制度似乎背道而馳啊!拿著管理權謀取利益的做法永遠是要被唾棄的!

六、名不經轉——青娛樂軟體

不知什麼時候,經常會在開始菜單中莫名其妙多了一項從未聽說的「青娛樂」。根據筆者觀察,其經常採用的是捆綁在其他共享軟體中,強行安裝,這樣的行為和Du下載加速器一樣,一樣可恥,而且對於筆者來說絲毫沒有用處!

七、居心叵測——很棒小秘書

對於這款軟體大家可能不太熟悉,它的流氓罪狀是強制安裝和無法徹底御載。很棒小秘書提供了搜索、使用郵箱、下載音樂、電影、交友、游戲等、實事新聞等內容;同時很棒小秘書吸引用戶參與行為互動,並根據用戶的上網行為和喜好發送企業的產品廣告,這一點其實是筆者最擔心的,它不僅是款不折不扣的流氓軟體,同時有間諜軟體的嫌疑,使用這款軟體似乎要注意一下隱私。

八、橫行霸道——網路超級搜霸

網路超級搜霸,強制安裝在用戶電腦上,它通常手法是捆綁在其他軟體中安裝,被列為十大流氓軟體一點也不委屈。

九、令人費解——一搜工具條

和網路一樣,一搜的問題也是強制安裝。作為國際網路巨頭,雅虎居然也搞這套,實在令人費解。還是奉勸雅虎先把這個一搜做得完善一些,再考慮其他事情吧!Google就是你學習的榜樣!

十、屈居第十——網路豬、劃詞搜索

中搜在線的網路豬、劃詞搜索居然只排在第十,這多少有些出乎筆者的意料。依其「實力」,要進前五都不是沒有道理的。大家對這樣的情況應該不會陌生:在網頁上選中了一些內容後,出現一排礙眼的按鈕(如圖4),這就是劃詞搜索乾的!它的問題在於強制安裝和無法徹底卸載,這是筆者比較經常碰到的流氓軟體了,而僅僅第十的位置實在是有點委屈了!

以上我們細數了十大流氓軟體的罪狀,大家一定都對它們討厭至極吧?大家一起團結起來,抵制流氓軟體,對於抵制措施可以有一下幾種:不要隨便下載不熟悉的軟體、謹慎使用共享軟體、不登陸不良網站、安裝軟體時應仔細閱讀軟體附帶的用戶協議及使用說明、使用IE插件屏蔽等軟體屏蔽、採用其他專用軟體。

在用戶抵制預防的同時,更重要的是必須從源頭上來整治,各軟體、網站廠商應該尊重用戶的安全和權益,遵守起碼的職業道德,遵守軟體編寫規范,阻止軟體產品的不規范發布和傳播,只有這樣才能取得用戶的信任與好評.

2. flashcenter是流氓軟體嗎

flashcenter即Flash中心並不是流氓軟體,它是flash軟體應用的管理中心,管理著flash軟體的更新,巡檢以及其他事項。

Flash中心是系統自帶的軟體中心的一種,主要應用管理者,當前主機上安裝的所有flash動態軟體的運行情況,他並不是流氓軟體,可以放心使用。

名詞解釋:

由於HTML語言的功能十分有限,無法達到人們的預期設計,以實現令人耳目一新的動態效果,在這種情況下,各種腳本語言應運而生,使得網頁設計更加多樣化。然而,程序設計總是不能很好地普及,因為它要求一定的編程能力,而人們更需要一種既簡單直觀又有功能強大的動畫設計工具,而Flash的出現正好滿足了這種需求。

3. 流氓軟體是什麼意思

流氓軟體是指具有一定的實用價值但具備電腦病毒和黑客的部分行為特徵的軟體。它處在合法軟體和電腦病毒之間的灰色地帶,他會使你無法卸載、並強行彈出廣告和竊取用戶的私人信息等危害,

「流氓軟體」簡介
來源:瑞星 2005-06-16

近日,一些「流氓軟體」引起了用戶和媒體的強烈關注。它們往往採用特殊手段頻繁彈出廣告窗口、危及用戶隱私,嚴重干擾用戶的日常工作、數據安全和個人隱私。這些軟體在軟體用戶中引起了公憤,許多用戶指責它們為「徹頭徹尾的流氓軟體」。

什麼是流氓軟體?

「流氓軟體」是介於病毒和正規軟體之間的軟體。

計算機病毒指的是:自身具有、或使其它程序具有破壞系統功能、危害用戶數據或其它惡意行為的一類程序。這類程序往往影響計算機使用,並能夠自我復制。

正規軟體指的是:為方便用戶使用計算機工作、娛樂而開發,面向社會公開發布的軟體。

「流氓軟體」介於兩者之間,同時具備正常功能(下載、媒體播放等)和惡意行為(彈廣告、開後門),給用戶帶來實質危害。

流氓軟體的分類

根據不同的特徵和危害,困擾廣大計算機用戶的流氓軟體主要有如下幾類:

1、廣告軟體(Adware)

定義:廣告軟體是指未經用戶允許,下載並安裝在用戶電腦上;或與其他軟體捆綁,通過彈出式廣告等形式牟取商業利益的程序。

危害:此類軟體往往會強制安裝並無法卸載;在後台收集用戶信息牟利,危及用戶隱私;頻繁彈出廣告,消耗系統資源,使其運行變慢等。

例如:用戶安裝了某下載軟體後,會一直彈出帶有廣告內容的窗口,干擾正常使用。還有一些軟體安裝後,會在IE瀏覽器的工具欄位置添加與其功能不相乾的廣告圖標,普通用戶很難清除。

2、間諜軟體(Spyware)

定義:間諜軟體是一種能夠在用戶不知情的情況下,在其電腦上安裝後門、收集用戶信息的軟體。

危害:用戶的隱私數據和重要信息會被「後門程序」捕獲,並被發送給黑客、商業公司等。這些「後門程序」甚至能使用戶的電腦被遠程操縱,組成龐大的「僵屍網路」,這是目前網路安全的重要隱患之一。

例如:某些軟體會獲取用戶的軟硬體配置,並發送出去用於商業目的。

3、瀏覽器劫持

定義:瀏覽器劫持是一種惡意程序,通過瀏覽器插件、BHO(瀏覽器輔助對象)、Winsock LSP等形式對用戶的瀏覽器進行篡改,使用戶的瀏覽器配置不正常,被強行引導到商業網站。

危害:用戶在瀏覽網站時會被強行安裝此類插件,普通用戶根本無法將其卸載,被劫持後,用戶只要上網就會被強行引導到其指定的網站,嚴重影響正常上網瀏覽。

例如:一些不良站點會頻繁彈出安裝窗口,迫使用戶安裝某瀏覽器插件,甚至根本不徵求用戶意見,利用系統漏洞在後台強制安裝到用戶電腦中。這種插件還採用了不規范的軟體編寫技術(此技術通常被病毒使用)來逃避用戶卸載,往往會造成瀏覽器錯誤、系統異常重啟等。

4、行為記錄軟體(Track Ware)

定義:行為記錄軟體是指未經用戶許可,竊取並分析用戶隱私數據,記錄用戶電腦使用習慣、網路瀏覽習慣等個人行為的軟體。

危害:危及用戶隱私,可能被黑客利用來進行網路詐騙。

例如:一些軟體會在後台記錄用戶訪問過的網站並加以分析,有的甚至會發送給專門的商業公司或機構,此類機構會據此窺測用戶的愛好,並進行相應的廣告推廣或商業活動。

5、惡意共享軟體(malicious shareware)

定義:惡意共享軟體是指某些共享軟體為了獲取利益,採用誘騙手段、試用陷阱等方式強迫用戶注冊,或在軟體體內捆綁各類惡意插件,未經允許即將其安裝到用戶機器里。

危害:使用「試用陷阱」強迫用戶進行注冊,否則可能會丟失個人資料等數據。軟體集成的插件可能會造成用戶瀏覽器被劫持、隱私被竊取等。

例如:用戶安裝某款媒體播放軟體後,會被強迫安裝與播放功能毫不相乾的軟體(搜索插件、下載軟體)而不給出明確提示;並且用戶卸載播放器軟體時不會自動卸載這些附加安裝的軟體。

又比如某加密軟體,試用期過後所有被加密的資料都會丟失,只有交費購買該軟體才能找回丟失的數據。

6、其它

隨著網路的發展,「流氓軟體」的分類也越來越細,一些新種類的流氓軟體在不斷出現,分類標准必然會隨之調整。

4. 遇到流氓軟體應該怎麼解決

預防 防範流氓軟體第一步,就是要有安全的上網意識,不要輕易登陸不了解的網站,因為這樣很有可能會中網頁腳本病毒,從而使系統中上流氓軟體。不要隨便下載不熟悉的軟體,如果用戶不了解這些軟體,當這些軟體中捆綁一些流氓軟體時,用戶也無法察覺。安裝軟體時應仔細閱讀軟體附帶的用戶協議及使用說明,有些軟體在安裝的過程中會以不引起用戶注意的方式提示用戶要安裝流氓軟體,這時如果用戶不認真看提示的話,就會安裝上流氓軟體,由於這是用戶自己選擇的,因此,用戶不會受到保護。 在安裝操作系統後,應該先上網給系統打補丁,補住一些已知漏洞,這樣能夠避免利用已知漏洞的流氓軟體的駐留。如果用戶使用IE瀏覽器上網,則應該將瀏覽器的安全級別調到中高級別,或者在自定義里,將ACTIVEX控制項、腳本程序都禁止執行,這樣能夠防止一些隱藏在網頁中的流氓軟體的入侵。判斷 第二步,判斷自己是否已經中了流氓軟體。這要根據流氓軟體的中招症狀來看。一般地,瀏覽器首頁被無故修改、總是彈出廣告窗口、CPU的資源被大量佔用、系統變得很慢、瀏覽器經常崩潰、或出現找不到某個DLL文件的提示框,這些是流氓軟體最常見的現象,如果發現計算機中出現這些現象,則很有可能是中了流氓軟體,就要採取相應的措施,而如果出現CPU的資源被大量佔用,系統變得很慢這樣的情況,則很有可能是中了多種流氓軟體的原因,更應該盡快進行相應處理。 確診自己中了流氓軟體 氓軟體無論多麼復雜,它們的傳播流程幾乎是一樣的,都是會通過軟體捆綁或網頁下載先進入到計算機的一個臨時目錄里,一般是是系統的根目錄或者系統默認的臨時目錄,然後將自己激活,這時流氓軟體進入內存中正常運行。當流氓軟體正常運行時,為了下一次能夠自動運行,它們往往會修改注冊表的自啟動項,從而達到自動啟動的目的。然後流氓軟體會將自己拷貝到系統目錄隱藏起來,然後將臨時的安裝文件刪除,最後jian聽系統埠,進行各種各樣的流氓行為。 如果用戶喜歡下載安裝一些小的工具軟體,或者去一些小的網站上瀏覽網頁,雖然計算機沒有出現上述現象,但是也有可能中流氓軟體,這時也應該關注一下計算機,看是否真正中招,這時就可以按照流氓軟體的這個傳播鏈去一一排查。首先利用一些第三方的內存查看工具,看看內存中是否有一些可疑的進程或線程,這需要用戶對系統中的進程或一些常用軟體的進程有所了解,這樣才有可能看出問題。其次,用戶在查看進程的過程中應該看看這些進程的路徑,如果有一些進程的路徑不是正常的安裝目錄,而是系統的臨時目錄,那八成是流氓軟體。 另外,用戶還要看看注冊表裡(開始菜單的運行框里鍵入REGEDIT)的自啟動項(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)里是否有一些用戶不認識的程序鍵值,這些很可能就是流氓軟體建立的。行動 確診自己中了流氓軟體,清除就相對比較簡單了。對於已知的流氓軟體,建議用戶用專門的清除工具進行清除。 在這里不建議用 戶自己手工清除流氓軟體,因為流氓軟體越來越復雜,已經不再是那種簡單的刪除多個文件就能解決的了,很多流氓軟體在進入系統之前,就對系統進行了修改和關聯,當用戶擅自刪除流氓軟體文件時,系統無法回復到最初的那個狀態,而導致流氓軟體雖然清除了,但系統也總是出現各種錯誤。而專業的清除工具往往已經考慮到這一點,能夠幫助用戶完全恢復系統。 如果在一些特殊場合用戶需要手動清除流氓軟體時,則按照流氓軟體的傳播鏈條,按照先刪除內存的進程,再刪除注冊表中的鍵值,最後再刪除流氓軟體體,將系統配置修改為默認屬性 這樣一個過程進行處理。

5. 流氓軟體的工作原理是什麼

為什麼「瀏覽器劫持」能夠如此猖狂呢?放眼眾多論壇的求助貼,我們不時可以看到諸如「我的IE被主頁被改了,我用殺毒工具掃了一遍都沒發現病毒,我把主頁改回自己的地址,可是一重啟它又回來了!」、「我的系統一開機就跳出一個廣告,我明明用了最新版的殺毒軟體的啊!」等這類關於IE異常問題的求助,80%的提問者都表示納悶,他們已經安裝了殺毒軟體,可是IE仍然被「黑」了,這又是為什麼?

其實這些都是典型的「瀏覽器劫持」現象,但是受害者不是已經安裝了殺毒軟體嗎?為什麼瀏覽器依然躲不過這只黑手?許多用戶對這個領域都存在一種誤區心理:瀏覽器劫持?我有最新的殺毒軟體,我不怕!

於是,當他們遭遇「瀏覽器劫持」時,驚訝了。

要知道,殺毒軟體自身也只是一種輔助工具,它不可能完全保護系統的安全,更何況,殺毒軟體用戶必須知道一個事實:「瀏覽器劫持」的攻擊手段是可以通過被系統認可的「合法途徑」來進行的!殺毒軟體只能通過「特徵碼」的形式來判斷程序是否合法,但這是建立在人為定義以後的,而實施「瀏覽器劫持」的程序可以有很多,防不勝防。

為什麼說「瀏覽器劫持」可以說是合法的呢?因為大部分瀏覽器劫持的發起者,都是通過一種被稱為「BHO」(Browser Helper Object,瀏覽器輔助對象)的技術手段植入系統的。

BHO是微軟早在1999年推出的作為瀏覽器對第三方程序員開放交互介面的業界標准,它是一種可以讓程序員使用簡單代碼進入瀏覽器領域的「交互介面」(INTERACTIVED Interface)。通過BHO介面,第三方程序員可以自己編寫代碼獲取瀏覽器的一些行為(Action)和事件通知(Event),如「後退」、「前進」、「當前頁面」等,甚至可以獲取瀏覽器的各個組件信息,像菜單、工具欄、坐標等。由於BHO的交互特性,程序員還可以使用代碼去控制瀏覽器的行為,比如常見的修改替換瀏覽器工具欄、在瀏覽器界面上添加自己的程序按鈕等操作,而這些操作都被視為「合法」的,這就是一切罪惡根源的開始。

BHO的出現幫助程序員更好的打造個性化瀏覽器或者為自己的程序實現了方便簡潔的交互功能,可以說,如果沒有BHO介面的誕生,我們今天就不能用一些工具實現個性化IE的功能了。從某一方面來看,BHO的確是各種繽紛網路互動功能的幕後功臣,但是一切事物都是有兩面性的,這個恆古不變的真理同樣對BHO有效,於是就有了今天讓安全界頭痛的「瀏覽器劫持」的攻擊手段誕生。

看看前面我提到的BHO介面特性,你想到了什麼?BHO可以獲知和實現瀏覽器的大部分事件和功能,也就是說,它可以利用少量的代碼控制瀏覽器行為。程序員可以設計出一個BHO按鈕以實現用戶點擊時通知瀏覽器跳轉到某個頁面完成交互功能,當然就可以進一步寫出控制瀏覽器跳轉到他想讓用戶去的頁面,這就是最初的「瀏覽器劫持」的成因:BHO劫持。

在描述BHO劫持之前,我們先要對BHO介面的啟動做個簡單介紹:符合BHO介面標準的程序代碼被寫為DLL動態鏈接庫形式在注冊表裡注冊為COM對象,還要在BHO介面的注冊表入口處進行組件注冊,以後每次IE啟動時都會通過這里描述的注冊信息調用載入這個DLL文件,而這個DLL文件就因此成為IE的一個模塊(BHO組件),與IE共享一個運行周期,直到IE被關閉。

IE啟動時,會載入任何BHO組件,這些組件直接進入IE領域,而IE則成為它們的父進程和載體,從此IE的每一個事件都會通過IUnknown介面傳遞到BHO用以提供交互的IObjectWithSite介面里,這是BHO實現與IE交互的入口函數。

BHO接收到IE介面傳遞來的參數後開始判斷IE正在做什麼,理論上BHO可以獲取IE的大部分事件,然後根據程序員編寫的代碼,BHO持有對特定事件做出反應的決定權,例如一個可以實現「中文網址」的BHO,就是通過GetSite方法獲取到IE當前打開的站點URL(或通過IURLSearchHook介面來獲知),如果BHO發現獲取到的URL和內置的判斷條件匹配,該BHO就會啟用SetSite方法強制IE跳轉到程序員設定的頁面去,這個過程就是利用about:blank篡改主頁的「瀏覽器劫持」方法之一,它的實現原理其實很簡單,程序員編寫一個惡意BHO組件,當它獲取到IE窗口的當前站點為「about:blank」時就強制IE內部跳轉到指定的廣告頁面,於是鬧出了不久之前沸沸揚揚的「IE空白頁劫持事件」。

了解了這種類似惡作劇的作案手段,要解決它就容易了,只要找到並刪除這個隱藏在系統里的BHO程序即可。

除了這類「廣告軟體」性質的BHO,還有一種利用IURLSearchHook介面實現的另一類更隱蔽的BHO,這種BHO從某些方面來說大概不算BHO,因為它並不是響應IUnknown,而是等待IE創建IURLSearchHook來啟動。IURLSearchHook被瀏覽器用來轉換一個未知的URL協議地址,當瀏覽器企圖去打開一個未知協議的URL地址時,瀏覽器首先嘗試從這個地址得到當前的協議,如果不成功,瀏覽器將尋找系統里所有注冊為「URL Search Hook」(資源搜索鉤子,USH)的對象並把這個IE不能理解的地址發送過去,如果某個USH對象「認識」這個地址,它就返回一個特定的標識告訴IE它知道怎麼打開這個地址,然後IE就根據約定的方法調用它,最終打開這個地址。其實USH對象並不陌生,我們一些偷懶的用戶就經常為了省事而不輸入「http://」,但是IE最終還是能認出並打開某個地址,就是USH的功勞,但是這一點又被惡意程序員拿來磨刀了,通過創建自己的USH對象,惡意程序員能夠命令IE在找不到一些網站時自動跳轉到事先設置的站點里,如果這個站點帶毒或者掛馬,用戶就完了。

這類BHO的解決方法和前面一樣,只是它比較隱蔽,除非用戶經常偷懶,否則可能直到系統崩潰也不會知道自己已經感染了這種東西。也許你會說,只要用戶的輸入永遠不會讓IE無法識別,這種滲透不就白費了?但是事實不容樂觀,我們無法得知BHO作者還會不會通過其他方法攔截IE,說不定每隔一段時間就讓IE彈出一個廣告呢?

上面說了這么多BHO和IE合作搞破壞的事例,可能會給讀者造成一種「BHO必須在IE傳遞數據後才能行動」的誤解,然而事實並非如此,瀏覽器自身也是一個標準的可執行程序,而BHO只是借用這個程序進程啟動的DLL,它並非API那種要用的時候就讓你過來忙活,忙活完了就一腳踹開的奴隸形態DLL,前面說過了,BHO是一種在瀏覽器載入時一同啟動的常式,它相當於一種自身運行邏輯不太明確的子進程(裡面都是對IE事件的響應和操作代碼),這個特性就造成了BHO DLL和API DLL本質的區別,BHO並不需要所有事件都必須依賴這個大傢伙,它可以有自己決定的權利,只要適當的修改,就能用BHO實現類似DLL木馬的功能,當然,這並不是說我們就能在IE眼皮下公然的肆無忌彈干壞事的,由於BHO自身是作為IE子進程啟動的,它就必須受到一些限制,例如程序員不能在裡面自己創建網路連接,這樣會導致IE報錯崩潰並供出你寫的DLL,害怕BHO成為另一種後門的用戶可以鬆口氣了,要在BHO里實現Winsock大概只能在IE休息的時候才可以,但是會有哪個用戶開著個開空IE什麼事情都不做呢?

但這並不是說BHO就一定能無害了,雖然用它不能做到遠程式控制制,但是別忘記,BHO能看到IE的所有東西,也就能任意的訪問用戶文件和注冊表,在這個條件成立的前提下,入侵者可以編寫代碼查找用戶隱私,然後在適當時候通過SetSite提交出去——誰叫現在Webmail這么流行呢?這就是為什麼許多廠商發布諸如「中文網址」、「網路搜索」、「IE定製」、「IE監視」這些功能的BHO的同時都保證「不搜集用戶隱私」的原因,只要你想要,BHO就能得到一切。

有些人也許會想,既然BHO是微軟瀏覽器的權利,那我不用IE了,我用Opera、Firefox不行?對於這點固然無可厚非,但是你用不用Windows?用不用共享軟體?如果你用Windows,那麼,你仍然可能處於被BHO接觸到的世界,因為Windows本身就是和IE緊密結合的,這就把「IE進程」的范圍給擴大了,細心的用戶大概會發現,IE里能直接訪問「我的電腦」,「我的電腦」窗口也能迅速變成IE,因為它們實質都是依賴於IE內核的,正因為這個原因,BHO可以在你打開一個文件夾時跟著偷偷啟動。同時,現在的網路正處於一種「共享軟體捆綁戰略」大肆實施的時代,你再小心也不能避免某些共享軟體固定捆綁了BHO的行為,安裝後你才會發現文件夾上又多了個什麼「助手」、「搜索」了。要想徹底逃開BHO的圍困,大概只能放棄使用Windows了。

Hook,你鉤住瀏覽器了

正如《侏》里的這句話一樣,入侵者也在不斷尋找他們的新出路,雖然上面我說了這么多BHO的負面事例,但是真正的危機並不是只有BHO的,在一些使用BHO行不通的場合里,入侵者開始投擲他們的鉤子。

什麼是鉤子?讓我們先看看它的官方定義:

鉤子(Hook),是Windows消息處理機制的一個平台,應用程序可以在上面設置子程以監視指定窗口的某種消息,而且所監視的窗口可以是其他進程所創建的。當消息到達後,在目標窗口處理函數之前處理它。鉤子機制允許應用程序截獲處理window消息或特定事件。

鉤子實際上是一個處理消息的程序段,通過系統調用,把它掛入系統。每當特定的消息發出,在沒有到達目的窗口前,鉤子程序就先捕獲該消息,亦即鉤子函數先得到控制權。這時鉤子函數即可以加工處理(改變)該消息,也可以不作處理而繼續傳遞該消息,還可以強制結束消息的傳遞。

可能上面的官方定義對一部分讀者理解有點困難,其實,鉤子就像是一切程序的「先知」,一個實現了鉤子的程序自身雖然也是普通程序,但是它總能在別的程序得到數據之前就已經知道了一切,這是為什麼呢?對Windows系統有一定了解的讀者應該知道,Windows系統是一個通過「信息處理機制」運作的系統,在這個系統里傳遞的數據都是通過「消息」(Message)的形式發送的,各個消息都遵循了官方的約定,否則就不能讓系統產生回應。而且這個傳遞步驟是顛倒的,例如我們關閉了某個程序,我們可能會認為是程序自己關閉後通知系統的,其實不然,當用戶點擊關閉按鈕的時候,Windows就會把一個叫做WM_CLOSE的消息傳遞給這個程序,程序接收到消息後就執行卸載自身常式的操作。理解了這點,就能知道鉤子的原理了,所謂鉤子程序,就是利用了系統提供的Hook API,讓自己比每一個程序都提前接收到系統消息,然後做出處理,如果一個鉤子攔截了系統給某個程序的WM_CLOSE消息,那麼這個程序就會因為接收不到關閉消息而無法關閉自身。除了消息以外,鉤子還可以攔截API,像我們都熟悉的屏幕翻譯軟體就是Hook了一些文本輸出函數如TextOutA而達到了目的。

技術讓編程人員可以輕松獲取其他程序的一些有用數據或傳遞相關數據,像現在常見的一些游戲外掛,它們就是利用Hook技術鉤住了游戲窗體,然後就可以識別游戲裡面的行為和模擬發送按鍵滑鼠消息,最終實現電腦自己玩游戲的功能。把這個技術應用到瀏覽器上面,就成了另一種控制瀏覽器行為的方法。

鉤子有兩種,本地鉤子(Local Hook)和全局鉤子(Global Hook),本地鉤子只在本進程里起作用,故不屬於討論范圍;全局鉤子代碼必須以DLL形式編寫,以便在鉤子生效時被其它進程所載入調用,因此我們看到的大部分Hook程序都是DLL形式的。

其實之前提到的BHO也可以視為一種針對IE的鉤子,它鉤的是IE的事件,這就是IE與BHO交互的起點,但是對於再復雜一點的操作,例如判斷IE下載的是GIF圖片還是JPEG圖片,BHO無能為力,因為它僅僅知道IE的事件為DownloadBegin和DownloadComplete,對於具體內容,IE本身是不會告訴它的,否則IE豈不是要忙死了?至少我也沒見過哪個領導還需要向秘書匯報中午吃了雞肉還是鴨肉的吧,BHO可不是IE的老婆,或者說IE沒有氣管炎。

所以,為了得到IE的更多數據,程序員開始鉤IE了。與BHO不同,鉤子不需要被動的等待IE事件,它直接和IE形成上司對下屬的關系,這次輪到IE要做什麼都得經過它批准了。Hook形式的控制不需要DLL文件必須與IE的注冊表入口產生組件關系,它可以是一個獨立的DLL,通過Rundll32.exe或自帶的Loader EXE啟動,而且由於它屬於Hook形式, 在鉤子有效的情況下會被系統自動插入其他程序的進程中,是不是有點像DLL木馬呢?

IE鉤子程序載入進程後便能獲知所有的消息類型、API和內容,一旦發現某個符合要求的消息,如IE執行了某個事件,或者用戶輸入了特定內容,鉤子的處理代碼就開始工作了,它先攔截系統發送給IE的消息,然後分析消息內容,根據不同消息內容作出修改後再發給IE,就完成了一次Hook篡改過程。用著名的3721實名搜索做例子,一些人會以為它是採用了BHO或者IURLSearchHook完成中文域名的識別跳轉的,其實它是用了能夠第一個得到Windows消息的Hook技術,這樣一來就可以避免被其他的競爭對手搶先解析域名了:3721的主程序就是一個Hook DLL,它監視IE地址欄的消息,一旦用戶輸入的是中文,它便在其他BHO類插件工作之前攔截了這個消息,並調用自身代碼完成中文域名到英文URL的轉換工作,然後返回(也可能與自己的BHO DLL配合)一個讓IE跳轉到英文URL的消息,完成域名的翻譯任務。

IE鉤子能幫助程序員用少量代碼完成更多的IE交互工作,但是一旦這個鉤子被用於犯罪,其後果也是嚴重的,惡意程序員可以寫一個攔截IE輸入的鍵盤鉤子,達到竊取密碼的作用,這樣無論你是用HTTP明文協議還是SecurityHTTP加密協議都不能逃避密碼被盜的下場了,因為它抓的是你在IE里的輸入,後面的數據傳輸已經不重要了。

Winsock LSP

全稱為「Windows Socket Layered Service Provider」(分層服務提供商),這是Winsock 2.0才有的功能,它需要Winsock支持服務提供商介面(Service Provider Interface,SPI)才能實現,SPI是一種不能獨立工作的技術,它依賴於系統商已經存在的基本協議提供商,如TCP/IP協議等,在這些協議上派分出的子協議即為「分層協議」,如SSL等,它們必須通過一定的介面函數調用,LSP就是這些協議的介面。

通過LSP,我們可以比分析基本協議更簡單的得到我們想要的數據內容,如直接得到系統上運行的瀏覽器當前正在進行傳輸的地址和內容,不管這個瀏覽器是IE,還是Opera或Firefox,因為LSP是直接從Winsock獲取信息的,即使不用微軟生產的汽車,至少你這輛汽車一直是在微軟建造的公路上跑的吧。

LSP用在正途上可以方便程序員們編寫監視系統網路通訊情況的Sniffer,可是現在常見的LSP都被用於瀏覽器劫持,使用戶又多了個噩夢。

6. 流氓軟體是什麼意思

「流氓軟體」是介於病毒和正規軟體之間的軟體。如果電腦中有流氓軟體,可能會出現以下幾種情況:用戶使用電腦上網時,會有窗口不斷跳出;電腦瀏覽器被莫名修改增加了許多工作條;當用戶打開網頁時,網頁會變成不相乾的奇怪畫面,甚至是黃色廣告。

有些流氓軟體只是為了達到某種目的,比如廣告宣傳。這些流氓軟體雖然不會影響用戶計算機的正常使用,但在當用戶啟動瀏覽器的時候會多彈出來一個網頁,以達到宣傳目的。



(6)流氓軟體編程擴展閱讀:

流氓軟體的特點

1、採用多種社會和技術手段,強行或者秘密安裝,並抵制卸載;

2、強行修改用戶軟體設置,如瀏覽器的主頁,軟體自動啟動選項,安全選項;

3、強行彈出廣告,或者其他干擾用戶、佔用系統資源行為;

4、有侵害用戶信息和財產安全的潛在因素或者隱患;

5、與電腦病毒聯合侵入用戶電腦;

6、停用殺毒軟體或其他電腦管理程序來做進一步的破壞;

7、未經用戶許可,或者利用用戶疏忽,或者利用用戶缺乏相關知識,秘密收集用戶個人信息、秘密和隱私。


7. 如何做一個流氓軟體

首先你要學會編程,會基礎的編程文件操作和下載文件等基本代碼的運用(如果不行,也可以去vbs吧看看,裡面都是整人的小代碼,簡單易學,甚至可以直接復制),然後你要有機會接近他的電腦並安裝你的程序,卸載對方殺毒軟體

8. 黑客們在編寫擾亂社會和他人的計算機程序,這些代碼統稱為什麼

黑客們在編寫的計算機程序代碼統稱為惡意代碼。

9. 電腦被下了流氓軟體影響編程嗎

影響,這類程序往往影響計算機使用,並能夠自我復制。

熱點內容
我的世界無限武魂伺服器 發布:2025-05-17 20:17:09 瀏覽:371
安卓手游腳本語言 發布:2025-05-17 19:53:07 瀏覽:21
找圈演算法 發布:2025-05-17 19:49:19 瀏覽:410
資料庫的存取方法 發布:2025-05-17 19:48:36 瀏覽:125
androidapp測試 發布:2025-05-17 19:48:19 瀏覽:389
如何修改iphone密碼修改 發布:2025-05-17 19:47:31 瀏覽:509
發現了致富密碼是什麼意思 發布:2025-05-17 19:45:42 瀏覽:416
耐存儲的紙 發布:2025-05-17 19:43:35 瀏覽:931
java什麼是棧 發布:2025-05-17 19:28:58 瀏覽:499
開拓者交易雲伺服器配置 發布:2025-05-17 19:19:47 瀏覽:12