[发明专利]一种调用DLL未知导出函数的方法及系统在审
| 申请号: | 201410801308.6 | 申请日: | 2014-12-22 |
| 公开(公告)号: | CN105487849A | 公开(公告)日: | 2016-04-13 |
| 发明(设计)人: | 周龙;康学斌;肖新光 | 申请(专利权)人: | 哈尔滨安天科技股份有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 150090 黑龙江省哈尔滨*** | 国省代码: | 黑龙江;23 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 调用 dll 未知 导出 函数 方法 系统 | ||
技术领域
本发明涉及计算机网络安全领域,特别涉及一种调用DLL未知导出函数的方法及系统。
背景技术
现有的软件中,绝大部分的应用软件都不是由一个单独的可执行文件组成,而是需要调用由别的软件模块提供的各种功能,对于Windows下的软件主要是由DLL(即动态链接库)来完成这一功能,而DLL则主要是通过导出函数来提供相应的功能。现在也有很多的恶意软件将一些核心的功能封装在DLL中,通过各种技术实现隐藏自身的目的。我们在动态检测恶意软件的时候,通常是在一个虚拟机环境中将它运行起来,然后对整个系统及网络进行监控,而DLL是不能独立运行的。一般使用DLL的导出函数时需要知道其函数声明,例如动态调用DLL导出函数的方法一般为:首先用typedef为目标函数定义函数指针类型,然后用GetProcAddress来获取函数指针,最后用函数指针进行调用。那么在不知道导出函数的函数声明时,像VisualStudio中自带的DependencyWalker等工具都可以查看DLL中的导出函数,但是仍然无法知道函数的参数,要进一步了解各函数的参数,需要用到调试器以及一定的汇编知识才可能一步步的了弄清楚导出函数的参数,这对于人工来说尚属于比较复杂的过程,要想实现自动化就更加困难。
发明内容
基于上述问题,本发明提出了一种调用DLL未知导出函数的方法,该方法能够通用使用,解决了未知函数参数未知,无法进行调用的问题。
一种调用DLL未知导出函数的方法,包括:
加载DLL文件到内存;
解析PE文件结构,获得DLL文件的导出函数信息;
加载预设的函数参数集合;
采用动态构造堆栈的方式,逐一调用DLL的导出函数。
所述的方法中,采用动态构造堆栈的方式,逐一调用DLL的导出函数具体为:
分配地址空间;
保存寄存器,并压入10个堆;
调用导出函数;
还原寄存器。
一种调用DLL未知导出函数的系统,包括:
文件加载模块,用于加载DLL文件到内存;
解析模块,用于解析PE文件结构,获得DLL文件的导出函数信息;
参数加载模块,用于加载预设的函数参数集合;
函数调用模块,用于采用动态构造堆栈的方式,逐一调用DLL的导出函数。
所述的系统中,采用动态构造堆栈的方式,逐一调用DLL的导出函数具体为:
分配地址空间;
保存寄存器,并压入10个堆;
调用导出函数;
还原寄存器。
本发明主要是基于在恶意代码的动态检测方面,并不需要非常精确的去使用这些DLL的导出函数,而只是想知道这些函数的功能,及其作用,因此只是需要一种通用的调用方式,将这些导出函数正常调用,激发出其功能就可以。本发明的原理是动态构造堆栈,比较通用,而且易于程序实现。
本发明的优势在于结合恶意代码动态检测系统,能够更多的调用DLL的导出函数,从而激发出更多的行为,最终达到更加全面准确的检测。在未使用此方法时,只能正常调用DLL的服务函数ServiceMain,而其他导出函数基本无法正常调用,所以大部分的DLL行为无法激发出来,导致DLL检测效果不理想,使用本发明中的方法,将能够大大提高对DLL的检测效果。
本发明提供了一种调用DLL未知导出函数的方法及系统,包括:加载DLL文件到内存;解析PE文件结构,获得DLL文件的导出函数信息;加载预设的函数参数集合;采用动态构造堆栈的方式,逐一调用DLL的导出函数。本发明利用动态构造堆栈的方式,给出充足的参数供导出函数使用,从而调用所有的导出函数。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种调用DLL未知导出函数的方法实施例流程图;
图2为本发明一种调用DLL未知导出函数的系统实施例结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨安天科技股份有限公司,未经哈尔滨安天科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410801308.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种虚拟机实现验证码系统修复的方法及装置
- 下一篇:网络光纤用箱柜





