http://blog.csdn.net/uoyevoli/article/details/581844
開源的殺毒軟體
有“免費的午餐”我們為什麼不吃呢?殺毒軟體一定要購買或用D版嗎?先別忙著下結論,請耐心看完本文,然後再告訴我你是怎麼想的。
(一)、ClamWin Free Antivirus 開源反病毒軟體 GPL協議
SourceForge頁面:http://sourceforge.net/projects/clamwin
正如其名,這是款運行於Windows下的軟體,我想下載安裝包、運行Setup之類的就不用多說了。由於ClamWin本身是不帶病毒資料庫的(整個安裝檔案才5M多)所以安裝完畢後可能會(根據你安裝時的選項)自動連接Internet去下載病毒庫:
放心,它的病毒庫也不大,稍等片刻就OK了:
當病毒庫下載完成後,就可以開始使用ClamWin AntiVirus免費大餐了:雙擊系統托盤區的ClamWin表徵圖可以彈出ClamWin的主介面:
很簡潔對吧?工具列只有三個表徵圖。第一個是Preferences也就是我們常說的“喜好設定”:
在General選項夾中可以選擇ClamWin如何處置被感染的檔案(Infected Files),這裡有三個選項:分別為
Report Only(僅僅報告,提醒我們一下);
move(刪除,注意不是刪除到資源回收筒,所以謹慎使用哦);
Move To Quarantine Folder(移動到隔離區,可以自己選擇隔離檔案夾的路徑)
你可能說怎麼就這三個選項啊,他不能對感染病毒的檔案進行“殺毒/解毒”嗎,我必須遺憾地告訴你,沒有。其實也不必失望,你可以回憶一下,那些所謂的“殺毒/解 毒”功能到底能有多少用處?能不能殺乾淨?就我個人的經驗來說,電腦病毒重在“防”而不是“殺”,一旦預防工作沒有做好,有檔案被感染了,殺毒軟體又有幾 成勝算可以真正把病毒“殺”得乾淨?就算殺毒軟體報告全部殺掉了,我們自己的心中又有幾分的信任?那些被“解毒”的程式又有幾個能正常運行?到最後我們還 不是得格了重裝?所以我認為反病毒軟體的“殺/解毒”功能形同雞肋,有沒有都可以的。
然後看一下線上升級功能:
ClamWin可以根據我們的設定定期到clamav.net的病毒資料庫下載最先的病毒碼碼,以保持其自身的“戰鬥力”。
定期自動掃描:
掃描壓縮包內的病毒:
其他的選擇我就不一一貼圖了,只要你使用過別的殺毒軟體,你就會發現這些設定都差不多。
第二個工具列表徵圖是“線上升級”功能,點擊這個表徵圖就可以線上升級病毒庫。
第三個表徵圖就是病毒掃描了:
選定一個磁碟機或雙擊開啟該磁碟機選擇一個檔案夾,然後開始掃描:
ClamWin還和Windows的資源管理員有機結合,可以方便地使用右鍵菜單對選中的檔案進行病毒掃描:
如果掃描過程中發現了被感染的檔案,ClamWin會按照我們上面設定的方式進行處理(報告,刪除,隔離)
下面是我用EICAR測試的結果:
同時托盤區也會有氣球提示
平時使用時,也可以用滑鼠右擊托盤區的ClamWin表徵圖,可以彈出右鍵菜單,進行快捷操作:
ClamWin最大的缺陷是沒有“即時掃描”功能,也就是說我們必須主動調用ClamWin來掃描可疑的檔案、檔案夾、磁碟,而ClamWin不會在後台自動過濾我們正在操作的檔案。你可能又失望了,沒有即時掃描功能,還怎麼“防”病毒啊!不要失望,ClamWin雖然不能做到,但是它有一個好鄰居、好朋友、好搭檔WinPooch。WinPooch可是專業搞系統監控的“看家狗”哦。呵呵,“術業有專攻”嘛,很多開源軟體都是這樣。
(二)Winpooch Watchdog 忠實的系統“看家狗” GPL協議
SourceForge頁面:http://sourceforge.net/projects/winpooch
正如其名,WinPooch是一條忠實的“看家狗”,說其忠實,是因為它使用API Hook技術,可以對幾乎所有的可疑操作進行監控、報告或阻止。
初次安裝完畢後WinPooch會自動檢查你的機器上是否安裝了ClamWin,如果正確安裝了ClamWin了,他會自動把ClamWin作為它的Antivirus(要不怎麼說它是ClamWin的好鄰居、好朋友、好搭檔):
有了WinPooch為ClamWin保駕護航,我們不怕了,這次直接雙擊運行EICAR測試檔案:
我們的看家狗會自動調用ClamWin進行病毒掃描,由於EICAR是標準的測試檔案,任何合格的反病毒軟體都應該有所反應,ClamWin也不例外。於是狗狗發現了敵情,一聲大叫“汪”,便跳了出來:
注意,此時我們面臨三個選擇Accept, Feign,或Reject。點擊後面兩個按鈕(“Feign”或“Reject”)可以阻止該操作,但是效果稍有差別。Reject的話,Windows會報告一個錯誤:
---------------------------
EICAR.com
---------------------------
Windows 無法訪問指定裝置、路徑或檔案。您可能沒有合適的許可權訪問這個項目。
---------------------------
確定
---------------------------
而點擊Feign的話則不會報告這個錯誤(檔案同樣沒有被運行)。
但是有的時候我們很清楚某個“病毒檔案”實際上是正常檔案,就比如我現在啟動並執行這個ERICA.com檔案,只是一個用於測試反病毒軟體的文字檔而已。這種情況下我們就可以點擊第一個按鈕Accept,允許這個操作。
如果我們在40秒內沒有進行任何操作,則預設為Reject。
WinPooch的所有操作都是基於過濾規則(filters)的,我們來看一下它的filters:雙擊系統托盤中的WinPooch表徵圖,開啟主介面。
WinPooch的一個過濾器(filter)是由右上方的一個進程檔案路徑(Program)和對它的若干條規則群組成的。點擊上面一個“+”可以添加一個Program,選擇該Program然後點擊下面的“+”可以給它制定一條規則,支援萬用字元*和?。WinPooch的Filter添加有點麻煩,我們在添加自訂Filter之前還是先來分析一下它的預設Filters:
比如下面幾條規則:
由於是應用於“*”即所有進程的,所以,第一行可以解釋如下:“當任何進程(“*”)建立或更改(Write)“C:/Windows/”系統目錄下的任何dll檔案時,彈出對話方塊詢問(Ask),如果在規定的時間內沒有做出選擇就預設拒絕該操作(default Reject),並在記錄檔記錄(Log)。”第二~六條和第一條類似,只是分別針對exe,bat,ocx,pif和src檔案的。後面的就不一一解釋了。
把右下方的ListView滾動到最後,可以看到這樣一條規則:
Sys::Execute * Accept Log Virus scan
它的含義為在任何進程執行任何其他進程(*)時,調用ClamWin進行病毒掃描(Virus scan),如果沒有病毒就允許該操作(Accept),否則提示使用者處理。該動作及處理結果還要記錄入日誌(Log)。這也是WinPooch和ClamWin之所以能合作的根本原因了。
除了修改Windows目錄檔案、程式被病毒感染外,WinPooch還可以監控一些危險性操作,比如修改註冊表(Reg::SetValue)、監聽特定連接埠(Net::Listen)、通過某個連接埠建立網路連接(Net::Connect)等。WinPooch的所有過濾規則都是可以自訂的,具體可以開啟WinPooch的Filters自己摸索一下。
由於WinPooch的過濾規則可以自訂,所以他要比一般的監視軟體更靈活(當然配置起來也會有一定的難度)。比如預設情況下,我們修改了系統的“環境變數”(“我的電腦”右鍵,“屬性”,“進階”),WinPooch就會警示:
如果由於某些原因,需要頻繁地修改這個,每次都要手工去點“確定”的確比較煩。對於這種情況,我們可以點擊“Other options”中的“New filter”按鈕,建立一個Filter如下:
然後,我們再通過“我的電腦”右鍵菜單修改“環境變數”,WinPooch就不會跳出來煩我們了,而是在後台默默記錄。
再舉一個例子,如果你使用過RealPlayer,你可能知道,每次啟動RealPlayer後都會有一個realsched.exe進程啟動並駐留系統。通過WinPooch可以禁止該進程的啟動:
然後,選中新加的Rule,使用上箭頭表徵圖把它移動到“Sys::Execute *”規則之上防止被該萬用字元規則屏蔽就可以了:
然後看一下這兩個軟體的記憶體佔用:
怎麼樣?這個開源套餐還算豐盛吧?是不是心動了?趕快下載安裝自己體驗吧:)另外,如果你是C/C++或Python程式員,你也可以為它們出一份力的哦,“吃水不忘挖井人”嘛!