小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

手工查殺木馬病毒7

 菜園子圖書館 2014-01-27
文件無疑是計算機的根本,數(shù)據(jù)的最終形式,其重要性不言可喻。文件涉及到的東西實在太多了,在這里我們只講與木馬查殺有關(guān)的部分,想詳細了解的請參閱相關(guān)資料。


  與以往一樣,我們先了解一些文件相關(guān)的基礎(chǔ)知識,然后再聊與木馬查殺相關(guān)的知識。


八、文件基本知識

  首先,我們要明確兩個概念“文件格式”、“文件系統(tǒng)格式”與一個機制“文件讀寫機制”,在此基礎(chǔ)上我們再談論文件的隱藏與查找、保護與刪除。


A、文件格式

  文件格式是什么呢?我們都知道一個文件名字的組成一般都是由文件名與擴展名組成的,比如:Explorer.exe 這個是我們經(jīng)??吹降某绦?。為什么我們說他是程序呢?因為他的擴展名是“.exe”,這個擴展名表明了他的文件格式,是exe格式的程序文件,而“exe”其實就是“Execute”這個英文單詞的縮寫,意思是“執(zhí)行”,即可以執(zhí)行的文件。


  再比如:“A.bmp”文件,對計算機比較了解的朋友,一眼就可以看出,這是一個圖片文件,為什么會是圖片呢?因為“.bmp”代表的是一個圖片格式,這也是一個英文的縮寫“Bitmap”(位圖)。


  所以,不同的擴展名代表了不同的格式,什么是格式呢?格式就是什么東西放在什么地方,什么地方又放了什么東西的一種規(guī)則。比如EXE文件,他的格式與BMP文件就完全不同,EXE文件開始部分是DOS頭,前兩個字節(jié)是“MZ”;而BMP文件的開始部分是位圖文件頭,前兩個字節(jié)是“BM”,你用記本事打開一個EXE文件與BMP文件比較一下,看看最前面的兩個字母是不是一個是MZ一個是BM呢?當然了,不同的并不僅僅是開頭,全部都是不一樣的。 為什么我們要講這些呢?這是為了告訴你一個事實,那就是“擴展名代表了一個文件的格式,但更改擴展名并不會使文件格式發(fā)生改變。張三就是張三,你硬讓他改名為李四,也不會改變他是張三的事實”。


  你如果把一個程序的擴展名改成了“.bmp”那么這個程序看起來就和圖片一樣了,圖標也會變成圖片一樣的圖標。但他實質(zhì)上仍然是一個可以執(zhí)行的程序。當然了,改了擴展名后,你雙擊它,就無法執(zhí)行了,為什么呢?因為Windows會認為這是一個圖片,嘿,系統(tǒng)是只認名字不認人的。所以,系統(tǒng)會調(diào)用圖片瀏覽程序來打開這個偽裝的程序,結(jié)果顯然是失敗的,因為這并不是一個圖片。但是,如果我們把BMP的文件關(guān)聯(lián)改成Explorer.exe呢?那系統(tǒng)就會調(diào)用Exolorer.exe來打開這個文件,結(jié)果呢?就執(zhí)行了。關(guān)于文件關(guān)聯(lián)的情況,請參閱自啟動項篇的相關(guān)章節(jié)。

 

  有朋友可能遇到過,有的木馬擴展名并不是exe而是pif、scr等等,但同樣可以用鼠標雙擊來執(zhí)行?,F(xiàn)在是不是已經(jīng)明白他們?yōu)槭裁茨軌驁?zhí)行了呢?呵,不明白我就再總結(jié)一下子:一個文件是否可以通過鼠標雙擊來執(zhí)行,與其擴展名并沒有必然聯(lián)系。有聯(lián)系的是該文件的文件格式與在系統(tǒng)中注冊的打開此格式文件所使用的程序,缺一不可。


  如果將exe文件的文件關(guān)聯(lián)改成圖片瀏覽器,那么它也就無法雙擊執(zhí)行了。而木馬習慣于將自己改成pifscr是因為系統(tǒng)中默認的打開這兩種格式文件的程序就是Explorer.exe,exe文件是一樣的。


  如果指定了用某一程序來打開或加載某一文件,只要文件格式正確就可以正確打開或加載,與擴展名無關(guān)。這就是為什么有些進程中的模塊看起來并不是DLL文件,而有些進程看起來并不是EXE文件的原因。擴展名只是告訴系統(tǒng),這一類的文件需要用某一個程序來打開,如果打開時已經(jīng)指定了程序,那擴展名就無用了,有用的只是文件格式。


  在Windows系統(tǒng)中,可以執(zhí)行的文件格式叫做PE格式(Portable Executable File Format/可移植的執(zhí)行體文件格式),包括了EXE、DLL等。而可執(zhí)行文件意指文件中存的是指令序列或與其有關(guān)的東西,是可以放到內(nèi)存中一條條執(zhí)行的。與其對應的是數(shù)據(jù)文件,其中存的并不是可指行的指令,而供查看的數(shù)據(jù),包括圖片、音樂、文檔等。


  某類型的文件格式會有相應的程序去讀取它們,而我們自己也可以定義自己的文件格式,比如:我們可以定義.SSS為擴展名的文件格式,并寫個程序來讀取,這是完全可行的。


  這里我們再順便說一說擴展名的更改,手動更改一是在DOS下或控制臺下更改,另外就是在文件夾的菜單中選擇“工具”à“文件夾選擇”,在彈出的窗口中,將“隱藏已知文件類型的擴展名”前面的勾去掉,這樣,文件夾中的文件就會顯示全部的文件名與擴展名,就可以隨便的更改了。

 

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)的更加普遍。是因為FAT32NFTS有某些優(yōu)勢么?非也,據(jù)我了解,是因為裝機人員出于方便DOS下的操作而考慮的,因為DOS是不支持NTFS文件系統(tǒng)的,這無疑是一種很不負責任的做法。

 

  為什么說這是不負責任呢?這就要從NTFS文件系統(tǒng)的優(yōu)勢說起了,當你明白NTFS文件系統(tǒng)的優(yōu)勢后,就會明白,為了圖一時的方便,用戶犧牲的又是什么。

 

NTFS系統(tǒng)的優(yōu)勢:


l容錯性:NTFS可以自動修復磁盤錯誤而不顯示出錯信息,在NTFS分區(qū)寫入文件時,系統(tǒng)會在內(nèi)存中保留一份拷貝,寫完后將寫入的與內(nèi)存中的進行比對,如果發(fā)現(xiàn)不一致,就將該扇區(qū)標為壞扇區(qū)不再使用,以免用戶數(shù)據(jù)丟失。


l安全性:可以設(shè)定文件、目錄的讀寫權(quán)限,禁止未授權(quán)的訪問。


l加密:可以對文件進行加密操作。


l文件壓縮:對不常用的文件自動壓縮以節(jié)省磁盤空間,支持單一文件或目錄的壓縮。


l磁盤限額:對各用戶分配可用磁盤空間大小。


l綜合索引功能:使文件查找更快速,這個優(yōu)勢用系統(tǒng)自帶的搜索文件功能并不明顯,可以用狙劍附帶的“磁盤文件搜索”功能,NTFS文件系統(tǒng)的30G的分區(qū)十幾萬文件,搜索完成只需幾秒鐘;而同樣大小的分區(qū)與同樣數(shù)目的文件,如果是FAT文件系統(tǒng),需要的時間則可能是要以幾十倍上百倍的計算。


l可恢復性:系統(tǒng)發(fā)生意外出現(xiàn)數(shù)據(jù)錯誤時,可以自動進行恢復。


l其它等等優(yōu)勢……總之NTFSFAT有著更高的效率更的安全性更高的……

 

 

  除了FATNTFS外,其實我們還經(jīng)常接觸另外的兩種文件系統(tǒng)格式,但卻不像FATNTFS那么去注意它們罷了,它們就是CDFSCD-ROM\ UDF(DVD-ROM),呵,是不是呢?光盤都接觸過吧?不過,我們這下面將只講FATNTFS,因為他們與我們的主題木馬的查殺是最相關(guān)的。


  文件格式有特定的程序來識別并讀取使用,而文件系統(tǒng)格式則由特定的驅(qū)動來識別并讀取使用,這就是我們經(jīng)常聽到的FSD(文件系統(tǒng)驅(qū)動),而FSD-HOOK就是HOOK這幾個驅(qū)動了:

 

CDFS格式:Cdfs.sys
UDFS格式:Udfs.sys
FAT格式: Fastfat.sys
NTFS格式:Ntfs.sys

 

 

  我們不用關(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、    利用系統(tǒng)本身的功能隱藏文件

  文件本身的屬性中,就有“隱藏屬性”,當然們勾選了文件的隱藏屬性,并設(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)意是不?

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多