春節後的一天,曾道沖在上網的時候,突然之間被病毒把系統幹崩潰了,而之前群友任何提示,就是突然之間,莫名其妙的就中招了。在重新安裝好系統之後,曾道沖産生了一個疑問,為什麼防毒軟體事先沒有一點預警提示,即使是不能查殺掉,也給人一點預警也好。不過還好的是他沒有任何重要的東西,所以也沒有任何影響,唯一的影響就是心情突然不爽了起來。
現目前市面上所流行的防毒軟體,不管免費的還是收費的首先必須指出防毒軟體的引擎與其病毒庫並沒有什麼直接的關系。防毒引擎的任務和功能非常簡單,就是對於給定的檔案或者程式程序判斷其是否是合法程式對應於防毒軟體廠商自己定義的正常和非異常程式規範而言。正常的程式規範是指在程式所在系統平臺上操所繫統本身洗淨有定義的或者業界已經公認的程式行為過程,比如作業系統正常執行就必須要求應用程式與系統核心進行程序響應並與交換相關資料。非異常程式活動是指可能存在非法程式操作結果但能夠以較高的置信度確定其非非法程式活動規範的。一般情況下,相關檔案的複制,移動,刪除等都奔包括在該界定範圍內)。
而這次的病毒原因,在網路是很快就被人查出來了,這是利用了計算機作業系統中的一個漏洞,凡是安裝了這個作業系統連結進入inte的的計算機都被感染了,雖然很快就發現並列出了解決方法,但是造成的損失是相當巨大了,這次病毒波及全世界上百個國家。
曾道沖之後自己提出了一個疑問,病毒是屬於主動進攻的一方,計算機防火牆,防毒軟體之類的屬於被動防禦。計算機軟硬體就像一座城池,進出城池的大陸就是連線inte的線路,而防火牆就是屬於城池的城牆,防毒軟體就是城池中的守衛士兵。病毒呢就是另外一個城池或者國家所派出的殺手來刺殺這座城池中的將領一樣。現在是不知道是哪一個城池派來的殺手,也不知道殺手是哪一個,更不知道殺手會在什麼時候動手。所以造成了無論城牆多麼的高大,士兵多麼精銳,但這些都只能是被動防禦,而不能從根本上解決問題。
但人們已經想到了解決的方法,但是一直沒有成功,這就是“人工智慧”。但是人們都一直朝這個方向研究,假如某一天研究成功了,當機器人有了不亞於人類的智慧,還能心甘情願被人們當工具使用嗎?他們也有了感情,有了慾望,那麼人類還能夠找到解決的方法嗎?那個時候的人類是和智慧機器人發生戰爭還是和平共處。這一切都是未知數。或許就是因為未知,它才神秘,才能激起人們對於這神秘的求知慾望,才想方設法的想要揭開這神秘的面紗,想看看這面紗後面是美麗動人的姑娘還是長著獠牙的惡魔。這是一種既激動興奮又畏懼的心理。
曾道沖想了很久,最後想自己先編寫一個防毒軟體,能夠有自動識別病毒功能的防毒軟體,同時又兼具其他現目前所有防毒軟體的功能,這就像給守衛士兵加上了火眼金睛,讓其一看就自己哪些是具備對城池裡面的所有居民或者建築産生危害的。從而報告,或者清除。但是想法很理想,現實很難。
曾道沖有了想法之後,迅速的行動起來,雖然是行動但是並沒有馬上動手開始編寫,而是轉為研究現在市面的防毒軟體,先從免費的防毒軟體開始,找了一款之後,先研究它的功能,而後檢視安裝目錄下面的所有檔案。曾道沖明白要獲取他的原始碼很難,除非花錢購買,但是原始碼是一個公司或者企業的核心機密,不可能購買得到的,除非你直接收購這家公司,但這樣,第一,沒有這麼大的資金,第二,即使你想買,人家不一定想賣,第三,你黑進人家的公司竊取,這更不可能。所以只能透過逆向工程的手段。
逆向工程又稱逆向技術),是一種産品設計技術再現過程,即對一專案標産品進行逆向分析及研究,從而演繹並得出該産品的處理流程、組織結構、功能特性及技術規格等設計要素,以製作出功能相近,但又不完全一樣的産品。逆向工程源於商業及軍事領域中的硬體分析。其主要目的是在不能輕易獲得必要的生産資訊的情況下,直接從成品分析,推匯出産品的設計原理。
即使是這樣也不可能得到原始碼,所以只能夠透過反彙編、反編譯和動態跟蹤等方法,分析出其實現過程;不僅僅是反編譯,而且還要推倒出設計,並且文件化,這個過程可以得到大概的演算法和實現過程,機器碼是可以被分析的,可以是破解的重要依據。它能夠提供程式的思路等一些線索。想要從機器碼或彙編程式碼反編譯,應該說沒有什麼便捷的辦法。需要靠理解程式後,自行編寫。但是原始碼是得不到的。
當明白這些之後,曾道沖便開始實行起來,這一較上勁就一發不可收拾,每天除了上廁所,都在電腦面前,每天基本只休息三四個小時,其餘時間都在不停的破解,就是吃飯都是在樓下直接購買一大箱泡麵放著。此時的曾道沖已經著了魔,由於睡眠不足,眼睛裡面都是紅血絲,由於長時間不洗澡加上電腦輻射等,頭發亂糟糟的,臉上的疲憊顯而易見,但是眼神裡透露出的興奮和現實不符。
半個月之後,當曾道沖從椅子上跳起來,大聲的呼叫,聲音裡透出興奮,這半個月的時間,可謂夜以繼日。當付出還是有了回報。而後跳到床上,倒下就誰著了,這一睡就是一天一夜,當感覺肚子餓的時候才醒過來。
醒過來馬上跑了幾桶泡麵下肚之後,迅速的坐在電腦面前,這些天,雖然沒有得到原始碼,但是他透過反推明白了設計的理念,執行流程分析,並畫出圖。這已經是曾道沖最好的結果了,透過這些東西他可以編寫出一模一樣的同款軟體出來,放在網上,倆者一對比。都不一定分別出來。而有了這些東西就好辦多了,之後又不休息的進行第二款的免費防毒軟體的反編譯,有了第一次的經驗,只用了三天的時間,便推出來了,之後第三款,第四款,他每研究一款軟體,都認認真真的做好筆記,自己雖然記性很好,但是事情多了也怕忘記掉,而之後的速度越來越快,當曾道沖還想繼續研究付費軟體的時候,電話鈴聲想起來了。
“曾道沖,明天開學了,不要忘記了!”電話裡面傳來的是張萌萌的聲音。
“你不說,我還真很忘記了,謝謝了,張萌萌”曾道沖回答道,這久忙昏頭了,今天是幾號都忘記了。
“你跟我還客氣什麼呢?行!你知道我就先掛了。”而後聽筒裡傳來滴滴的聲音。