不知道大家在使用電腦過程中有沒有遇到一些檔案或檔案夾無法刪除的情況。當然,無法刪除的原因有很多,對於普通的由於“檔案正在使用中”而無法刪除推薦使用360的解鎖功能,雖然也不是太好用,但是目前沒有發現那款軟體比它好(win7系統上無奈才用360,但是用xp系統的我推薦一款軟體:超級巡警暴力刪除(點擊下載)。只能在xp上用,可以刪除任何檔案,無論檔案是否被使用,包括作業系統在內。)。
這次主要講解的是一些由Windows系統漏洞造成的無法刪除情況。一些惡意軟體往往利用系統漏洞建立一些畸形的非法檔案,最常見的就是後邊帶…的檔案夾。據我所知一共有五中方法建立一個非法檔案,列舉如下(以下是cmd命令,在cmd中運行,md是指建立檔案夾):
1、md c:\…\ 這種方法建立的檔案夾是隱藏的、不可開啟、無法刪除的,當然隱藏不是指普通的隱藏,這種隱藏在Windows內建的資源管理員中無論如何也看不到。
2、md “c:\test / “ 注意加空格和引號。這種方法建立的檔案夾可見,可開啟,可在該檔案夾下建立、拷貝、刪除檔案,但不可刪除。典型特徵是檔案夾末尾有空格。
3、md c:\test…\ 這是最常見的。這種方法建立的檔案夾可見,不可開啟,不可刪除,典型特徵是檔案夾尾部有“.”。
4、md \\.\c:\con\ 這種方法是強行建立一個與裝置名稱相同的檔案,造成無法刪除,根據系統實際情況,也可能根本無法訪問。因為檔案夾名必須與裝置名稱相同,所以這種方法典型的特徵是檔案夾名是固定的以下之一:con、aux、com1、com2、prn、nul。
5、超長檔名。一些檔案名稱過長的檔案夾進行嵌套,導致內層檔案夾因路徑名過程無法訪問。比如C:\111…1\111…11\111….1\2\ 這時候最裡邊的2檔案夾就沒辦法訪問了
以上就是我所瞭解的非法檔案夾建立方法。注意上邊所提到的無法訪問、無法刪除都是指Windows內建的資源管理員,用cmd命令完全可以操作這些檔案夾,否則有什麼意義?用Windows內建管理器操作這些檔案時,往往會看到錯誤提示:目標不存在、系統找不到該項目、路徑錯誤、參數錯誤、MS-DOS功能無效等等類似的提示。
接下來就講解如何操作這些檔案夾。
對於第一種,這種方法基本已經失效,因為它只在win98上有效,估計現在沒有用win98了,所以跳過。
對於第二種和第三種,這兩種方法可以用一個殺手鐧必殺。就是利用別名,我們不用考慮這個檔案夾到底是怎麼個結構,也不用考慮到底是怎麼建成的,只要看一下它的別名就可以自由操作了。看別名的方法是用dir命令+/x參數。比如 dir c:\ /x 這個命令就是查看c盤下的所有檔案,並顯示別名。
我們利用別名就可以隨意操作這個檔案了,比如:進入cd c:\AB259~1\ 刪除rd c:\AB259~1\。
對於第四種,這種方法建立的非法檔案比較特殊,能不能用Windows內建管理器訪問要看系統具體情況,而且沒有別名,那怎麼辦呢?我們來回憶一下它的原理:利用網路位置建立一個與裝置名稱相同的非法檔案。這句話說明之所以內建管理器無法操作是因為它在網路位置,那麼我們在訪問的時候加上網路位置就可以了!網路位置即在路徑前加\\.\。比如:進入 cd\\.\c:\con\ 刪除 rd\\.\c:\con\。 這種檔案夾一共就那麼幾種,應該很好識別!
對於第五種,這種方法很好破解,不就是因為路徑長而無法訪問嗎?那我們就從最外層入手,先把最外層的檔案夾名字改成短的,逐層深入,慢慢這個體系就瓦解了。為什麼不從裡邊入手,因為裡邊路徑太長,Windows系統不允許訪問,更不允許重新命名。如果這些超長檔案夾被做了手腳(與上邊的漏洞融合),導致無法重新命名,那麼。。。就要請出我們的cmd殺手鐧了:別名!這些超長檔案夾絕對是有別名的!從另一個角度看,訪問這些超長檔案夾也可以用8.3命名法,也就是用短檔案名稱訪問。所謂8.3命名法就是檔案名稱不超過8個,副檔名不超過3個,比如123456789.txt寫成123456~1.txt。
歡迎指正、交流、補充!