谈谈NTFS数据流文件
生活随笔
收集整理的這篇文章主要介紹了
谈谈NTFS数据流文件
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、什么是NTFS數(shù)據(jù)流文件? ?????要了解NTFS流文件之前,你應(yīng)該對(duì)NTFS文件系統(tǒng)有一定的了解,?NTFS是微軟Windows?NT內(nèi)核的系列操作系統(tǒng)支持的、一個(gè)特別為網(wǎng)絡(luò)和磁盤(pán)配額、文件加密等管理安全特性設(shè)計(jì)的磁盤(pán)格式。NTFS比FAT文件系統(tǒng)更穩(wěn)定,更安全,功能也更為強(qiáng)大。 這個(gè)NTFS數(shù)據(jù)流文件,也叫Alternate?data?streams,簡(jiǎn)稱ADS,是NTFS文件系統(tǒng)的一個(gè)特性之一,允許單獨(dú)的數(shù)據(jù)流文件存在,同時(shí)也允許一個(gè)文件附著多個(gè)數(shù)據(jù)流,即除了主文件流之外還允許許多非主文件流寄生在主文件流之中,它使用資源派生的方式來(lái)維持與文件相關(guān)信息,并且這些寄生的數(shù)據(jù)流文件我們使用資源管理器是看不到的。 2、為什么NTFS有數(shù)據(jù)流這個(gè)特性? 原意是為了和Macintosh的HFS文件系統(tǒng)兼容而設(shè)計(jì)的,使用這種技術(shù)可以在一個(gè)文件資源里寫(xiě)入相關(guān)數(shù)據(jù)(并不是寫(xiě)入文件中),而且寫(xiě)進(jìn)去的數(shù)據(jù)可以使用很簡(jiǎn)單的方法把它提取出來(lái)作為一個(gè)獨(dú)立文件讀取,甚至執(zhí)行。? 3、為什么資源管理器里面看不到文件所帶的數(shù)據(jù)流文件呢?? 從網(wǎng)上找來(lái)的原因是:我們之所以無(wú)法在系統(tǒng)中看到NTFS數(shù)據(jù)流文件,是因?yàn)閃indows中的很多工具對(duì)數(shù)據(jù)流文件的支持并不是很好,就像“資源管理器”,我們無(wú)法在“資源管理器”中看到有關(guān)數(shù)據(jù)流文件的變化。? 不過(guò)這個(gè)原因很奇怪,同樣是MS自己做的東西,"資源管理器都支持不好,還有啥工具能支持好呢?"?,后來(lái)再想,也可能是這樣一個(gè)原因:在當(dāng)時(shí)寫(xiě)有關(guān)NTFS文件系統(tǒng)的數(shù)據(jù)流存儲(chǔ)的時(shí)候很多WINDOWS工具沒(méi)有相應(yīng)的更新,同時(shí)呢NTFS流的顯示與普通的文件不一樣,需要使用其他的枚舉方式來(lái)完成,再有NTFS對(duì)廣大普通用戶桌面用戶來(lái)說(shuō)沒(méi)有必要去看到,更多的是被專業(yè)軟件所使用,即使顯示出來(lái)也沒(méi)意義。? 4、如何查看,創(chuàng)建,刪除NTFS流文件? NTFS流文件分兩種情況,一種是附著于宿主文件,一種是單獨(dú)的數(shù)據(jù)流文件。這里將介紹兩種編輯流文件的方法,一是系統(tǒng)自帶的命令,一是使用工具。? 1)??系統(tǒng)命令編輯流文件實(shí)例: a)?創(chuàng)建單獨(dú)的數(shù)據(jù)流文件 命令行下使用下面的命令:echo?"this?is?a?stream?file"?>?:test1.txt OK,這樣創(chuàng)建了的流對(duì)于dir或者資源瀏覽器是完全不可見(jiàn)的,就是說(shuō)是隱藏的,只有使用notepad?:test1.txt可以查看。而即使我們知道了它的存在也無(wú)法刪除,系統(tǒng)del命令不支持刪除流文件。 b)?關(guān)聯(lián)數(shù)據(jù)流文件 首先在C:\下創(chuàng)建一個(gè)主文件,打開(kāi)記事本輸入this?is?the?main?file保存為test.txt,下面我們?yōu)樗P(guān)聯(lián)一個(gè)流文件。 命令行下輸入:echo?"this?is?a?stream?file"?>?test.txt:stream.txt”。這樣我們就創(chuàng)建了一個(gè)名為stream.txt,內(nèi)容為“this?is?a?stream?file”的數(shù)據(jù)流文件,并與宿主文件test.txt進(jìn)行了關(guān)聯(lián)。當(dāng)然你是沒(méi)法在C:\下找到steam.txt文件的,同時(shí)查看宿主文件test.txt文件,內(nèi)容依然沒(méi)變,但是如果你前后關(guān)注下這個(gè)宿主文件大小,你會(huì)發(fā)現(xiàn)變化的。同樣只能通過(guò)命令行讓它現(xiàn)形,輸入:notepad?test.txt:stream.txt,是不是打開(kāi)了你剛創(chuàng)建的流文件了,哈哈,我是看到了。 2)?使用NTFS?Streams?info工具: 經(jīng)過(guò)前面的操作,可以發(fā)現(xiàn)系統(tǒng)命令對(duì)NTFS數(shù)據(jù)流文件的支持還是很不好的,那么我們使用工具吧,NTFS?Streams?info,通過(guò)它你可以查看,創(chuàng)建,刪除流文件。 a)?查看流文件 想知道你系統(tǒng)中到底哪些文件帶著流嗎?打開(kāi)NTFS?Streams?info,在左窗口選擇你要查看目錄,切換到工具界面中間view標(biāo)簽頁(yè),單擊start?按鈕,右邊窗口將以紅色標(biāo)記顯示帶著流的文件。如下圖: 同樣在訪問(wèn)文件的過(guò)程中,也可以用工具processmonitor查看,如果文件帶了數(shù)據(jù)流文件,會(huì)被顯示出來(lái),如C:\readme.html:UnNamed,表示readme.html文件帶了隱藏的數(shù)據(jù)流文件。 b)?創(chuàng)建流文件 右窗口選擇一文件,下面我們?yōu)樵撐募P(guān)聯(lián)數(shù)據(jù)流文件:?選擇菜單Folder--Create?new?Ads?from?file?,這時(shí)你就可以將任意文件作為流文件關(guān)聯(lián)在一個(gè)文件后面。 c)?刪除流文件 使用NTFS?Streams?info查看到某些文件有帶流文件后,再選擇菜單:?Folder--Remove?ADS或者Batch?Removeing即可刪除對(duì)應(yīng)的流文件。 還有一種刪除方法,因?yàn)橹挥蠳TFS文件系統(tǒng)支持?jǐn)?shù)據(jù)流文件,所以將文件轉(zhuǎn)移到FAT文件系統(tǒng)下,所帶的數(shù)據(jù)流文件自動(dòng)就會(huì)被刪除掉了。 5、NTFS流文件如何執(zhí)行,數(shù)據(jù)流病毒如何防范? 雖然數(shù)據(jù)流可以插入,但你不能直接執(zhí)行數(shù)據(jù)流文件,所以很多殺毒軟件對(duì)這數(shù)據(jù)流病毒的支持不太好??墒?/span>病毒制作者常常能把病毒代碼和執(zhí)行的代碼--(簡(jiǎn)單的調(diào)用和處理的命令)追加到流文件中,就有破壞系統(tǒng)的可能。 具體怎么執(zhí)行的,那就需要好好分析下病毒技術(shù)了,鄙人才疏學(xué)淺,沒(méi)整明白,下面是一種比較常見(jiàn)到的數(shù)據(jù)流文件執(zhí)行方法:是直接在注冊(cè)表中的run鍵下添加數(shù)據(jù)流文件的完整路徑:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run,建立鍵值"123"?=?%filepath%:?%streamName%,下次系統(tǒng)啟動(dòng)時(shí)就會(huì)自動(dòng)運(yùn)行該隱藏文件。 對(duì)于沒(méi)有使用過(guò)蘋(píng)果產(chǎn)品的我來(lái)說(shuō),NTFS數(shù)據(jù)流文件的好處,我沒(méi)發(fā)現(xiàn),說(shuō)說(shuō)壞處吧,正如前面提到的,因?yàn)槿魏挝募伎梢宰鳛閿?shù)據(jù)流文件,因?yàn)镹TFS流文件的隱藏功能,這正好被投機(jī)倒把的分子利用了,做啥?搞破壞,還做的神不知鬼不覺(jué)。很多惡意軟件可以使用數(shù)據(jù)流文件系統(tǒng)來(lái)隱藏惡意代碼以逃避病毒掃描程序的檢查。 那么如何防范呢? a)?常見(jiàn)到的自解壓文件,不要雙擊直接運(yùn)行,可以在自解壓文件上點(diǎn)擊鼠標(biāo)右鍵,選擇“用Winrar打開(kāi)”,如果發(fā)現(xiàn)其中的文件夾是空的,那么就要留個(gè)心眼了,很可能這就是一個(gè)數(shù)據(jù)流***陷阱。? b)?不管殺毒軟件是不是能查殺NTFS數(shù)據(jù)流***,***程序運(yùn)行后,在內(nèi)存中還是會(huì)還原出來(lái)的,一般的殺毒軟件都帶有內(nèi)存監(jiān)控功能,可以將***程序在內(nèi)存中攔截下來(lái)。因此,勤升級(jí)殺毒軟件也是防范NTFS數(shù)據(jù)流***比較有效的辦法。 也有殺毒軟件利用數(shù)據(jù)流的特性,如卡巴斯基掃描過(guò)文件之后,就以數(shù)據(jù)流的形式標(biāo)記為白名單,這樣卻導(dǎo)致用戶的硬盤(pán)空間被大量占用了,所謂的卡巴斯基吃硬盤(pán)就是這樣,造成多少用戶的困擾阿.
轉(zhuǎn)載于:https://blog.51cto.com/haobinnan/168456
總結(jié)
以上是生活随笔為你收集整理的谈谈NTFS数据流文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: IT民工系列——c#计算任意四则混合运算
- 下一篇: 2008年CCNA第三学期第一单元中文题