[发明专利]隐藏导入表的方法、装置、存储介质和计算机设备有效
申请号: | 201810629116.X | 申请日: | 2018-06-19 |
公开(公告)号: | CN108897994B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 黄国友 | 申请(专利权)人: | 广州华多网络科技有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 刘延喜 |
地址: | 511442 广东省广州市番*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 隐藏 导入 方法 装置 存储 介质 计算机 设备 | ||
本发明提供一种隐藏导入表的方法、装置、存储介质和计算机设备,以解决现有技术中缺乏隐藏导入表相关方案的技术问题。所述的方法包括步骤:从目标程序文件中获取原始导入表;在所述目标程序文件中增加新段;将所述原始导入表拆分为若干个部分,并对若干个部分分别加密后保存到所述新段中;将所述原始导入表从所述目标程序文件中删除。本发明实施例实现了导入表的隐藏。
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种隐藏导入表的方法、装置、存储介质和计算机设备。
背景技术
导入表存储了目标程序调用的全部导入函数的相关信息,记录了目标程序调用了哪些系统API(Application Programming Interface,应用程序编程接口)以及依赖了哪些动态链接库。
外挂可通过导入表定位所有对分析有帮助的敏感函数,进而分析出目标程序内部逻辑。外挂也可挂钩导入表,插入自身特定调用函数,从而达到其非法的目的。因此,为了保护目标程序,避免用户通过外挂达到非法目的,隐藏导入表显得十分重要。因而亟需提供一种隐藏导入表的方案。
发明内容
本发明针对现有技术中缺乏隐藏导入表方案的技术缺陷,提出一种隐藏导入表的方法、装置、存储介质和计算机设备,以实现导入表的隐藏。
本发明的实施例根据第一个方面,提供了一种隐藏导入表的方法,包括步骤:
从目标程序文件中获取原始导入表;
在所述目标程序文件中增加新段;
将所述原始导入表拆分为若干个部分,并对若干个部分分别加密后保存到所述新段中;
将所述原始导入表从所述目标程序文件中删除。
在一个实施例中,所述将所述原始导入表拆分为若干个部分,并对若干个部分分别加密后保存到所述新段中,包括:
根据预先定义的导入项结构体,将所述原始导入表中的每一项函数信息对应生成导入项,由各个导入项构成导入项集合;
从所述导入项集合中依次获取同一类型的数据,将依次获取的同一类型的数据分别加密后保存到所述新段中。
在一个实施例中,所述导入项结构体包括函数虚拟地址、函数名称和动态链接库名称;
所述从所述导入项集合中依次获取同一类型的数据,将依次获取的同一类型的数据分别加密后保存到所述新段中,包括:
从所述导入项集合中依次获取由各个动态链接库名称构成的动态链接库名称列表、由各个函数名称构成的函数名称列表和由各个函数虚拟地址构成的虚拟地址列表;
将所述动态链接库名称列表、所述函数名称列表和所述虚拟地址列表分别加密后保存到所述新段中。
在一个实施例中,所述将所述动态链接库名称列表加密后保存到所述新段中,包括:
为所述动态链接库名称列表分配第一内存;
在所述第一内存中填入若干个随机值;
从所述第一内存的指定偏移开始,将所述动态链接库名称列表中各个动态链接库名称依次填入到所述第一内存中,其中,填入的相邻两个动态链接库名称之间的偏移增量依赖于随机数;
将所述第一内存复制到所述新段中。
在一个实施例中,所述在所述第一内存中填入若干个随机值,包括:
传入第一随机值,将所述第一随机值作为随机种子;
根据所述随机种子生成若干个随机值;
将若干个随机值填入所述第一内存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州华多网络科技有限公司,未经广州华多网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810629116.X/2.html,转载请声明来源钻瓜专利网。