SmartScreen功能原本是為了保護(hù)用戶不進(jìn)入危險(xiǎn)或仿冒的網(wǎng)站的,在Windows 8當(dāng)中,這功能已經(jīng)被系統(tǒng)接受。如果你打開一個(gè)從網(wǎng)絡(luò)上面下載的程序,就會得到以下提示:

系統(tǒng)會在打開文件的時(shí)候檢查該文件,如果不符合某些規(guī)則就彈出提示框。筆者最開始在使用Windows 8 的時(shí)候就被這樣的提示迷惑了,認(rèn)為程序壞掉了。其實(shí)是系統(tǒng)對于文件的處理不同了。網(wǎng)絡(luò)上關(guān)于關(guān)閉它的方法也就很多,這里不是重點(diǎn),我們來看看到底是文件的什么地方會讓系統(tǒng)認(rèn)為它不安全。
對于其點(diǎn)擊右鍵,可以發(fā)現(xiàn)在屬性當(dāng)中的最下面多了一小部分(紅色框):

提示我們這個(gè)文件是從別的地方獲取到的,因此為了安全,系統(tǒng)自動鎖上了,點(diǎn)擊按鈕就可以解鎖并正常訪問了,之后也不會再次提醒。在學(xué)習(xí)NTFS的時(shí)候發(fā)現(xiàn)了其中的秘密:系統(tǒng)使用一個(gè)特殊的文件流來保存這個(gè)信息,而使用普通方法是看不到這樣的內(nèi)容。而該文件流的流名字是Zone.Identifier,大小只有20來字節(jié),查看的話需要使用命令提示符來進(jìn)行,在命令提示符當(dāng)中輸入:
more < IFEO_V2.exe:Zone.Identifier

就會看到如下內(nèi)容:
[ZoneTransfer]
ZoneId=3

這其實(shí)就是一個(gè)標(biāo)識符,其中ZoneId代表了所在的區(qū)域。這里的區(qū)域是對應(yīng)于IE當(dāng)中的區(qū)域設(shè)置,1代表受信任的站點(diǎn),2代表本地Intranet,3代表Internet,4代表受限制的站點(diǎn)。根據(jù)默認(rèn)設(shè)置,1和2都可以正常使用而沒有提示,3就會得到如上提示。如果ZoneId為4就會得到下面的錯誤信息:
系統(tǒng)認(rèn)為這是一個(gè)不信任的程序,因此系統(tǒng)拒絕打開該文件。在此,除非手動解鎖或者調(diào)整安全設(shè)置,這個(gè)程序是運(yùn)行不了的。
微軟提供了一個(gè)查看文件流的工具: streams.exe 使用該工具可以查看某些文件或文件夾的文件流,它可以列出流的大小和名字等詳細(xì)信息。查看一個(gè)文件流具體內(nèi)容使用 “more < 文件名:流名稱”即可(不含引號)。由于Windows當(dāng)中要求文件名不能包含冒號,所以使用常用的桌面程序是無法打開該流里邊的內(nèi)容的。
新聞熱點(diǎn)
疑難解答
圖片精選