第266章 專殺出爐
,重生之王牌黑客 !
假設(shè)一種情況,一個(gè)大盒子里要放數(shù)種口味不同的瓜子,不同口味的瓜子不能混放,還要能夠非常方便的計(jì)算出每種瓜子的重量,我們會(huì)怎么做?
有這樣一種方法,在盒子里做出很多大小相同,又相互隔離的格子,每個(gè)格子內(nèi)能夠存放的瓜子的重量是一定的,假設(shè)是50克,我們依次把每一種瓜子放到這些格子里,比如,五香味的占了五個(gè)完整的格子,第六個(gè)格子沒有占滿,我們要想知道瓜子的重量,只需要把第六個(gè)沒占滿的格子里的瓜子稱一下就可以了,如果對(duì)重量精度要求不高的話,我們甚至可以直接將最后未滿的格子中的瓜子也計(jì)算為50克,這樣的話,瓜子重量的計(jì)算就會(huì)更加方便快捷。
按照這種方法,其他口味的瓜子從第七個(gè)格子開始存放,通過數(shù)格子的方法測重,依此類推。
這時(shí)候,只考慮有瓜子的格子,我們就有一個(gè)問題,在我們把所有的瓜子都放到盒子里后,必然會(huì)有很多的格子并沒有被占滿,也就是空間的利用率不是百分百,那些未被利用而lang費(fèi)掉的空間,我們可以將之稱為空間碎片。
計(jì)算機(jī)操作系統(tǒng)中,對(duì)磁盤文件進(jìn)行管理的功能模塊叫做文件系統(tǒng),不同的文件系統(tǒng)對(duì)磁盤文件的管理方式雖然是不一樣的,但是有一點(diǎn)是相同的,那就是所有的文件系統(tǒng),在磁盤中存放文件的時(shí)候,都會(huì)把磁盤存儲(chǔ)空間劃分成大小相同的格子,這種格子在計(jì)算機(jī)專業(yè)中有一個(gè)術(shù)語,叫做磁盤扇區(qū),給磁盤畫格子的過程,就是我們平時(shí)所常說的格式化。
和瓜子重量計(jì)算相似,文件系統(tǒng)對(duì)文件大小的計(jì)算,一般都是按照扇區(qū)為單位的,不滿一個(gè)扇區(qū)的,也會(huì)按照一個(gè)扇區(qū)進(jìn)行計(jì)算。
和前面講述的盒子里放瓜子道理一樣,因?yàn)槲募笮∈请S機(jī)的,不可能正好是磁盤扇區(qū)大小的整數(shù)倍,所以任何文件系統(tǒng)對(duì)磁盤空間的利用率都不可能是百分之一百,那些無法利用的磁盤空間,就是我們常說的磁盤碎片。
雖然每一個(gè)磁盤碎片lang費(fèi)掉的磁盤空間都非常小,但是我們知道,磁盤中的文件數(shù)量是極其龐大的,因此,磁盤碎片的數(shù)量也是極其龐大的,如此一來,數(shù)量龐大的磁盤碎片,對(duì)磁盤空間的lang費(fèi)就非常可觀了,這些磁盤碎片不僅會(huì)造成磁盤空間lang費(fèi),還對(duì)磁盤讀寫效率有很大影響,這其中的原因比較復(fù)雜,這里不再講述。<上使用的ntfs,對(duì)磁盤碎片的管理能力較強(qiáng),能夠極大的減少磁盤碎片對(duì)空間的lang費(fèi),比ntfs更為先進(jìn)的文件系統(tǒng),甚至能夠隨著磁盤使用時(shí)間的推移,碎片越來越少。
然而,在微軟的操作系統(tǒng)windows98上使用的fat32,卻是一種憋足的文件系統(tǒng),這種系統(tǒng)對(duì)磁盤碎片的管理能力極弱,以至于隨著磁盤使用時(shí)間推移,碎片越用越多,然后不得不利用一些外在的磁盤碎片整理工具,對(duì)磁盤文件進(jìn)行重新規(guī)劃安排,以達(dá)到減少磁盤碎片的目的。
我們通常認(rèn)為磁盤碎片是無法被利用的,但是一些計(jì)算機(jī)高手,卻能夠通過某種高明的手段,對(duì)這些碎片加以利用,以達(dá)到其特殊的目的。
病毒感染磁盤文件,一般會(huì)導(dǎo)致磁盤文件體積增大,但是我們想像一下,如果病毒文件在感染磁盤文件時(shí),不占用新的磁盤扇區(qū),而是把自己存放在那些未存滿被感染文件數(shù)據(jù)的磁盤扇區(qū)中,而文件系統(tǒng)又是按照扇區(qū)為單位對(duì)磁盤文件大小進(jìn)行計(jì)算的,會(huì)產(chǎn)生什么結(jié)果?
這個(gè)很容易理解,這個(gè)時(shí)候,雖然病毒文件將自己寫入了文件中,但是磁盤文件的大小卻沒有改變,這種現(xiàn)象就像我們往一桶沙子里到了一盆水一樣,水倒進(jìn)去了,桶內(nèi)沙子的體積卻沒有增加。
顧狼把曲別針扔進(jìn)梅麗的盤子里,曲別針掉進(jìn)光盤盒之間的縫隙里,也是這個(gè)道理。
顧狼想到的更遠(yuǎn),因?yàn)閏ih病毒感染文件,本身利用的就是這種機(jī)制存儲(chǔ)自身的,而他們得到的病毒原體,也是從被感染文件的磁盤碎片中提取出來的,但是他和所有人都忽略了一點(diǎn)兒,那就是病毒原體自身在占據(jù)磁盤碎片之時(shí),同樣會(huì)產(chǎn)生新的磁盤碎片,如果病毒編寫者把病毒的核心代碼又塞進(jìn)了這些病毒原體產(chǎn)生的新的磁盤碎片中,并利用某種手段,將之隱藏的話,那么,前面他們對(duì)病毒原體進(jìn)行反匯編得不到其變異代碼,以及專殺工具把病毒清除不干凈,也就可以理解了。
急匆匆的跑回了技術(shù)部,顧狼坐到了電腦旁,暗暗祈禱了一下,希望自己剛才的那個(gè)推測是正確的。
他打開了一個(gè)磁盤數(shù)據(jù)抓取工具,把病毒原體所在磁盤空間內(nèi)包括碎片在內(nèi)的所有數(shù)據(jù)全部抓了出來,然后又和原來的病毒原體文件數(shù)據(jù)進(jìn)行了一番對(duì)比,于是得到了一些差異數(shù)據(jù),這些數(shù)據(jù)實(shí)際上原來就曾經(jīng)得到過,不過先前他們都把這些數(shù)據(jù)當(dāng)成了垃圾數(shù)據(jù)給過濾掉了,而這個(gè)時(shí)候,他卻要去重點(diǎn)分析這些數(shù)據(jù)。
把這些數(shù)據(jù)導(dǎo)入另外一個(gè)數(shù)據(jù)分析軟件,在開始分析的時(shí)候,顧狼的心一下子提到了嗓子眼,因?yàn)檫@是他能想到的唯一的辦法了,如果這個(gè)這個(gè)辦法還行不通,他覺得自己真的有些黔驢技窮了。
眼睛微微閉上,顧狼等了幾分鐘,然后深吸了一口氣,緩緩把眼睛睜開,看向了電腦屏幕,數(shù)據(jù)分析軟件的分析結(jié)果已經(jīng)出來了。
“原來真的是這樣,好高明的手段!”
顧狼看著軟件給出的分析報(bào)告,原本提著的心一下子落到了肚子里,緊握拳頭在空中揮動(dòng)了一下,然后站了起來,大聲說道,“大家都過來,開個(gè)會(huì)!”
再次把技術(shù)部的員工給集合起來,顧狼簡明扼要的把他的發(fā)現(xiàn)講了一下,又是引來一陣驚呼。
“武陽,先不要管這個(gè)變異算法究竟是怎么回事,直接對(duì)病毒感染磁盤扇區(qū)進(jìn)行清零操作,用最快時(shí)間對(duì)病毒專殺工具進(jìn)行改進(jìn),時(shí)間拖得越長,對(duì)我們?cè)讲焕?huì)吧。”顧狼吩咐了武陽一聲。
其實(shí)不用顧狼吩咐,武陽郁悶了這么長時(shí)間,這一下子有了突破,他早已迫不及待,躍躍欲試了,所以顧狼話音剛落,他就帶著他的兩個(gè)助手急匆匆的離開了。
武陽離開后,顧狼把他得到的病毒的變異算法代碼進(jìn)行了一番加工,然后對(duì)其進(jìn)行了反匯編,得到了一段匯編代碼,于是帶著濃濃的好奇,開始對(duì)這段代碼進(jìn)行研究分析。
這段代碼很容易看懂,其中包含一個(gè)隨機(jī)變異算法,可以說,只要這段代碼找不到,那么這個(gè)變異算法,一旦檢測到它生成的cih病毒被殺掉,就會(huì)再次生成一個(gè)不同的變異病毒出來,另外,這段代碼里還包括一個(gè)cih病毒免疫代碼判斷和繞過機(jī)制,這個(gè)機(jī)制也不是什么特別高明的東西,當(dāng)初顧狼被池翔雇傭,在對(duì)付肖遠(yuǎn)的時(shí)候,就用過類似的方法。
在他研究這段代碼的時(shí)候,武陽那邊也在緊張的工作著,一個(gè)小時(shí)后,新版的專殺工具出爐了,經(jīng)過測試,這次的專殺工具成功的在虛擬機(jī)里,將病毒徹底殺掉了。
“馬上把專殺工具送到絡(luò)部,發(fā)布上傳到玄涅論壇,我現(xiàn)在去找唐總通報(bào)一下,你們辛苦了。”
顧狼這個(gè)時(shí)候有些興奮,吩咐了武陽一聲,然后急匆匆的從技術(shù)部出來,深吸了一口氣,往唐新宇辦公室去了。