[发明专利]一种隐蔽的Dll文件注入方法有效
申请号: | 201810269225.5 | 申请日: | 2018-03-29 |
公开(公告)号: | CN108491237B | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 王超 | 申请(专利权)人: | 山东华软金盾软件股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 支文彬 |
地址: | 250101 山东省济南市高新区舜华路1号齐鲁*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 隐蔽 dll 文件 注入 方法 | ||
一种隐蔽的Dll文件注入方法,包括如下步骤:a)设定回调函数;b)在exe文件被加载且执行入口函数前,系统调用OnLoadImage回调函数;c)读取lpImportTable地址里的原始导入表备份到缓冲区lpBackTable中;d)完成导入表的备份;e)读取lpImportTable中的导入表后依次将lpImportTable中的导入表拷贝至lpNewTable中;f)exe文件按照lpNewTable中的导入表加载Dll文件;g)替换DllMain函数中gdsection区段内的导入表,完成导入表还原。还原后的导入表与原始导入表无任何区别,因此无法通过PeTools类似软件查看到注入的Dll,理论上也无法通过对比内存导入表与PE文件导入表区分出注入的Dll,从而达到更好的Dll注入和隐藏效果。
技术领域
本发明涉及计算机操作系统Dll文件领域,具体涉及一种隐蔽的Dll文件注入方法。
背景技术
通过内核层注入dll可以通过多种技术方式来实现,其中一种方式就是通过内核层驱动修改导入表来实现。调用windows API PsSetLoadImageNotifyRoutine注册一个镜像回调通知,当模块被加载时回调函数将被操作系统内核层调用,在此回调函数内将要注入的a.dll插入到导入表并替换原有导入表。函数返回,系统将按照新的导入表依次加载dll,第一个要加载的便是我们注入的a.dll,从而完成注入。现有实现方式下,注入的a.dll使用PeTools等工具可以在内存中查看到,理论上也可以通过对比原始PE文件的导入表与内存导入表区分出所注入的dll。
发明内容
本发明为了克服以上技术的不足,提供了一种实现保护和隐藏Dll文件,使PeTools以及同原理类软件(基于导入表检测技术)无法查看到注入的Dll的隐蔽的Dll文件注入方法。
本发明克服其技术问题所采用的技术方案是:
一种隐蔽的Dll文件注入方法,包括如下步骤:
a)windows系统驱动调用PsSetLoadImageNotifyRoutine的API函数,并通过API设定回调函数,回调函数的名称为OnLoadImage;
b)当用户双击exe文件时,在exe文件被加载且执行入口函数前,系统调用OnLoadImage回调函数,在OnLoadImage函数内部通过参数IMAGE_INFO类型的ImageBase成员变量获取到导入表地址lpImportTable中;
c) windows系统遍历读取lpImportTable地址里的原始导入表备份到缓冲区lpBackTable中;
d)在exe文件中建立新的区段为gdsection,将缓冲区lpBackTable中的内容拷贝到gdsection区段中,完成导入表的备份;
e) windows系统建立新的导入表内存为lpNewTable,将需要注入的Dll文件加入到导入表内存中,windows系统读取lpImportTable中的导入表后依次将lpImportTable中的导入表拷贝至lpNewTable中;
f)回调函数OnLoadImage执行返回,exe文件按照lpNewTable中的导入表加载Dll文件;
g)加载Dll文件后进入Dll文件的DllMain函数,在DllMain函数内读取gdsection区段,将步骤d)中备份的lpBackTable的导入表取出,替换DllMain函数中gdsection区段内的导入表,完成导入表还原。
进一步的,步骤e)中需要注入的Dll文件加入到导入表内存中并放在在内存数组中第一个元素位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东华软金盾软件股份有限公司,未经山东华软金盾软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810269225.5/2.html,转载请声明来源钻瓜专利网。