电脑中的DLL文件是怎么产生的

如题..电脑里的[文件名]+(.dll)文件..象有这样后缀名的文件是怎么来的?它具体是个什么东西?用什么东西弄的?

DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源

比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序 EXE 文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的 EXE 程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性的单元测试。
一般来说,DLL 是一种磁盘文件,以.dll、.DRV、.FON、.SYS 和许多以 .EXE 为扩展名的系统文件都可以是 DLL。它由全局数据、服务函数和资源组成,在运行时被系统加载到调用进程的虚拟空间中,成为调用进程的一部分。如果与其它 DLL 之间没有冲突,该文件通常映射到进程虚拟空间的同一地址上。DLL 模块中包含各种导出函数,用于向外界提供服务。DLL 可以有自己的数据段,但没有自己的堆栈,使用与调用它的应用程序相同的堆栈模式;一个 DLL 在内存中只有一个实例;DLL 实现了代码封装性;DLL 的编制与具体的编程语言及编译器无关。
在 Win32 环境中,每个进程都复制了自己的读/写全局变量。如果想要与其它进程共享内存,必须使用内存映射文件或者声明一个共享数据段。DLL 模块需要的堆栈内存都是从运行进程的堆栈中分配出来的。Windows 在加载 DLL 模块时将进程函数调用与 DLL 文件的导出函数相匹配。Windows 操作系统对 DLL 的操作仅仅是把 DLL 映射到需要它的进程的虚拟地址空间里去。DLL 函数中的代码所创建的任何对象(包括变量)都归调用它的线程或进程所有

如果你不知道他是不是病毒还是系统文件 你可以行为的话可以看路径、名称、创建时间等信息。

反汇编的话可以看该DLL的功能是什么,如果插入explorer.exe中的话很有可能就是病毒。

反汇编也称做逆向分析,通过反汇编来分析该程序的各功能模块。所以需要掌握相应的基础知道,如:汇编语言、程序设计思想、系统环境以及系统原理等。

对DLL反汇编的主要工具有:OD、IDA、softICE等。

动态反汇编工具可以直观的了解很多值及操作。
静态反汇编工具则需要你计算相应的寄存器值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-04
一、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控件下载及提示对话框程序
第2个回答  2013-12-04
DLL是Dynamic Link Library的缩写,意为动态链接库。简单理解就是仓库一样的,exe就是大脑负责把这些仓库的资源利用起来。
相似回答