热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   新闻动态 -   正文

.dll 文件是什么意思,有什么用?

知了堂姐
2024-07-08 17:22:16
0

DLL(Dynamic Link Library)文件,即动态链接库,也有人称作应用程序拓展。Windows 应用程序中,实行了模块化设计,也就是说并不是每个应用程序都编 写完所有的功能代码,而是在运行过程中调用相应功能的 DLL,不需运行的功能 就不调用,所以大大加快了程序的加载速度和效率,其他应用程序也可以调用相 关的 DLL,这样也有利于促进代码重用以及内存使用效率,减少了资源占用,而 且程序更新时也只要更新相关的 DLL 就可以了。 要注意的是,有些病毒也会伪装成 DLL 文件,并替换系统的 DLL 文件,需要我 们防范。

(1)DLL 劫持原理

由于输入表中只包含 DLL 名而没有它的路径名,因此加载程序必须在磁盘上搜 索 DLL 文件。首先会尝试从当前程序所在的目录加载 DLL,如果没找到,则在 Windows 系统目录中查找,最后是在环境变量中列出的各个目录下查找。利用 这个特点,先伪造一个系统同名的 DLL,提供同样的输出表,每个输出函数转向 真正的系统 DLL。程序调用系统 DLL 时会先调用当前目录下伪造的 DLL,完成 相关功能后,再跳到系统 DLL 同名函数里执行。这个过程用个形象的词来描述 就是系统 DLL 被劫持(hijack)了。 伪造的 dll 制作好后,放到程序当前目录下,这样当原程序调用原函数时就调用 了伪造的 dll 的同名函数,进入劫持 DLL 的代码,处理完毕后,再调用原 DLL 此函数。

(2)如何防止 DLL 劫持DLL 劫持利用系统未知 DLL 的搜索路径方式,使得程序加载当前目录下的系统 同名 DLL。所以可以告诉系统 DLL 的位置,改变加载系统 DLL 的顺序不是当前 目录,而是直接到系统目录下查找。 

大家都在看

什么是动态测试?软件测试动态测试包括什么方法?

2024-07-08 浏览次数:0

成都哪里有Java架构师培训?学费大概多少钱?

2024-07-08 浏览次数:0

在成都参加Java培训出来薪资待遇如何

2024-07-08 浏览次数:0

2023高校夏令营信安&开发集训,正在招募!

2024-07-08 浏览次数:0

【3.7】除了买买买,还有B站大会员免费拿

2024-07-08 浏览次数:0

复学第一周,来看知了堂学员满分课堂状态!

2024-07-08 浏览次数:0
最新资讯