2015年2月13日 星期五

使用批次檔(.bat)在Windows中為資料夾加密

  好久不見了,就在這個內湖南港區要為全民做一件大事的同時,沒有投票權的高雄市民我今天要來跟大家介紹一個還算實用的小招式,是前幾天我在找相關資料時發現的(就別問我為啥要找了XD),這個招式的IDEA是從使用者有不想讓任何人看到的檔案時可以透過這招來實現。網路上中文的內容大多是圍繞在使用一些諸如金剛鎖啦、secretfolder之類的硬方法(就是雖然可能比較萬無一失,但可能要承擔該程式盜取個資風險,以及方式不夠快(要先下載一個你喜歡的程式,然後再安裝後才能用)的心理負擔。

  我甚至還看到神奇的隱藏檔案招式,看完我忍不住笑了。

  不過當我看到下一支影片介紹之後,立馬決定採用。這方法是直接讓使用者用批次檔(batch file)的方式在DOS中執行一些指令以鎖定並隱藏其見光死檔案。首先要針對批次檔來簡單介紹一下:


  • 維基百科表示:又稱批處理文件, 在DOS、OS/2、微軟視窗系統中,是一種用來當成腳本語言運作程式的檔案。它本身是文字文件,其中包含了一系列讓具備命令列介面的直譯器(cmd)讀取並執行的指令。
簡單說就是一種劇本的概念,在依照編寫順序運行的劇本裡用淺白的指令去叫DOS(Disk Operating System,磁碟作業系統)對使用者的檔案做事情。例如可以用DIR指令去搜尋某路徑下所有檔案內容、用FORMAT把磁碟格式化、結合Java JDK來編譯和執行Java class檔案。

  回到主題,這次我們要做的是幫資料夾加密。雖然windows本身有提供加密的功能,但那不是用密碼加密而是用憑證檔案加密,對於普羅大眾來講(其實是對我自己)有那麼一點距離,因此今天要來分享的是如何用密碼來加密。

  看得懂影片+英文的人可以直接點這裡照原創作者Hasan Zahidi的指示做,看不懂的也別害怕,教你兩分鐘內解決。首先你得先複製下面的程式碼:
==================不要複製這裡=========================
cls
@echo off
title Folder Locker
IF EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B303­­09D}" GOTO UNLOCK
IF NOT EXIST Locker GOTO MDLOCKER
echo Folder Created.
:CONFIRM
echo Are you sure you want to lock the folder? (Y/N)
set/p "cho="
IF %cho%==Y GOTO LOCK
IF %cho%==y GOTO LOCK
IF %cho%==N GOTO END
IF %cho%==n GOTO END
echo Invalid Choice.
GOTO CONFIRM
:LOCK
ren Locker "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B303­­09D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B303­­09D}"
echo Folder Locked.
GOTO END

:UNLOCK
echo Enter password to unlock the Folder :
set/p "pass="
IF NOT %pass% == YourPassword GOTO FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B303­­09D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B303­­09D}" LOCK
echo Folder Unlocked Successfully.
GOTO END
:FAIL
echo Invalid Password!
GOTO END

:MDLOCKER
md Locker
echo Folder created.

GOTO END
:END
PAUSE
=====================不要複製這裡==========================

好了,接下來新增一個txt檔案(就是打開一個記事本的意思)並貼上程式碼。至此已經25%完成
接下來你要做的就是把上面藍色的YourPassword給改成你自己的密碼(例如123456789之類的)
記得不要讓密碼和前面的等號和後面的GOTO的G連在一起喔!

然後在記事本的選單列上,點"檔案"-->"另存新檔",會跳出一個視窗,看你要存在哪裡和取甚麼名稱都可以,存完之後,為檔案重新命名,在原本檔名後面加上.bat把檔案轉換為批次檔(例如原本檔名是123.txt或123,就改為123.bat)。這時候你就可以發現圖示改成一個有齒輪的,這代表你成功了!

接著點一下你剛創造的bat檔案,再按任意鍵關閉黑色視窗,就會在目錄中發現新的Locker資料夾,把你要加密的檔案丟進去, 再開一次剛剛的bat檔後會問你要不要加密,輸入Y(大小寫皆可),這時候你的資料就和Locker資料夾一起消失了!!

不過事實上檔案還是在那邊,這點可以從容量看的出來。到這裡你已經完成任務,往後需要存取資料,只需要再點一下bat檔,輸入你的密碼。只是有幾點需要注意的事情:


  • 你的.bat檔案要妥善保管,不過丟了其實也不會怎樣,只要照上面的步驟再走一次,密碼跟原本一樣即可。
  • 這個.bat檔其實是任何人只要看到都能夠打開的(也就是說他/她可以用記事本打開看到你/妳的密碼),所以建議各位可以把這個批次檔存在雲端或不會看起來奇怪的地方(但你得記住原先的Locker資料夾放在哪裡...最好是把.bat丟到同個目錄下再輸入密碼解密。),然後取名也盡量不要取的很刺眼(例如藏寶圖啦、Password啦、sod啦),甚至就直接設為隱藏放在你/妳放Locker的地方XD
  對於程式碼,只要有學過一點程式語言應該都可以看出來它只是用一些判斷條件和使用者指令去進行加密解密的動作,而且我也不是很懂(雖然掃過去一遍就大概知道邏輯了...),所以我就不解釋了(逃~)!看完這篇還沒去投贊成票的朋友們可以趕快去XDD


沒有留言:

張貼留言