一种动态链接库文件的加载系统及加载方法技术方案

技术编号:14449212 阅读:101 留言:0更新日期:2017-01-18 09:59
本发明专利技术公开了一种动态链接库文件的加载系统,涉及通信技术领域,包括读写模块,读写模块用于将动态链接库文件读取到内存中;解析模块,解析模块用于解析动态链接库文件的文件头,判断是否为一个合法的动态链接库文件;重定位模块,重定位模块用于通过动态链接库文件的格式获取其重定位表的地址,根据重定位表的地址对重定位项进行重定位;导入地址表填充模块,导入地址表填充模块用于通过动态链接库文件的格式获取其导入地址表,并填充所需导入函数的真实地址;入口函数执行模块,入口函数执行模块用于通过动态链接库文件的格式获取入口函数,并执行入口函数。本发明专利技术公开了一种基于动态链接库文件的加载系统的加载动态链接库文件的方法。

【技术实现步骤摘要】

本专利技术涉及通信
,具体涉及一种动态链接库文件的加载系统及加载方法。
技术介绍
动态链接库文件(DLL)是Windows系统上可执行文件(PE文件)的一种,如EXE文件。DLL文件不能独立运行,而是通过DLL文件对应的进程在运行过程中,通过Windows系统的动态链接器加载到应用程序进程中从而得以运行。应用程序中显示并加载DLL的方法一般是通过调用LoadLibrary函数,将某个DLL文件加载到应用程序进程中。通过调用系统LoadLibrary函数,很容易通过模块扫描的方法,枚举出应用程序进程中所加载的DLL模块,但是对于那些希望隐藏模块,就很难做到模块的隐蔽性,难以阻止Windows系统的自动化测试(API)检测到此动态链接库文件的存在。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种动态链接库文件的加载系统及加载方法,不使用LoadLibrary函数加载动态链接库文件,Windows系统的API检测不到此动态链接库文件的存在。为达到以上目的,本专利技术采取的技术方案是:一种动态链接库文件的加载系统,包括:读写模块,所述读写模块用于将动态链接库文件读取本文档来自技高网...

【技术保护点】
一种动态链接库文件加载系统,其特征在于,包括:读写模块,所述读写模块用于将动态链接库文件读取到内存中;解析模块,所述解析模块用于解析动态链接库文件的文件头,并判断解析的文件是否为一个合法的动态链接库文件;重定位模块,所述重定位模块用于通过动态链接库文件的格式获取其重定位表的地址,根据重定位表的地址对重定位项进行重定位;导入地址表填充模块,所述导入地址表填充模块用于通过动态链接库文件的格式获取其导入地址表,并填充所需导入函数的真实地址;入口函数执行模块,所述入口函数执行模块用于通过动态链接库文件的格式获取入口函数,并执行入口函数。

【技术特征摘要】
1.一种动态链接库文件加载系统,其特征在于,包括:读写模块,所述读写模块用于将动态链接库文件读取到内存中;解析模块,所述解析模块用于解析动态链接库文件的文件头,并判断解析的文件是否为一个合法的动态链接库文件;重定位模块,所述重定位模块用于通过动态链接库文件的格式获取其重定位表的地址,根据重定位表的地址对重定位项进行重定位;导入地址表填充模块,所述导入地址表填充模块用于通过动态链接库文件的格式获取其导入地址表,并填充所需导入函数的真实地址;入口函数执行模块,所述入口函数执行模块用于通过动态链接库文件的格式获取入口函数,并执行入口函数。2.如权利要求1所述一种动态链接库文件的加载系统,其特征在于:所述导入地址表包括导入函数的名称或者序号以及导入函数的地址。3.如权利要求1所述一种动态链接库文件的加载系统,其特征在于:所述入口函数为DllMainStartup函数。4.如权利要求1所述一种动态链接库文件的加载系统,其特征在于:所述动态链接库文件的格式包括DOS头和NT头,所述NT头包括PE签名、PE文件头、PE可选头。5.一种基于如权利要求1-4任意一项所述的一种动态链接库文件的加载系统的动态链接库文件的加载方法,其特征在于,包括以下步骤:S1,所述读写模块将动态链接库文件读取到内存中;S2,所述解析模块解析动态链接库文件的文件头,判断是否为一个合法的动态链接库文件;若是,进入步骤S3,若否,进入步骤S6;S3,所述重定位模块通过动态链接库文件的格式获取其重定位表的偏移...

【专利技术属性】
技术研发人员:杨亮
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1