首先有一點是必須聲明的,寫這篇教程的目的並不是鼓勵大家都去動手替換系統文件,因為系統文件是直接影響到系統的正常運作的,處理不當的話,輕則會造成系統不穩定,重則會導致系統崩潰。所以,除非你已經看懂了以下內容,明確你所做的每一步的意義及其可能會帶來的後果,否則請不要輕易嘗試。
為了便於下面內容的理解,必須先讓大家了解一些概念,知道一些事實。
替換系統文件的意義何在?
所謂的系統文件一般指的是與Windows有密切關系的,系統正常運作所離不開的文件。這些文件絕大多數位於System32目 錄下(X:\Windows\System32\) 以及系統文件備份目錄DllCache下(X:\Windows\System32\Dllcache\)(“X”是你的XP系統所在的分區)他們一般是以dll文件的形式存在的,其次還有cpl(控制面版)等其他一些格式的文件。我們所看到的Windows外觀的元素(圖標、位圖、對話框、文字等)就儲存在這些文件當中,例如資源管理器(Explorer)和IE的工具欄上面的前進、後退等按鈕圖案,就是以位圖的形式存在與shell32.dll文件中的,換句話說,只要把含有新的位圖元素的shell32.dll文件替換掉原來的文件,我們就能看見新的按鈕圖案。通過替換系統文件,我們就可以打造出一個個性化的Windows系統:)
什麼東西在阻撓我們替換系統文件?
如果你以為替換系統文件僅僅通過簡單的覆蓋原文件就可以完成的話,那你可就太天真了,微軟可不願意看到他“漂亮”的window s界面被弄成其他樣子,所以從Win2000開始加入了WFP(Windows File Protection)這個東西,即系統文件保護。故名思義,就是保護系統文件不被用戶隨意修改或替換。它是如何實現文件保護的呢?上文已經提到了Dllcache這個文件備份目錄(或者叫文件緩存目錄),Windows把它認為很重要的系統文件都事先備份到這個目錄中,一旦WFP檢測到System32目錄中的這些重要文件被更改或替換,它就會自動從備份中恢復被替換的文件,讓你徒勞無功。Windows的這個功能對於自我保護不被一些病毒等篡改系統文件起到很好的作用,但卻讓不少玩主題的人感到束手無策,而且目前似乎還沒有能讓WFP徹底失效的辦法。
關於SP1
裝了SP1(Service Pack 1)的xp系統的文件保護機制依然沒變,所不同的是,系統文件的備份目錄又多了一個。安裝SP1的時候Windows把Syst em32目錄裡面被更新的文件又做了一個備份,放到了一個新建的目錄下:X:\Windows\ServicePackFile s\i386 ,而原來的Dllcache目錄中則保留未被更新的文件。這樣一來,備份文件夾變成了兩個:Dllcache和i386。
上面說了這麼多,目的是讓大家明白替換系統文件之所以比較困難的原因,了解一下系統文件保護的機理,對理解下面介紹的替換系統文 件方法與步驟是很有好處的。好了,現在就讓我們開始動手替換吧!
不過在進行替換之前,先要做一點前期工作,就是把所有隱藏的、受保護的文件統統設成可見(Dllcache目錄以及其他一些文件在默認狀態下是隱藏的),方法很簡單,打開任意一個資源管理器窗口(如“我的電腦”),在菜單欄中選擇“工具”->“文件夾選項”->“查看”選項卡,把“隱藏受保護的操作系統文件”前面的勾去掉,並把“顯示所有文件和文件夾”選上,點確定(圖1)。OK,現在系統裡所有的文件都無所遁形了。
圖1
替換系統文件的方法。關於替換系統文件的方法有很多,在這裡我根據自己的經驗向大家介紹三種常用的方法,頭兩種方法不借助任何第 三方軟件,第三種方法我會說說怎樣用Replacer這個軟件來替換系統文件。前期工作都准備好了嗎?OK,let's go!
方法一:
這是最傳統、最安全,但也是最復雜、對技術要求最高的一種方法。因為在xp下替換系統文件會受到文件保護的阻撓,但是WFP只有在進入了xp系統後才開始起作用,於是我們可以考慮避其鋒芒,到一個WFP不能起作用的環境下進行替換——純DOS下。注意一定要是純DOS,而不是xp中的“命令提示符”程序。進入純DOS需要一張啟動盤(光盤軟盤均可,一般的98/xp安裝盤都帶有此功能),並需在BIOS設置中把CD-ROM設成第一啟動項(如果用的是軟盤則設Floppy為第一啟動項),具體的設置方法我就不多說了,不會的朋友可以參考一下這裡關於BiOS設置的說明 點擊查看
成功進入DOS模式後,我們就可以進行系統文件的替換了,注意此方法要求你會一些基本的DOS命令。下面以替換shell32. dll文件為例,假設xp系統裝在C盤,而你用作替換的shell32.dll文件放在 D:\New 目錄下。
第一步:進入DLLcache目錄(藍色字為輸入的部分)。
C:\>cd Windows\system32\dllcache
第二步:把shell32.dll文件改名為shell32.bak(重命名命令可用rename或ren)。
C:\>Windows\system32\dllcache>ren Shell32.dll Shell32.bak
第三步:把用作替換的新shell32.dll文件復制到Dllcache目錄下。
C:\Windows\system32\dllcache>copy D:\New\shell32.dll
第四步:重復上面幾步的操作,把新shell32.dll文件復制到system32目錄下。
C:\Windows\system32\dllcache>cd..
C:\Windows\system32>ren Shell32.dll Shell32.bak
C:\Windows\system32>copy D:\New\shell32.dll
至此,替換工作就已經完成了,按Ctrl+Alt+Del重啟電腦即可看到替換後的效果。我們把Dllcache和System 32目錄下的shell32.dll文件替換的同時都作了備份(shell32.bak),這樣方便我們隨時把系統還原到原來的樣子。不過對於裝了SP1的xp,此方法並不好,因為在進行替換前,我們必須先判斷被替換的文件是處於Dllcache目錄還是 i386目錄中(兩者必居其一)。當然你也可以手動把Dllcache和i386目錄下的所有文件刪掉,不過本人並不推薦這樣做 。
方法二:
上面提到的方法需要用到啟動盤,而且對於不熟悉DOS命令的人來說稍嫌復雜與繁瑣,那麼有沒有一種方法可以不用進入DOS就能順利完成系統文件的替換呢?答案當然是肯定的。我們不妨這樣設想:既然Windows是從Dllcache和i386這些特定的文件夾裡面獲取文件來保護被替換的系統文件,那麼如果我們通過移動或重命名讓它找不到這些文件,情形又會怎樣呢?結果是,Wind ows會要求我們插入WindowsXP(SP1)的安裝光盤來恢復被替換的文件。當然,只要我們不按它說的去做就行了:)
第一步:把Dllcache文件夾改名為任意名字(如Backup)(如果裝了SP1的話記得要把i386文件夾也重命名),然 後把他們移動到任意地方(如C盤根目錄下)。
第二步:把你用作替換的文件直接放到System32目錄下覆蓋原文件。這時Windows會彈出系統文件被替換的警告並要求你插入xp安裝光盤(看到這個對話框就已經意味著替換成功了),選擇“取消”,它又問你是否保留這些文件,選擇“是”,大功告成( 圖2)。趕快重啟一下看看你的成果吧:)
圖2
此方法對於需要經常替換系統文件或者一次替換大量系統文件的人尤其適用。其特點在於替換過程迅速快捷,無需復雜繁瑣的步驟。只要你不要把xp安裝光盤留在光驅裡,同時對Windows彈出的任何警告信息不予理睬就OK了。不過這個方法有一個缺點就是,一些正在使用的系統文件無法進行覆蓋(如shell32.dll和explorer.exe),對於這些文件的替換只能用采用其他方法了。
方法三:
這種方法用的是一個外國人開發的叫Replacer的小工具來替換系統文件。文件只有十幾K大小,但是在我用過幾次後,發現這個小東東真的很實用,替換系統文件的本領絕對不可小觑。它的優點在於使用簡單,可以直接在xp下進行系統文件的替換,而不管它是被保護文件還是正在使用的文件,並且無需對Dllcache目錄進行改名或移動!Replacer 下載頁面:點擊進入,最新測試版是2.50,穩定版為2.37.
下面還是以替換shell32.dll文件為例:
第一步:把下載的文件解壓後會得到一個文件夾,雙擊裡面的Replacer.cmd文件即自動在命令行模式中打開,Replacer目錄裡自動生成一個臨時文件夾.ReplacerTemp(圖3)
圖3
第二步:根據提示,把你要替換掉的系統文件拖進剛才打開的窗口中(只能拖一個)(圖4) ,回車
圖4
第三步:接著,把你用作替換的相應文件也拖進窗口中(圖5)
圖5
第四步:回車,出現圖6所示的信息,詢問你是否要進行替換,輸入Y(是),回車。
圖6
第五步:下列過程將被自動完成:備份系統文件(文件後綴為.backup,如shell32.dll文件的備份為shell32 .backup,放在與原文件相同的目錄下),刪除原系統文件,把新的系統文件復制到原系統文件所在目錄以及包含有該文件的備份的其他目錄下。在這個過程中,會用到臨時文件夾中的文件。替換成功後,它會提示你重啟。同時Windows的系統保護對話框也隨後殺至,按照上面的方法應付它就行了(圖7)。
圖7
重啟後,立即就能看到替換後的效果(圖8),怎麼樣,簡單吧?:)
圖8
如果覺得這樣逐個逐個的換還是不夠爽的話,那麼你可以通過寫一個腳本文件來進行多個文件的替換,這個“腳本”實際上就是一個文本 文件,而且很好寫,並不需要用到什麼知識。具體例子請看圖9
圖9
打開記事本。其中第一行是必需的,照著寫即可。後面空的幾行只是為了段落分明,不空也可以。然後就是主要內容了,每一行的格式都 是“被替換的文件 + 逗號 + 用作替換的文件”,根據你要替換的文件來寫,在單個分號後面可以添加注釋。寫完後保存文件,名字可以任取(我取名為replac e.txt)。將要用到的替換文件放到Replacer目錄下,然後把腳本文件拖到Replacer.cmd上執行(圖10),它會提示你將有多少文件被替換(replaced),有多少文件被略過(skipped)。被略過的原因可能是你沒有把替換文件放到Replacer目錄下,也可能是你寫的腳本有誤,如文件名拼寫錯誤。如果看到被略過的文件數目為0的話,就可以按任意鍵開始進行替換了,過程跟上面的替換單個文件是一樣的。你只需寫好一個腳本,剩下的就可以交給Replacer完成了,這樣用不了兩分鐘,就能把近百個系統文件一次替換完成,怎一個爽字了得!:)
圖10
只要是用Replacer來替換的文件,同樣的,只需要寫一個腳本,就可以把它還原。格式為“要還原的文件 + 逗號 + restore”(圖11),保存後把它拖到Replacer.cmd上執行即可。
圖11
花了這麼多時間寫這篇教程,目的是讓大家都能對系統文件的替換方法和原理有所了解,因為我懂的也不多,只能把我所知道的拿出來與 大家分享了,希望大俠們看了不要見笑,大家有什麼更好的方法歡迎提出來一起討論。希望我寫的這篇教程能對大家有一點幫助,謝謝大家!
由於本人接觸這方面的時間不長,經驗比較欠缺,所以在敘述的過程中難免會有纰漏與錯誤之處,還請大蝦們及時提出指正。