|
文件無疑是計算機的根本,數(shù)據(jù)的最終形式,其重要性不言可喻。文件涉及到的東西實在太多了,在這里我們只講與木馬查殺有關(guān)的部分,想詳細了解的請參閱相關(guān)資料。
有朋友可能遇到過,有的木馬擴展名并不是exe而是pif、scr等等,但同樣可以用鼠標雙擊來執(zhí)行?,F(xiàn)在是不是已經(jīng)明白他們?yōu)槭裁茨軌驁?zhí)行了呢?呵,不明白我就再總結(jié)一下子:一個文件是否可以通過鼠標雙擊來執(zhí)行,與其擴展名并沒有必然聯(lián)系。有聯(lián)系的是該文件的文件格式與在系統(tǒng)中注冊的打開此格式文件所使用的程序,缺一不可。
B、文件系統(tǒng)格式
文件格式是指文件中的數(shù)據(jù)存放的規(guī)則,什么地方放了什么東西,而什么東西又放在什么地方。而文件系統(tǒng)格式,則是指文件在磁盤中的存放規(guī)則,此規(guī)則說明的是文件是如何放到磁盤中的,又如何能找到它們。 我們接觸最多的是FAT格式與NTFS格式,最早的系統(tǒng)比如DOS、Win3.X用的是FAT16,后來的Win95\Win98\WinMe開始使用FAT32系統(tǒng),而FAT32只是FAT16的一個增強擴充版本,并無實質(zhì)上的格式改變。 NTFS最早用于WinNT系列的操作系統(tǒng),WinNT4以后的操作系統(tǒng)都支持NTFS文件系統(tǒng),雖然仍然提供了對FAT32文件系統(tǒng)的支持,但NTFS取代FAT32已經(jīng)是定局了。而當前仍然有不少朋友在用FAT32文件系統(tǒng),尤其是系統(tǒng)盤使用FAT32文件系統(tǒng)的更加普遍。是因為FAT32較NFTS有某些優(yōu)勢么?非也,據(jù)我了解,是因為裝機人員出于方便DOS下的操作而考慮的,因為DOS是不支持NTFS文件系統(tǒng)的,這無疑是一種很不負責任的做法。 為什么說這是不負責任呢?這就要從NTFS文件系統(tǒng)的優(yōu)勢說起了,當你明白NTFS文件系統(tǒng)的優(yōu)勢后,就會明白,為了圖一時的方便,用戶犧牲的又是什么。
除了FAT與NTFS外,其實我們還經(jīng)常接觸另外的兩種文件系統(tǒng)格式,但卻不像FAT與NTFS那么去注意它們罷了,它們就是CDFS(CD-ROM)\ UDF(DVD-ROM),呵,是不是呢?光盤都接觸過吧?不過,我們這下面將只講FAT與NTFS,因為他們與我們的主題木馬的查殺是最相關(guān)的。
我們不用關(guān)心,事實上的數(shù)據(jù)在磁盤中是如何存放的,每種格式的存放方式都不相同,想了解這個的請去查閱相關(guān)資料,我們現(xiàn)在只需要明白,文件系統(tǒng)格式與文件系統(tǒng)驅(qū)動這個概念就可以了。下面呢,我們就看一看,一個文件是如何讀取的,了解了原理上的東西,再看問題就會清晰很多。 C、文件讀寫機制
在了解這個之前呢,我們?nèi)匀恍枰攘囊恍┍匾幕A(chǔ)知識,(咳,沒辦法,任何東西都不是孤立存在的,都需要一些知識為根基),文件讀寫離不開緩存管理,我們先看看緩存管理方面的。 從宏觀上來說,計算機的數(shù)據(jù)流是由磁盤流向內(nèi)存再流向CPU的各寄存器,而CPU是執(zhí)行速度最快的,匯編語言之所以被認為是效率最高的語言,很大原因在于使用匯編語言可以直接操作CPU的寄存器,可以最大限度的拋開內(nèi)存與磁盤的讀取去利用寄存器。速度其次的,就是內(nèi)存了,盡力的自內(nèi)存中讀寫數(shù)據(jù),而拋開磁盤操作,是無法直接使用寄存器時要努力做到的。而速度最慢的,就是磁盤了,直接自磁盤中讀數(shù)據(jù),是速度最慢的。 不知大家明白上面說的不?總之,系統(tǒng)在努力的保證更多的操作都是直接操作的內(nèi)存而非磁盤,以此來提高系統(tǒng)的整體效率。 但是文件是保存在磁盤上面的,避開磁盤讀寫顯然是不可能,只能是盡力的減少讀寫磁盤的次數(shù)。那么,系統(tǒng)又是如何來盡量多的讀寫內(nèi)存而不是磁盤的呢?這就是我們接下來要講的三個概念“緩存”、“智能預讀”與“延遲寫”。 緩存是什么呢?緩存的用途是將頻繁被操作的數(shù)據(jù)的一個子集保存在物理內(nèi)存中,這樣我們的頻繁操作就可以直接操作內(nèi)存,而不是頻繁的讀取磁盤了。但系統(tǒng)又如何知道我們要操作哪些數(shù)據(jù)呢?這就涉及到智能預讀的概念了,“智能”?明白了么?是通過一種科學的計算,來決定哪一部分應該被事先讀取,并保存在內(nèi)存中。當我們打開一個很大的文件或頻繁的對某一文件進行操作時,系統(tǒng)會預選讀取一部分放到內(nèi)存中,預先讀取哪些是通過計算得來的(這種計算的命中率顯然決定了性能)。以后我們的讀寫操作就都是在讀取內(nèi)存,而非速度低下的磁盤。 當打開某一大的文件時,第一次會很慢,但關(guān)閉后再打開時會快很多,有這體會么?
如果有100本很長的小說,其中10本是我們經(jīng)常閱讀的,那么在對這10本進行操作時,其速度要比操作另外90本明顯快上很多,這都是預讀搗的鬼。 延遲寫又是什么呢?比如我們修改一個文件,看著其中的一個字母“A”非常的不爽,就將它改成了“B”,改完后感覺仍然不夠好,就再改成“C”………這種修改如果系統(tǒng)每次都將修改的結(jié)果存到磁盤上,那么我們的磁盤豈不是時時刻刻都在狂轉(zhuǎn)?所以,系統(tǒng)采用了一種延遲寫的方法,我們所有的修改都存在了緩存中,當完成一定的積累后,系統(tǒng)再一次性的將所有修改寫入磁盤,而這種寫是在后臺進行的,我們并沒有更多的感覺。 這里需要注意的地方是,這種延遲寫與前面自啟動項篇中注冊表HIVE文件的延遲寫并不是完全相同的。當然了,原理與機制是相同的,都是為了減少讀寫磁盤的次數(shù)也都是利用了緩存機制。但注冊表HIVE文件的延遲寫是由一個專門的注冊表文件操作線程負責的,每5秒觸發(fā)并寫入一次。而文件的延遲寫是由緩存管理器的延遲寫出器在一個系統(tǒng)輔線程上每秒鐘一次的來執(zhí)行的,而且,執(zhí)行并不等于寫入,執(zhí)行一次意指計算一次,計算什么呢?計算是否需要寫入磁盤寫入多少又寫入哪些。 我們拋開緩存管理只談文件讀寫,那么其機制就是這樣的,系統(tǒng)得到文件讀寫請求后將請求發(fā)送給相關(guān)的服務處理程序,服務處理程序則交給文件系統(tǒng)驅(qū)動,文件系統(tǒng)驅(qū)動進行安全檢查,看我們是否有權(quán)力進行所要求的操作,如果通過,則首選自緩存中取數(shù)據(jù)給我們,只有當緩存中沒有時,才會自磁盤中定位到數(shù)據(jù)據(jù)在的位置去取數(shù)據(jù)。 汗,嘮叨了半天只是讓大家明白了有這么一個緩存的存在。這一段實在是很難寫,因為文件系統(tǒng)是系統(tǒng)中很復雜的一塊,涉及到的關(guān)聯(lián)東西很多,寫多了篇幅過長且會很雜亂,寫少了又很不清楚,也不知道大家能否看明白,實在不明白就翻翻相關(guān)資料吧。 2、文件的隱藏、查找、保護與刪除
文件的隱藏與保護的方式很多,我們下面對當前主流的一些隱藏及保護的方法進行一下講解,在說之前,先要明白文件夾是什么,對系統(tǒng)來說文件夾其實只是一個具有特殊屬性的文件而已。所以,文件的保護與隱藏同樣適用于文件夾,當然了,操作起來由于文件夾的特殊性,會有所不同。我們講解的順序是由簡到難的,首先講的就是利用系統(tǒng)本身的功能來隱藏文件或文件夾(為了講解方便,后面所指的文件也包括文件夾,隱藏也包括保護)。 A、 文件本身的屬性中,就有“隱藏屬性”,當然們勾選了文件的隱藏屬性,并設(shè)置系統(tǒng)選項為“不顯示隱藏文件”時,具有隱藏屬性的文件,將不會再顯示在文件夾中。 在文件上面按鼠標右鍵,選擇“屬性”,在屬性設(shè)置的最下面勾選“隱藏”,就可以設(shè)置此文件為隱藏文件。然后在文件夾上方的菜單里,依次選擇“工具”à“文件夾選項”,在“高級設(shè)置”里,將選項改為“不顯示隱藏的文件和文件夾”,點擊“應用”或“確定”,就可以完成設(shè)置,然后你就會發(fā)現(xiàn),你剛才設(shè)置為隱藏屬性的文件,已經(jīng)不見了。 這個設(shè)置起來很簡單,而簡單也就意味著,這種隱藏幾乎是沒有用的,因為其它人也可以通過這種方法來選擇“顯示所有文件和文件夾”將你隱藏的文件重新顯示出來。有沒有辦法加強這種方法的效果呢?答案是肯定的,有木馬就用的這種方法的增強版,而效果看起來還不錯,至少有很多人就拿它無可奈何。如何增強呢? 我們需要在注冊表中進行設(shè)置,設(shè)置的鍵為:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL。選中此鍵后,再在右側(cè)的設(shè)置窗口中,將“CheckedValue”這一項的值改為“0”,就完成了增強版的文件隱藏設(shè)置。會有什么效果呢?
我們再打開0文件夾選項設(shè)置窗口,然后選中“顯示所有文件與文件夾”,選“確定”,去文件夾中看看,剛才我們設(shè)置為隱藏的文件能看到不?是不是仍然看不到?這是咋回事?再次打開文件夾選項設(shè)置窗口,駭然發(fā)現(xiàn),我們剛剛設(shè)置成的“顯示所有文件與文件夾”又被自動的設(shè)置成了“不顯示隱藏的文件和文件夾”。
呵,記得當年好像是“橙色八月”這個木馬最先用的這種方式來隱藏文件,很有創(chuàng)意是不? |
|
|