之前,有人問我有沒有辦法寫資料夾加密碼的程式出來,那時候我直覺是:我辦不到!!我對Windows登入檔不熟,而Linux系統我是完全沒碰過的人,不管是在哪個OS,我直覺我寫不出來!

後來很巧妙的,又有人問我有沒有辦法改變資料夾的背景圖,那時候我只知道用desktop.ini可以用,但是偏偏不知道怎麼用,於是我用上了MSDN去查了desktop.ini是在幹嘛的。那時候我的OS已經是XP了,說實在的,desktop.ini幾乎是存在於 WinXP 以前的東西,裡面有很多我試了都沒作用(當然也可能是我測試失敗),像是InfoTip、NoSharing等,這些在WinXP裡面都沒有作用。不過,卻讓我試到一個好玩的東西。而最近,在因緣際會下瀏覽了一位高人的網誌,所以發了這篇小小點一下當初我是怎麼做到資料夾加密的功能。由於這個加密的技巧我使用的不是很正統,中間可能有一些動作會讓人覺得非常危險,所以這裡不詳述,只介紹 desktop.ini 這塊就好。

在此要先聲明,目前有病毒藉由 desktop.ini 進行傳播,在操作時要特別留意。

一、利用desktop.ini 換資料夾 icon

1. 假設我現在要換 icon 的資料夾路徑為 "D:\Windows\Desktop\Test",那麼我先在 "D:\Windows\Desktop\Test" 裡面開啟一個 txt 文字檔,內容如下:

[.ShellClassInfo]
ConfirmFileOp=0
IconFile=%SystemRoot%\system32\SHELL32.dll
IconIndex=5

  (1.1) ConfirmFileOp: 關於其參數說明請查看 MSDN,一般人用到的都是0較多
  (1.2) IconFile=%SystemRoot%\system32\SHELL32.dll
           IconIndex=5

           這二行是要一起看的,關於 SHELL32.dll,裡面會提供許多預設的 icon,
           如果你要查有哪些 icon 的話可以照著以下動作這麼做…

            (1.2.a)  在隨便一個資料夾上按右鍵 -> 內容

                         desktop_ini (1).PNG

            (1.2.b)  切到 "自訂" 標纖,再選擇 "變更圖示"

desktop_ini (2).PNG 

            (1.2.c)  icon 的編號如下所示, 編號從0開始,
                        你可以選擇你喜歡的 icon 後記下它的編號

desktop_ini (3).PNG 

   (1.3) 當然,你也可以準備自己的 icon,上面我舉的例子是用系統預設的
           接下來的例子是我要準備我自己的 icon - Folder.ico

[.ShellClassInfo]
ConfirmFileOp=0
IconFile=Folder.ico
IconIndex=0

           由於準備的是自己的 icon,所以 IconIndex設為0(待會解說的時候以這個 desktop.ini為解說)

2. 編寫完成後,將該 txt 檔案存成 desktop.ini,所以我的"D:\Windows\Desktop\Test" 資料夾裡些應該會有這些東西

desktop_ini (4).PNG 

3. 接下來這部是很重要的一步,麻煩請按 開始 ->執行 ,並輸入
    attrib +r "D:\Windows\Desktop\Test"

4. 再回到上一層目錄,你可以看到我們的資料夾(Test)已經是 Folder.ico 的樣子了

desktop_ini (5).PNG 

二、換文字顏色、文字背景色、資料夾背景圖片

1. 這次,我們要修改的資料夾路徑假設為 "D:\Windows\Desktop\Test2",而且我們把常用到的都寫進來..

{BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}
[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
Attributes=1
IconArea_Image=Test2.jpg
IconArea_Text=0x0000069F0
IconArea_TextBackground=0x0078003C 

[.ShellClassInfo]
ConfirmFileOp=0
IconIndex=0
IconFile=MOON.ICO
DefaultDropEffect = 4

 

2. {BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}
     [{BE098140-A513-11D0-A3A4-00C04FD706EC}]
     Attributes=1
    
這三行固定不變。

3. IconArea_Image=Test2.jpg,其中的Test2.jpg即為你要顯示的背景圖片

4. IconArea_Text=0x0000069F0 ,代表文字的顏色,這方面的文字顏色可以去查色碼表

5. IconArea_TextBackground=0x0078003C,代表文字的背景顏色,特別注意,由於我們這次寫的 desktop.ini 裡面有設定背景圖片,所以文字背景顏色會看不出來,如果你把 IconArea_Image 這行述敘拿掉的話,文字背景顏色就可以正常顯示。

6. DefaultDropEffect = 4,DefaultDropEffect 代表,如果有其它檔案或資料夾 "拖曳" 到這個資料夾(這個例子指的是"D:\Windows\Desktop\Test2")裡面的話,那些被拖的檔案動作為何。有四個值可以選,1代表複製,2代表移動,4代表建立捷徑(shortcut)。

7. 再次提醒,建立好資料夾、寫好 desktop.ini 之後,一定要進行 attrib +r "資料夾名稱" 才能使 desktop.ini 正常運作。好了之後,我們的資料夾會長成這樣

desktop_ini (6).PNG 

有背景圖,顏色也被改了,如果把想要把背景圖拿掉,接下來的 IconArea_TextBackground=0x0078003C 便起作用,你的顯示可能會變成這樣

desktop_ini (7).PNG 

當然,你跳出資料夾之後,圖示會變成 MOON.ICO 的圖示。

三、desktop.ini 於根目錄底下的作用

現在遇到一個很嚴重的情況,"我有辦法對 D:\ 這種根目錄進行資格夾的格式化嗎" ? 順著我們上面的方式走,我們會在根目錄底下先建立一個desktop.ini,然後再放入desktop.ini所需的圖片、icon等等,接下來的步驟呢?

attrib +r D:\

問題就在這裡!! 這個指令沒有作用…你開始命令提示字元的時候,它會跟你說找不到 D:\ 這個檔案(就算你打 attrib +r D: 也是一樣的結果),那...該怎麼辦?這裡有個方法可以參考,雖然它可能不是很正式...

你先建立一個暫存的資料夾,然後再此資料夾建立一個 desktop.ini,最後再用 attrib +r 的指標使得 desktop.ini 可於此資料夾正常運作。好了之後,把你的 desktop.ini 和相關的圖片、icon全都剪下來到 D:\ 底下,那麼這個 desktop.ini 就可以成功使用了(其實也才成功一半而已)。我們先來看一下建立好之後 D 槽會長怎樣

desktop_ini (9).PNG 

嗯…很好,裡面的文字顏色、背景圖都變了,接下來我們跑到外面去看 D 槽的 Icon 會長得怎樣

desktop_ini (11).PNG 

很遺憾的,D槽的 Icon 並沒有變。讓人意外的是我的 G 槽(G槽是隨身碟) icon 竟然變了,而且連名稱都變了。因為,我的 G 槽裡面有放 autorun.inf,G槽內容長成這樣

desktop_ini (12).PNG 

裡面有 autorun.inf 去控制根目錄的 ICON,而 desktop.ini 則負責背景圖片、文字顏色、文字背景顏色這二部份。於是,我也於 C:\ D:\ 底下又寫了 autorun.inf,內容如下

[autorun]
label="System"
icon=KNIGHT2.ICO

就只有這三行(如果對 autorun.inf 有興趣的話,請參考這篇),要特別注意的是,autorun.inf 在根目錄寫完之後,記得要重新開機才能正常執行。等正常開機之後,就變成這樣了。

desktop_ini (13).PNG 

當然你也可以說,為什麼 desktop.ini 重新開機的時候說不定也會成功!是滴,關於這個問題,我也測過,不寫 autorun.inf ,只有 desktop.ini 在 C, D 底下重開機後,仍然沒辦法正常顯示 Icon。好了,"正常" 的 desktop.ini 到此介紹結束,接下來介紹一個不正常的功能。

四、desktop.ini 特殊功能

之前在研究 desktop.ini 的時候,其中為了試 HTMLInfoTipFile 這個東西浪費了我好久時間,到最後還是沒試出來,最後發現其它功能,讓我很 Kuso 的發展出資料夾保護程式。

1. 假設我於 "D:\Windows\Desktop" 建立了一個資料夾,名稱叫 "加密資料",一開始什麼都不做的時候它長這樣

desktop_ini (14).PNG 

2. 於 加密資料夾中,建立一個 desktop.ini,內容如下

[.ShellClassInfo]
CLSID = {871C5380-42A0-1069-A2EA-08002B30309D}
 

3. 再放進去一些檔案,最後記得要用 attrib +r  "D:\Windows\Desktop\加密資料",完成之後,你會發現資料夾的圖示如下

desktop_ini (15).PNG 

當你快點二下之後,很遺憾的,它只能使用你的 IE 連上你的首頁,連用 右鍵 -> 開啟 還是 右鍵 -> 檔案總管 都沒辦法再看到裡面的資料了。那...還能怎麼辦?

4. 會用命令提元字元的人,已經知道該怎麼做了...  attrib -r "D:\Windows\Desktop\加密資料",不過只這麼做的話,並沒辦法正常開啟,還要加一個指令:  del "D:\Windows\Desktop\加密資料\desktop.ini"。之後資料夾就能回復正常狀態。

desktop.ini 就介紹到此,對於上述有問題的話也歡迎一起討論,當然,如你會配合 HTMLInfoTipFile ,而且又會寫 htt 樣版的話,也希望能夠不吝指教。

arrow
arrow
    全站熱搜

    Edison 發表在 痞客邦 留言(6) 人氣()