芍開發防火牆類似。其實任何,種商業軟件的開發。都那麽幾步。首先是理念,就是說你開發這個軟件主要思路是什麽,想通過什麽方式來完成,想讓這個軟件起到哪些效果或者作用;其次是算法。想讓軟件實現上一步的理念。就要思考使用對應的方法。比如你從天津想去香港,可以坐車坐船坐飛機,當然坐飛機最快,也最有效;第三是語言選擇,根據你的理念及實現理念的算法,要選擇一種程序語言。現在常見的有件、刨、址等等;最後就是編程糾錯與發布了。
不過電腦發展到今天,已經突飛猛進,很多固有的模式都被逐漸打破。隨之衍生的其他環節也開始受到重視,主要包括銷售模式與收費模式。已經有越來越多的網絡工程師與程序員在軟件開發前期,就將未來的銷售與收費考慮進去,這樣就做到了銷售與開發相結合。
想消滅木馬,就要先了解木馬,知已知彼才能百戰百勝。所以王韜在做這一切之前,先上網搜索一些與木馬黑客有關的網站,從中了解當今主要的木馬程序的原理。一般說來,木馬程序主要分兩種,一種是常駐內存式,一種是寄主式。常駐內存的木馬比較好理解,就是木馬程序會在……係統啟動時自動運行,然後運行於後台,無聲無息監視著電腦操作者輸入的每一組帳戶與密碼;寄主式木馬一般有很強的針對對象,比如專盜號的,專盜勁舞帳號的或者專盜網上銀行的,這種木馬平時並不運行,而是寄生在所盜軟件的主程序上,隨著軟件的主程序運行而運行。舉個例子,某種號盜竊軟件就是寄生在主程序上,你一旦運行,它就跟著運行起來了,於是你輸入的號碼與密碼就被悄悄地發往某個郵箱,幾分鍾後你的就歸別人了。
針對木馬的這些特點,以及木丐與病毒的相似性,很多軟件廠商開發出大量的反木馬軟件。這個就不舉倒了,反正大家都知道不少,咱們不是春晚,不搞那些廣告嫌疑。王韜為了開發出滿意的軟件,不惜血本,用自己的網上銀行在線買了幾款反木馬軟件,對它們的功能、特性、優缺點逐一研究。很快王韜發現,現在主流的反木馬軟件大多以殺除為主,而防禦能力並不如人意,這就是把木馬與病毒混淆的結果。
每種木馬都有自己的特征代碼,反木馬軟件就是以各種木馬特征代碼為準,檢查與電腦有關的每一個文件。一旦發現某種木馬的特征代碼。就立刻報警,然後允許用戶手動或自動清除含有特征代碼的文件。這種思路在病毒與反木馬行業中已經成為王道,每個廠商都不約而同堅守這個理念,唯一不同的就是實現理念的算法。
但軟件開發的理念往往決定一切,好像蓋棟大廈,你地基打不好,地上建築再華麗也沒有用,風一吹就倒了。以特征代碼濾殺為理念的反木馬軟件有兩大缺點,第一,永遠跟不上形勢,一旦有新木馬新特征代碼,反木馬軟件就必須更新,不然對付不了。於是很多反木馬和殺毒軟件廠家的技術員們天天疲於奔命。不停地尋找與分析每天網絡中新出現的木馬與病毒,將它們的特征代碼添加到自己的軟件中,供用戶更新使用;第二,既然以木馬的特征代碼為準,那反木馬軟件中就一定要有一個很龐大的特征代碼庫,直接導致軟件體積超重,從上世紀一張軟盤就能發布的口刀到今天一張光盤都不一定能放下的瑞星。赤裸裸地說明了這個事實。
除了這些之外,目前國內很多軟件廠商對待自家產品態度不端正。總以為他們開發的軟件是最重要的,用戶電腦裏隻需要有這個軟件就可以了,別的都可以沒有。所以廠商在開發軟件的時候,完全不考慮軟件對電腦資源的占用情況,甚至鼓勵技術員開發功能複雜體積龐大的軟件。將來可以獨霸用戶電腦的全部資源,讓用戶電腦安裝他們的軟件後。就運行不了別的軟件了,仿佛這樣才能顯示他們的軟件有多牛。孰不知,最後被市場無情淘汰的正是這樣的軟件,無需諱言,瑞星的江山被卡巴斯基奪去,除了卡巴斯基曾免費運營過之外,電腦資源的占用情況也是很多用戶願意選擇卡巴斯基的重要原因。
所以,王韜了解到這些情況之後,給自己準備開發的反木馬軟件定下的第一個要求也是第一個理念就是。軟件一定要小,占用資源一定要少。最好讓用戶感覺不出來電腦裏有個反木馬軟件在運行,而當用戶電腦出現危機的時候,又可以及時出來救急。想實現這個理念,除了擺正自己的態度,清楚認識到反木馬軟件隻不過是電腦中的一個工具軟件。不應該占主導地個之外,還要從根本上實現軟件的小型化,就必須拋棄以特征代碼為準進行濾殺的設計思想。
其實大多數用戶對木馬的態度很簡單,就是不想讓木馬盜去自己重要的帳號信息,至於木馬本身到底是個什麽東西,該不該存在於電腦中,是誰開發的統統不感興趣。在這個問題上,王韜翻閱了很多相關的資料與網上書籍,又獨自思考了很久,發現多如牛毛的木馬世界中,很少有針對網上銀行的,當然並不是絕對沒有,但太少了,少得可以忽略不計,而僅有的幾斤,中真正有效的就幾乎接近為零。
為什麽會這樣?原因很簡單,網上銀行安全機製非常嚴格而且有效,讓木馬開發者們無孔可入。如果將網上銀行的安全機製應用於所有需要帳戶密碼的軟件上麵,就可以有效抵禦接近慨的木馬盜竊;最重要的是,實現網上銀行的安全機製所需軟件量很小,這也滿足了王韜對反木馬軟件微型化的要求,畢竟我們安裝網上銀行的時候,你有用光盤先安裝一大堆軟件。“哈哈哈哈!”想通了基本的設計思路,王韜樂得滿床亂滾,他幾乎忘了自己已經憋在臥室裏超過五十個小時。
想到就要做到,這是王韜一貫的風格,他樂夠了就重新坐在電腦前。開始研究網上銀行的安全機製為什麽那麽嚴密。這個比較簡單,網上銀行一般是雙保險,第一是加密證書,第二是軟鍵盤。加密證書是性特有的,軟件中當然也可以模擬。並且用於收費,可這種收費方式太過簡單,很容易被盜版,王韜準備棄之;但是軟鍵盤這個理念,王韜準備采用,並且加強它,作為自己反木馬軟件的核心思想。
簡單科普一下軟鍵盤。軟鍵盤這個東西網誕生的時候,是用來防止用戶電腦鍵盤失靈,屬於一種救急舉措。後來有些程序天才們發現。將軟鍵盤上的鍵位重新排列可以用來防止帳戶被盜。
不管是哪種木馬,寄生型的也好,常駐內存型的也好,都是靠監視用產鍵盤來盜取密碼,當用戶在鍵盤上敲下帳戶及密碼時,木馬就將鍵盤發出的信息發送給木馬的開發者。
網上銀行這一類的軟鍵盤通過重新排列鍵位來實現反盜竊,也就是說用戶在鍵盤輸入時,輸入的每一個鍵其實到了電腦裏,都被軟件重新排列了。比方輸入“”但實際在電腦中產生的是當然,重新排列後的鍵位對照表,隻有用戶知道,木馬是不知道的。網上銀行甚至使用隨機鍵位對照,使每一次鍵位轉換都是不同的,你這次的“”是下次的“”可能就是“”即使木馬截取到了鍵盤信息,但因為木馬開發者不知道具體的鍵位對照是什麽樣的,就猜不出用戶真實的帳號與密碼是什麽。
有了這種理念,軟件開發剩下的工作點不難了,王韜很快就用十語言用了個簡單的小程序,這時還稱不上軟件,因為這僅僅是個雛形。用於實驗王韜的開發理念。這個小程序運行之後,會獨占係統,不管係統正在運行什麽軟件都會被暫停,然後屏幕上出現一個由出個英文字母與十個數字組成的倒梯形標準鍵盤,但鍵盤上的每一斤小鍵都被重新定義了。當用戶敲擊鍵盤的時候。實際上在電腦中產生的是屏幕上這個被重新定義過的鍵個,而不再是標準的…曰”如果你的密碼是口紡,可能你在鍵盤上需要按下四剛或者蚓仍才行。
可能有朋友會認為這種辦法很麻煩,因為重新排列後的鍵盤會讓用戶感到陌生,一時難以找到自己需要按下的鍵位。不過反過來想一想,這畢竟是一個針對家庭用戶的軟件,又有誰會經常需要輸入帳號與密碼呢?你用用一天,也許隻需要輸入一次,玩遊戲玩一天,也是隻需要輸入一次,為了你的幣不被盜。為了你遊戲中的角色不被“扒光”稍微麻煩一點又有何妨。
不過天底下沒有十全個美的東西。王韜這個理念也有一斤小重要的弊端,那就是對木馬隻起到防的作用。而沒有殺的作用。如果用戶的電腦感染了木馬,那王韜的反木馬軟件可以確保用戶帳戶安全,卻不能幫用戶從電腦中徹底殺除。所以一利一弊相存相倚,想清除木馬,還要老老實實用正規的殺病毒軟件。
既然想到了殺病毒軟件,王韜也有雄心壯誌,早晚有一天,他也要開發屬於自己的殺病毒軟件。而王韜掌握有先進的“動機預測”理念及相關算法,可以開發成防火牆。也就自然可以開發成殺病毒軟件。
王韜對這個反木馬小程序又進行完善,優化了鍵位轉換算法,使隨機排列更迅速更準確,而且不易出錯。最後,他在小程序中加入了收費機製,這部分他采用了目前網絡遊戲中常見的收費模式,也就是說王韜的反木馬軟件本身沒有限製,但用戶如果想讓軟件發揮效用。就必須交費充值。這裏麵王韜也有一點“卑鄙”的私心,他準備給這個反木馬軟件定價為每個月五塊錢,當然這五塊錢隻能讓軟件發揮基本功能,就是軟鍵盤反木馬,將來王韜會為軟件添加新的功能,比如殺病毒。這就要求用戶花費額外的錢來使用。
這個軟件的名字仍然叫做“韜克”全名是“韜克木馬道長”將木馬比喻成妖魔鬼怪小僵屍,他的軟件就是除魔的道長。這樣做的好處也是讓加州之光的產品名稱統一。便於加深用戶的印象。
前些時間,王韜躺在醫院裏。喬治已經將加州之光公司的官方網站做出來了。王韜就準備將木馬道長放在公司網站上供用戶下載,有一天的免費試用期,也是采用網絡時間與如的雙標準,超過一天就必須交
了。
當王韜搞定這一切,時間已經過去了近一百個小時,其間王韜最多隻睡了十幾個小時而已。其實後麵大量的時間用於對木馬道長進行實驗。沒有了異能,沒有了邁克,王韜完全是靠人工來實驗,他在電腦上安裝各種常見的操作係統和程序,來模擬不同的軟件環境,又要進行糾錯。來使木馬道長與市麵上常見的基他軟件不產生衝突。
將最終修繕完成的韜克木馬道長複製裏,王韜爬上床美美地睡了一覺,他現在太需要休息了。一覺醒來,已經是第二天中午,他整整睡了十幾個小時,急不可待地起床洗臉。然後拎起外套衝下樓,準備去加州之光送給喬治幾個人一份天大的驚喜。
可是王韜剛跑到一樓,就被田園攔住了。
“王哥,上午有人送來一個國際包裹,好大啊,這是什麽東西啊?”田園粉臉疑惑,指向放在別墅門口處的一個小木箱。(未完待續)