扫一扫
关注微信公众号

Windows中DLL文件基本原理及修改方法
2007-01-26   中国IT实验室

一、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.0-6.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文件,以备修改失败恢复
  
  DLL修改实例讲解
  
  ※ 关于系统托盘图标的修改 ※
  
  网络连接和音量~~~
  
  这两个都在C:\WINDOWS\system32文件夹下面,可以找到
  
  (网络连接)图标是在netshell.dll图标项的#1915--#1918
  
  (音量)stobject.dll图标项的 230--231
  
  还有 (音量)stobject.dll图标项的 230--231
  
  ※ 关于打开/保存对话框右上角按钮的修改 ※
  
  还有好多人提到打开和另存为对话框右上角那个几个位图的问题,在这还是在说一遍:是comctl32.dll里面的位图项124--131,在这下面两个文件夹里面
  
  X:\WINDWOS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.0.0_x-ww_1382d70a
  
  X:\WINDWOS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.10.0_x-ww_f7fb5805
  
  ※ 关于IE下载对话框动画的修改 ※
  
  IE下载的AVI也有好多人问
  
  在C:\WINDOWS\system32\SHDOCVW.DLL里面的AVI资源256
  
  ※ 关于资源管理器/IE工具栏按钮的修改 ※
  
  IE和资源管理器的工具栏按钮的替换位置为shell32.dll位图204--217
  
  IE角上微标的替换位置为 shell32.dll 里面位图240-242
  
  ※ 关于关机/注销对话框的修改 ※
  
  还有问的最多的问题就是关机和注销对话框了
  
  关机是msgina.dll,
  
  注销是shell32.dll
  
  ※ 关于Windows图片查看器的修改 ※
  
  图片和传真查看器也是比较常见地~~~ 标题栏的字样可以修改里面字符串的第一项
  
  下面一排按钮是shimgvw.dll位图项104~107
  
  ※ 关于控制面板项目的修改 ※
  
  控制面板的分类视图的各个图标位置为shell32.dll图标项268~276
  
  控制面板的经典视图的各项图标一般在C:\WINDOWS\system32下对应的.cpl文件,分别为:
  
  modem.cpl 调制解调器图标
  main.cpl 鼠标图标
  netcpl.cpl网络连接图标
  ODBCCP32.CPL ODBC 数据源
  powercfg.cpl电源选项
  main.cpl 打印机和传真图标
  intl.cpl区域和语言设置图标
  appwiz.cpl 添加/删除应用程序图标
  mmsys.cpl声音与多媒体图标
  sysdm.cpl系统图标
  inetcpl.cpl用户图标
  access.cpl辅助功能选项
  sysdm.cpl添加新硬件
  datetime.cpl日期时间图标
  desk.cpl 显示属性
  main.cpl字体图标
  joy.cpl 游戏控制器图标
  inetcpl.cpl Internet选项图标
  main.cpl 键盘图标
  mstask.dll任务计划图标
  等~~~~~~
  
  添加/删除应用程序的对话框
  
  很多人找不到最下面那个设定程序访问和默认值的图标,这里我也帖一下图啦 `~~
  
  appwiz.cpl 上面三个在位图项的101--103,而不是通常的图标项里面
  
  而最下面的图标在moricons.dll的图标项114
  
  ※ 关于系统属性对话框的修改 ※
  
  好多人想改系统属性对话框上的字和里面对应的图标、位图等,我帮大家收集了一下为下面的几个文件:
  
  计算机名netid.dll (对话框上的字,对话框项112)
  
  远程remotepg.dll (对话框上的字,对话框项510)
  
  自動更新wuaueng.dll(对话框上的字,对话框项501)
  
  常规、硬件和高级选项sysdm.cpl (对话框上的字,对话框项101)
  
  系统还原 srrstr.dll (对话框上的字,对话框项11)
  
  ※ 关于显示属性对话框的修改 ※
  
  显示属性对话框也是大家个性化中首要考虑的一个问题~~
  
  于之相关的文件为themeui.dll和shell32.dll~~~
  
  ※ 其他 ※
  
  系统消息中使用的图标,这个大家替换的时候一定要注意一点,图标的格式和原来的图标的格式一定要一样的,否则有可能进不了系统!!!切记
  
  这个文件为:User32.dll图标项100--105
  
  工具栏位图替换C:\WINDOWS\PCHEALTH\HELPCTR\Binaries下helpctr.exe里面的位图项300#--303# 还有图标项200#
  
  还有就是里面的一些图标和位图等 下载下面的文件直接替换C:\WINDOWS\PCHEALTH\HELPCTR\System下的images文件夹

热词搜索:

上一篇:一个文件的精彩 深挖INF文件格式功能(下)
下一篇:嵌入式Linux的图像采集与显示(上)

分享到: 收藏