星期五, 9月 08, 2006

DLL檔修改

DLL是Dynamic Link Library的縮寫,意為動態鏈結庫。

在Windows中,許多應用程式並不是一個完整的可執行文件,它們被分割成一些相對獨立的動態鏈結庫,即DLL文件,放置於系統中。當我們執行某一個程式時,相應的DLL文件就會被調用。一個應用程式可有多個DLL文件,一個DLL文件也可能被幾個應用程式所共用,這樣的DLL文件被稱為共用DLL文件。

DLL文件一般被存放在C:WindowsSystem目錄下。

修改DLL文件的具體應用在系統的組策略和註冊表中,我們可以修改一些鍵值來優化我們的系統,並加強作業系統的安全性。可是,對於限制下載、禁止刪除文件等功能,我們無法通過上述的操作來完成,這只有通過修改系統DLL文件來實現。

目前,我們通過修改系統的DLL文件,可以實現禁止刪除文件、禁止IE下載、禁止IE另存為、禁止文件打開方式等功能

系統中部分DLL文件的功能1、Browselc.dll IE所需要調用的庫文件DLL 結構雛形就是它了
2、Shdoclc.dll 系統窗口及設置等,如刪除文件、重命名
3、Shell32.dll 系統窗口及設置等,如刪除文件、重命名
4、Cryptui.dll IE控件下載及提示對話方塊程式

修改DLL文件的方法
1、下載DLL文件修改工具EXESCOPE6.3 - 6.4工具
2、獲取Browselc.dll、Shdoclc.dll、Shell32.dll和Cryptui.dll這幾個鏈結文件。在找這幾個文件 時,最好將其他機器的硬盤,挂接在本機中,然後用本機的作業系統啟動並複製這幾個文件。3、在修改DLL文件的時候,打開該鍵值,在右面的對話方塊中將所要修改的鍵值禁用即可,不要刪除,以備日後恢復

DLL文件修改

1、禁止下載的修改方法:打開 Shdoclc.dll 修改
資源--對話方塊---4416,將4416鍵值禁用即可。

2、禁止網頁添加到收藏夾,打開Shdoclc.dll 修改
資源--對話方塊---21400,將該鍵值禁用即可。

3、禁止惡意網頁載入控件,修改Cryptui.dll文件,要同時修改5個地方才能完全禁止
資源--對話方塊---130
資源--對話方塊---230
資源--對話方塊---4101
資源--對話方塊---4104
資源--對話方塊---4107
將以各對話方塊中的相應鍵值,修改成為禁用就可以了。

4、禁止系統刪除文件修改Shell32.dll,這個文件需要修改5個地方才可以禁止系統刪除文件。
資源--對話方塊---1011
資源--對話方塊---1012
資源--對話方塊---1013
資源--對話方塊---1021
資源--對話方塊---1022
將以上五個地址的鍵值禁用就可以了!

5、禁止文件被改名,修改shell32.dll,有2個地方需要修改
資源--對話方塊---1018
資源--對話方塊---1019
將以上兩處的相應鍵值,修改為禁用就可以了!

6、禁止運行功能表,修改shell32.dll
資源--對話方塊---1018鍵值設置為禁用。

7、禁止系統文件被挪動修改shell32.dll,需要修改4個地方
資源--對話方塊---1014
資源--對話方塊---1015
資源--對話方塊---1016
資源--對話方塊---1017

8、禁止目標另存為,修改 Shdoclc.dll 文件,需要修改3個地方
資源--功能表--258---257
資源--功能表--258---252
資源--功能表--24641--2268
在這個修改中,我們要把各對應的鍵值刪除。打開該鍵值後,右鍵功能表中有刪除。
在資源--功能表--24641—2268中,有多項該鍵值,請逐一刪除。

9、禁止自定義文件夾選項修改Shell32.dll 文件,需要修改以下4個地方
資源--功能表--215---28719
資源--功能表--216---28719
資源--功能表--217---28719
資源--功能表--216---28719 找到以上四處鍵值,直接需要刪除後即可,而不是禁用。

10、禁止IE文件夾選項,修改 Browselc.dll 文件,需要修改3個鍵值
資源--功能表--263 (這裡有多個請刪除)---41251(刪除)
資源--功能表--266( 也有多個請刪除)---41329 (刪除)
資源--功能表--268---41251 (刪除) 在上面的3個鍵值中,個別鍵值有多處,請逐一刪除。

11、禁止98 文件共用控件,修改 Msshrui.dll,需要修改2個地方
資源--- 對話方塊---- 1 --- AutoRadioButton
資源--- 對話方塊---- 30 --- AutoRadioButton 將以上兩處的鍵值禁用即可。其他的選項,可以根據自己的需要進行修改。找到相應的功能鍵值,將不需要的功能,禁用就可以了。

12、禁止文件的打開方式,修改 Url.dll,需要修改2個地方
資源--- 對話方塊--- 7000
資源--- 對話方塊--- 7005 將以上兩處的鍵值禁用即可。

13、禁止更改系統桌面,修改 Shdoc401.dll,有2處地方需要修改
資源--- 對話方塊--- 29952--- PushButton:瀏覽
資源--- 對話方塊--- 29952--- PushButton:圖案 將以上兩處的鍵值禁用即可。

14、禁止系統文件夾自定義,修改 Shd401lc.dll,有2處地方需要修改
資源--- 對話方塊--- 29957
資源--- 對話方塊--- 29958 將以上兩處的鍵值禁用即可。

15、禁止文件保存路徑及打開,修改 Comdlg32.dll,有2處地方需要修改
資源--- 對話方塊--- 1547
資源--- 對話方塊--- 1548 將以上兩處的鍵值禁用即可

注意事項
1、本文以Windows XP/2000作業系統的DLL文件修改為例,並不一定適用於Windows 98作業系統,請在修改DLL文件時注意。
2、在禁止下載的操作中,除修改禁止下載的鏈結文件Shdoclc.dll外,還要修改禁止文件另存為的鏈結文件Shdoclc.dll。如果修改一個鏈結文件無法實現相應的功能,請查看其他鏈結文件中是否存在需要修改的鍵值。
3、修改後的DLL鏈結文件,需要在DOS模式下導入並重新啟動機器才有效。
4、本文章只介紹了我們日常操作中經常用到的DLL修改選項,其他選項請參看DLL文件中的具體選項進行修改。
5、在修改DLL文件前,請先備份系統原有的DLL文件,以備修改失敗恢復

回復方法
首先, 你需要解決WindowsXP系統的系統文件保護, 雖然你能夠在DOS下替換這些文件, 進入系統後似乎確實被替換成功了, 但是, 系統還是會在以後發現這些文件被更改了, 並執行系統文件還原的動作, 系統並不是簡單的檢查有無文件正在被修改來判斷的, 而是會根據現有的文件庫對文件進行完整性校驗的。
你的這些方法是通過修改可執行文件中的資源文件來達到諸如使按鈕被禁用的效果的,也就是說,是限制用戶的人為操作,而不是從根本上禁止該可執行文件相應代碼的執行,當然,這種方法在一些公共場合的電腦是有用的。
大家注意,不能將對話方塊資源禁用!!!(你沒有明確說明這一點)事實上,用EXESCOPE設置禁用屬性是將該窗口添加一個WS_DISABLED窗口類風格,而WS_DISABLED的意思是:使該窗口在初始時禁用,一個禁用的窗口不接收來自用戶的輸入,包括鍵盤滑鼠的輸入。而Windows系統下的程式中的一個重要環節就是消息傳遞,所有的鍵盤滑鼠操作都是向窗口發送相應的消息。一旦你設置了WS_DISABLED窗口類風格,該窗口就無法接收用戶的操作消息,這也就意味著,不管你怎麼按鍵盤滑鼠,該禁用了的窗口都不會作出反映。表現在對話方塊上就是該對話方塊被顯示出來但卻死活操作不了,就連關閉都關閉不了!!!
將按鈕等設置禁用是可行的。不影響其他。

沒有留言: