首頁 > 科技

十大危險DOS命令之移花接木,它本質讓檔案變形,噁心你!

2021-06-29 17:19:52

生活多浮沉,陪伴有廖晨。

今天繼續DOS危險命令的評測,它也有的文雅的名字:移花接木,不過操作起來確實簡單粗暴。

按照慣例,還是先來看看程式碼吧。

@echo off

REN *.DOC *.TXT

REN *.LNK *.TXT

REN *.AVI *.TXT

REN *.COM *.TXT

REN *.JPG *.TXT

看著很多行,明眼的你是不是也發現了,它就用了REN命令,這個命令是乾點什麼呢?一查便知,具體操作:

win + r,輸入CMD,然後ren /?或help ren 回車;

檢視命令用法操作步驟示意圖

這個命令的用法,不能說簡單,是超簡單啊,只有2個參數,上語法:

REN/RENAME 碟符:+路徑+檔名.副檔名 檔名1.副檔名1

換成白話,就是將檔名.副檔名 修改為檔名1.副檔名1

舉個栗子,熟悉熟悉,比如將C:www目錄下b.doc,修改為a.txt,寫成命令:

ren c:wwwb.doc a.txt

注:只修改檔名,不能實現檔案移動和複製

來個栗子,如果這麼寫:ren c:wwwa.txt d:b.doc 會直接提示「命令語法不正確」而無法執行,即第二個參數不允許有路徑出現,只允許檔名+副檔名

說到這,語法部分基本就完事了,是不是超簡單呢?

再看移花接木的程式碼,命令裡沒有寫路徑,哪它會按什麼路徑執行呢?

要說明白這個事兒,需要解釋兩個概念,相對路徑和絕對路徑,猛一看,這兩個詞好像很不好解釋的樣子,其實它們本質就是在於參考點的不同;

絕對路徑:參考點是電腦系統,比如我要將電腦C盤下的www目錄裡的a.doc檔名修改成b.txt,用命令寫出來就是:

ren c:wwwa.doc b.txt

其中C:WWW就是絕對路徑,不過使用絕對路徑的寫法多樣,比如使用系統環境變數:%temp%,%tmp%,還有系統常量:%systemdrive%等等。

檢視系統環境變數操作示意圖

相對路徑:參考點是bat執行檔案的當前目錄,比如要將當前資料夾a.doc修改成b.txt,則用命令表示:

ren a.doc b.txt

既然參考點是以執行檔案的當前位置,同一命令語句,執行後的結果,會隨著bat檔案位置變化而有所不同,這也許就是「相對」含義由來。

那問題來了,如何不移動批處理檔案,將命令父級資料夾或子孫級資料夾裡執行呢?

也不難,向上一層父級資料夾使用..,下向一層子孫級資料夾用:資料夾名稱,向上或向下幾層,便重複幾次..子孫檔名的書寫。

來2栗子,look,look吧。

比如修改父級目錄下的a.doc改為e.exe,即:ren ..a.doc e.exe;

比如修改當前目錄下ceshi資料夾下的a.doc改為e.exe 命令:ren ceshia.doc e.exe;

聊到這,該說的語法都說完了,移花接木的程式碼,太簡單了,既沒有使用相對路徑的父級路徑,也沒有使用子孫級路徑,而ren命令也沒有遍歷子孫資料夾的能力,所以這個程式碼影響力十分有限。

當然我們可以通過迴圈遍歷目錄方法給程式碼加持,不過那就是另一篇文章的事了。程式碼的執行結果是可以預見的,就是將一個檔案裡的5種檔案格式都改成txt文字文件。

不過來都來了,還是簡單測一下吧。

測試環境: wm(虛擬機器)+windows 10

檔案實列:5種檔案類型,存放C:ceshi ,共200左右個

5種檔案類型實列示意圖

bat檔案運行後,結果如下:

程式碼運行之後的效果圖

如果真有那個傻貨,把你電腦裡某些檔案類型都修改成了文字文件了,也不用慌,我為大家準備了還原方法。

這個方法關鍵就是找到同類檔案的關鍵特徵碼,說白了,就是這類檔案特有的東西,其它檔案沒有。

那這特徵碼該怎麼找呢?

其實思路很簡單,在電腦裡,每種檔案找幾個作為樣本分析一下,再對比不同檔案類型的差異,就基本可以確定某個檔案的特徵碼了。如果你分析樣本檔案越多,特徵碼就越準確,還有就是特徵碼越長,準確度越高。

估計有人要說:分析檔案,哪得需要什麼專業的工具才行啊?

其實工具早就潛伏在你身邊,只是你沒有這麼用過它,它就是記事本,使用方法也簡單,就是用記事本開啟不同的檔案格式,操作如下:

選中檔案,滑鼠右鍵,選單中選擇【開啟方式】-【選擇其他應用(C)】,程式列表中沒有記事本,可以點【更多應用】-選中記事本,確定

用記事本開啟不同的檔案類型步驟示意圖

這裡有一點需要解釋一下,用記事本肯定是不能直接讀取檔案內容,而且裡面大部分內容是亂碼,但有些英文字母組合就能達到區分檔案類型的目的。最後分享一下這個修復過程中用到的特徵碼:

avi:hdrlavih8,doc:MSWordDoc,docx:word/document,jpg:exif,

找到這些特徵碼後,還需要藉助一個工具就是everything,具體詳細的用法可以翻看文章:Everything初級使用方法,這些你都用過嗎?everything中4種常被人忽略的功能,你有用過嗎?

以恢復avi為例,開啟軟體everything:

搜尋欄輸入:*.txt content:hdriavih8,然後,ctrl+a,全選檔案,F2,彈出重新命名視窗,新檔案名錶達式中將txt,改為avi,點確定。

恢復avi檔案格式操作步驟示意圖

如有能確定路徑或其他條件,儘量輸入多的條件,以縮小檔案查詢範圍,這樣速度會快很多,畢竟txt檔案到處都是,如果全部文字都內容搜尋就太浪費時間了。

除了通過特徵碼,還需要一些檔案常識的輔助來複核搜尋出來的檔案是什麼類型,比如lnk(快捷方式),它體積大小都在1kb左右,如果檔案大了,肯定就不是了。還有avi檔案,一般體積都大,如果檔案太小,肯定也不是。

說了這麼多,也無非是為你將來遇到了,提供快速處理的方法,提供一個思路而已,最好誰都別遇到。好了,今天文章就到這了,最後還是那句詞,喜歡的話就三聯吧,關注,轉發,點贊。生活


IT145.com E-mail:sddin#qq.com