假設一種情況,一個大盒子裡要放數種口味不同的瓜子,不同口味的瓜子不能混放,還要能夠非常方便的計算出每種瓜子的重量,我們會怎麼做?

有這樣一種方法,在盒子裡做出很多大小相同,又相互隔離的格子,每個格子內能夠存放的瓜子的重量是一定的,假設是50克,我們依次把每一種瓜子放到這些格子裡,比如,五香味的佔了五個完整的格子,第六個格子沒有佔滿,我們要想知道瓜子的重量,只需要把第六個沒佔滿的格子裡的瓜子稱一下就可以了,如果對重量精度要求不高的話,我們甚至可以直接將最後未滿的格子中的瓜子也計算為50克,這樣的話,瓜子重量的計算就會更加方便快捷。

按照這種方法,其他口味的瓜子從第七個格子開始存放,透過數格子的方法測重,依此類推。

【鑑於大環境如此,本站可能隨時關閉,請大家儘快移步至永久運營的換源App,huanyuanapp.org 】

這時候,只考慮有瓜子的格子,我們就有一個問題,在我們把所有的瓜子都放到盒子裡後,必然會有很多的格子並沒有被佔滿,也就是空間的利用率不是百分百,那些未被利用而浪費掉的空間,我們可以將之稱為空間碎片。

計算機作業系統中,對磁碟檔案進行管理的功能模塊叫做文件系統,不同的文件系統對磁碟檔案的管理方式雖然是不一樣的,但是有一點是相同的,那就是所有的文件系統,在磁碟中存放檔案的時候,都會把磁碟存儲空間劃分成大小相同的格子,這種格子在計算機專業中有一個術語,叫做磁碟扇區,給磁碟畫格子的過程,就是我們平時所常說的格式化。

和瓜子重量計算相似,文件系統對文件大小的計算,一般都是按照扇區為單位的,不滿一個扇區的,也會按照一個扇區進行計算。

和前面講述的盒子裡放瓜子道理一樣,因為文件大小是隨機的,不可能正好是磁碟扇區大小的整數倍,所以任何文件系統對磁盤空間的利用率都不可能是百分之一百,那些無法利用的磁盤空間,就是我們常說的磁盤碎片。

雖然每一個磁盤碎片浪費掉的磁盤空間都非常小,但是我們知道,磁碟中的檔案數量是極其龐大的,因此,磁盤碎片的數量也是極其龐大的,如此一來,數量龐大的磁盤碎片,對磁盤空間的浪費就非常可觀了,這些磁盤碎片不僅會造成磁盤空間浪費,還對磁碟讀寫效率有很大影響,這其中的原因比較復雜,這裡不再講述。

因此,任何文件系統,都會有一種機制對磁盤碎片進行處理,較為先進的文件系統,比如WindowsNT上使用的NTFS,對磁盤碎片的管理能力較強,能夠極大的減少磁盤碎片對空間的浪費,比NTFS更為先進的文件系統,甚至能夠隨著磁碟使用時間的推移,碎片越來越少。

然而,在微軟的作業系統Windows98上使用的fat32,卻是一種憋足的文件系統,這種系統對磁盤碎片的管理能力極弱,以至於隨著磁碟使用時間推移,碎片越用越多,然後不得不利用一些外在的磁盤碎片整理工具,對磁碟檔案進行重新規劃安排,以達到減少磁盤碎片的目的。

我們通常認為磁盤碎片是無法被利用的,但是一些計算機高手,卻能夠透過某種高明的手段,對這些碎片加以利用,以達到其特殊的目的。

病毒感染磁碟檔案,一般會導致磁碟檔案體積增大,但是我們想像一下,如果病毒檔案在感染磁碟檔案時,不佔用新的磁碟扇區,而是把自己存放在那些未存滿被感染檔案資料的磁碟扇區中,而文件系統又是按照扇區為單位對磁碟文件大小進行計算的,會產生什麼結果?

這個很容易理解,這個時候,雖然病毒檔案將自己寫入了檔案中,但是磁碟檔案的大小卻沒有改變,這種現象就像我們往一桶沙子裡到了一盆水一樣,水倒進去了,桶內沙子的體積卻沒有增加。

顧狼把曲別針扔進梅麗的盤子裡,曲別針掉進光碟盒之間的縫隙裡,也是這個道理。

顧狼想到的更遠,因為CIH病毒感染檔案,本身利用的就是這種機制儲存自身的,而他們得到的病毒原體,也是從被感染檔案的磁盤碎片中提取出來的,但是他和所有人都忽略了一點兒,那就是病毒原體自身在佔據磁盤碎片之時,同樣會產生新的磁盤碎片,如果病毒編寫者把病毒的核心程式碼又塞進了這些病毒原體產生的新的磁盤碎片中,並利用某種手段,將之隱藏的話,那麼,前面他們對病毒原體進行反匯編得不到其變異程式碼,以及專殺工具把病毒清除不乾淨,也就可以理解了。

急匆匆的跑回了技術部,顧狼坐到了電腦旁,暗暗祈禱了一下,希望自己剛才的那個推測是正確的。

他開啟了一個磁碟資料抓取工具,把病毒原體所在磁盤空間內包括碎片在內的所有資料全部抓了出來,然後又和原來的病毒原體檔案資料進行了一番對比,於是得到了一些差異資料,這些資料實際上原來就曾經得到過,不過先前他們都把這些資料當成了垃圾資料給過濾掉了,而這個時候,他卻要去重點分析這些資料。

把這些資料匯入另外一個數據分析軟體,在開始分析的時候,顧狼的心一下子提到了嗓子眼,因為這是他能想到的唯一的辦法了,如果這個這個辦法還行不通,他覺得自己真的有些黔驢技窮了。

眼睛微微閉上,顧狼等了幾分鐘,然後深吸了一口氣,緩緩把眼睛睜開,看向了電腦屏幕,數據分析軟體的分析結果已經出來了。

“原來真的是這樣,好高明的手段!”

顧狼看著軟體給出的分析報告,原本提著的心一下子落到了肚子裡,緊握拳頭在空中揮動了一下,然後站了起來,大聲說道,“大家都過來,開個會!”

再次把技術部的員工給集合起來,顧狼簡明扼要的把他的發現講了一下,又是引來一陣驚呼。

“武陽,先不要管這個變異演算法究竟是怎麼回事,直接對病毒感染磁碟扇區進行清零操作,用最快時間對病毒專殺工具進行改進,時間拖得越長,對我們越不利,散會吧。”顧狼吩咐了武陽一聲。

其實不用顧狼吩咐,武陽鬱悶了這麼長時間,這一下子有了突破,他早已迫不及待,躍躍欲試了,所以顧狼話音剛落,他就帶著他的兩個助手急匆匆的離開了。

武陽離開後,顧狼把他得到的病毒的變異演算法程式碼進行了一番加工,然後對其進行了反匯編,得到了一段彙編程式碼,於是帶著濃濃的好奇,開始對這段程式碼進行研究分析。

這段程式碼很容易看懂,其中包含一個隨機變異演算法,可以說,只要這段程式碼找不到,那麼這個變異演算法,一旦檢測到它生成的CIH病毒被殺掉,就會再次生成一個不同的變異病毒出來,另外,這段程式碼裡還包括一個CIH病毒免疫程式碼判斷和繞過機制,這個機制也不是什麼特別高明的東西,當初顧狼被池翔僱傭,在對付肖遠的時候,就用過類似的方法。

在他研究這段程式碼的時候,武陽那邊也在緊張的工作著,一個小時後,新版的專殺工具出爐了,經過測試,這次的專殺工具成功的在虛擬機器裡,將病毒徹底殺掉了。

“馬上把專殺工具送到網絡部,釋出上傳到玄涅論壇,我現在去找唐總通報一下,你們辛苦了。”

顧狼這個時候有些興奮,吩咐了武陽一聲,然後急匆匆的從技術部出來,深吸了一口氣,往唐新宇辦公室去了。

章節目錄

推薦閱讀
相鄰推薦