药师七佛北斗七星法:什么叫做DLL文件

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 08:04:56

人们常说的“DLL”(Dynamic Link Library)也就是“动态链接库”是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的程序或资源。它和可执行文件(.EXE文件)非常类似,区别在于动态链接库中虽然包含了可执行代码却不能单独执行,而应由相应的应用程序直接或间接调用。

DLL 是一个包含可由多个程序同时使用的代码和数据的库。例如,在 Windows 操作系统中,Comdlg32 DLL 执行与对话框有关的常见函数。因此,每个程序都可以使用该 DLL 中包含的功能来实现“打开”对话框。这有助于促进代码重用和内存的有效使用。

通过使用 DLL,程序可以实现模块化,由相对独立的组件组成。例如,一个计帐程序可以按模块来销售。可以在运行时将各个模块加载到主程序中(如果安装了相应模块)。因为模块是彼此独立的,所以程序的加载速度更快,而且模块只在相应的功能被请求时才加载。

此外,可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。例如,您可能具有一个工资计算程序,而税率每年都会更改。当这些更改被隔离到 DLL 中以后,您无需重新生成或安装整个程序就可以应用更新。

什么是 DLL?
动态链接库 (DLL) 是包含函数和数据的模块的集合。程序文件(如 .exe 文件或 .dll 文件)在运行时加载这些模块(亦即所需的模块映射到调用进程的地址空间)。下面两类函数定义了 DLL: • 导出函数:这些函数由其他模块调用。
• 内部函数:这些函数仅从定义它们的 DLL 中调用。
DLL 还导出数据。不过,这些数据由相应的函数使用。
动态链接和静态链接
动态链接包括系统在加载或运行时查找导出的 DLL 函数的代码所需的信息。

在静态链接中,链接器将库函数的代码复制到调用 DLL 的每个模块。

可以通过下列方式调用 DLL 中的函数: • 加载时动态链接:调用方模块执行显式调用以导出 DLL 函数。为 DLL 创建导入库,然后将 DLL 链接到应用程序。在加载应用程序时,导入库提供加载 DLL 和查找导出的 DLL 函数所需的信息。
• 运行时动态链接:在运行时加载 DLL 时,调用方模块使用 LoadLibrary 函数或 LoadLibraryEx 函数。调用方模块调用 GetProcAddress 函数以获取导出的 DLL 函数的地址。
在链接时,Windows 搜索预安装的一组 DLL,例如性能库 (Kernel32.dll) 和安全库 (User32.dll)。然后,Windows 按以下顺序搜索 DLL: 1. 当前进程的可执行程序所在的目录。
2. 当前目录。
3. Windows 系统目录。(GetSystemDirectory 函数获取 Windows 系统目录的路径。)
4. Windows 目录。(GetWindowsDirectory 函数获取 Windows 目录的路径。)
5. PATH 环境变量中列出的目录。

注意:LIBPATH 环境变量不用于搜索。

DLL 和静态库
• DLL 可节省内存并减少交换。 通过在内存中共享 DLL 的单个副本,多个进程可以同时使用一个 DLL。相比之下,对于使用静态链接库构建的每一个应用程序,Windows 都要在内存中为其加载库代码的一个副本。
• DLL 可节省磁盘空间。 多个应用程序可以共享磁盘上的一个 DLL 副本。相比之下,使用静态链接库构建的每一个应用程序都需要让链接到程序文件映像的库代码作为一个单独的专用副本。
• DLL 可节省时间。 更改 DLL 中的函数时,只要函数的参数和返回值不变,就不必重新编译或重新链接使用这些函数的应用程序。但是,如果您使用静态链接的对象代码,则在更改函数后必须重新链接应用程序。
• DLL 可以共享函数。 在 Win32 中,DLL 可以共享函数。默认情况下,数据对于每个进程来说是独立的。但是,静态库包含针对每一个进程的单独的数据副本和函数。
DLL 入口点
DLL 有一个特殊的入口点(DllMain 函数),它在附加和分离进程和线程时运行。此行为允许根据需要创建和销毁数据结构。文件扩展名为 .ocx、.cpl 和 .drv 的文件类型也是 DLL,尽管文件扩展名已改变。在 Windows 2.x 和 Windows 3.x 中,每个 DLL 都只有一个数据段实例,而不管有多少应用程序。在 Windows 32 中,可以将 DLL 标记为共享以导致相同的行为。但是,每个进程的默认设置是拥有 DLL 数据的专用副本。
您可以通过创建 DLL 实现以下目的: • 将程序划分为可按需加载的单独模块。
• 存储特定于语言或特定于区域的资源。
• 使您自己的应用程序能够使用核心代码库。
• 生成进程内 COM 对象或 ActiveX 控件 (OCX)。
• 将 OLE 对象用作进程内 DLL。这一用法可改进 OLE 链接的性能。
• 使用控制面板扩展或使用某些类型的驱动程序。

dll文件知识

一、DLL文件常识,DLL是DynamicLinkLibrary的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。DLL文件一般被存放在C:WindowsSystem目录下

二、修改DLL文件的具体应用在系统的组策略和注册表中,我们可以修改一些键值来优化我们的系统,并加强操作系统的安全性。可是,对于限制下载、禁止删除文件等功能,我们无法通过上述的操作来完成,这只有通过修改系统DLL文件来实现。目前,我们通过修改系统的DLL文件,可以实现禁止删除文件、禁止IE下载、禁止IE另存为、禁止文件打开方式等功能。

三、系统中部分DLL文件的功能
1、Browselc.dllIE所需要调用的库文件DLL结构雏形就是它了
2、Shdoclc.dll系统窗口及设置等,如删除文件、重命名
3、Shell32.dll系统窗口及设置等,如删除文件、重命名
4、Cryptui.dllIE控件下载及提示对话框程序

四、修改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资源--对话框---10178、禁止目标另存为,修改Shdoclc.dll文件,需要修改3个地方资源--菜单--258---257资源--菜单--258---252资源--菜单--24641--2268在这个修改中,我们要把各对应的键值删除。打开该键值后,右键菜单中有删除。在资源--菜单--24641—2268中,有多项该键值,请逐一删除。
8、禁止自定义文件夹选项修改Shell32.dll文件,需要修改以下4个地方资源--菜单--215---28719资源--菜单--216---28719资源--菜单--217---28719资源--菜单--216---28719找到以上四处键值,直接需要删除后即可,而不是禁用。
9、禁止IE文件夹选项,修改Browselc.dll文件,需要修改3个键值资源--菜单--263(这里有多个请删除)---41251(删除)资源--菜单--266(也有多个请删除)---41329(删除)资源--菜单--268---41251(删除)在上面的3个键值中,个别键值有多处,请逐一删除。
10、禁止98文件共享控件,修改Msshrui.dll,需要修改2个地方资源---对话框----1---AutoRadioButton资源---对话框----30---AutoRadioButton将以上两处的键值禁用即可。其他的选项,可以根据自己的需要进行修改。找到相应的功能键值,将不需要的功能,禁用就可以了。
11、禁止文件的打开方式,修改Url.dll,需要修改2个地方资源---对话框---7000资源---对话框---7005将以上两处的键值禁用即可。
12、禁止更改系统桌面,修改Shdoc401.dll,有2处地方需要修改资源---对话框---29952---PushButton:浏览资源---对话框---29952---PushButton:图案将以上两处的键值禁用即可。
13、禁止系统文件夹自定义,修改Shd401lc.dll,有2处地方需要修改资源---对话框---29957资源---对话框---29958将以上两处的键值禁用即可。15、禁止文件保存路径及打开,修改Comdlg32.dll,有2处地方需要修改资源---对话框---1547资源---对话框---1548将以上两处的键值禁用即可。

六、注意事项
1、本文以WindowsXP/2000操作系统的DLL文件修改为例,并不一定适用于Windows98操作系统,请在修改DLL文件时注意。
2、在禁止下载的操作中,除修改禁止下载的链接文件Shdoclc.dll外,还要修改禁止文件另存为的链接文件Shdoclc.dll。如果修改一个链接文件无法实现相应的功能,请查看其他链接文件中是否存在需要修改的键值。
3、修改后的DLL链接文件,需要在DOS模式下导入并重新启动机器才有效。
4、本文章只介绍了我们日常操作中经常用到的DLL修改选项,其他选项请参看DLL文件中的具体选项进行修改。
5、在修改DLL文件前,请先备份系统原有的DLL文件,以备修改失败恢复

DLL文件是一种应用程序扩展程序,中文翻译为动态链接库,这种文件中保存了某些程序运行时需要调用的函数,比如在用DELPHI一类的平台编程的时候,一般编程人员都会把使用频率高,复写比较麻烦的函数保存在DLL文件中,同时DLL也是有独立的源代码的,他是一个应用程序的一部分