[发明专利]一种模块加载方法、装置及电子设备有效
| 申请号: | 201510544043.0 | 申请日: | 2015-08-28 |
| 公开(公告)号: | CN105205400B | 公开(公告)日: | 2018-10-16 |
| 发明(设计)人: | 王鑫;刘桂峰;姚辉 | 申请(专利权)人: | 北京金山安全软件有限公司 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57 |
| 代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
| 地址: | 100085 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 模块 加载 方法 装置 电子设备 | ||
1.一种模块加载方法,其特征在于,包括:
检测是否有新进程启动;
如果检测到有新进程启动,在对所述新进程的模块按照预先指定的加载地址进行加载之前,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址;
清除模块绑定导入表中的数据,以禁用模块的绑定输入机制,使模块加载到所述新加载地址;
按照所生成的新加载地址以及所述新进程的模块占用内存空间的大小,加载所述新进程的模块。
2.根据权利要求1所述的方法,其特征在于,在所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址之前,还包括:
判断所述新进程是否为需要保护的进程;
所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,包括:
在所述新进程为需要保护的进程的情况下,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址。
3.根据权利要求2所述的方法,其特征在于,所述判断所述新进程是否为需要保护的进程,包括:
判断预先存储的进程配置信息表中是否记录有与所述新进程对应的信息;如果有,则将所述新进程确定为需要保护的进程。
4.根据权利要求1所述的方法,其特征在于,所述新进程的模块为主模块,且主模块中存在重定位表;或所述新进程的模块为系统模块;
所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,包括:
随机生成地址,将随机生成的地址作为所述新进程的模块的新加载地址。
5.根据权利要求1所述的方法,其特征在于,所述新进程的模块为主模块,且主模块中不存在重定位表;
所述根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址,包括:
将预先指定的加载地址,确定为所述新进程的模块的新加载地址。
6.根据权利要求4所述的方法,其特征在于,所述新进程的模块为系统模块:所述方法还包括:
根据预先指定的加载地址和所述新进程的模块占用内存空间的大小,填充预先准备的跳转指令。
7.根据权利要求1的方法,其特征在于,还包括:
记录所述新进程的所有模块的预先指定的加载地址;
捕获所述新进程出现的异常;
判断所记录的加载地址中是否存在所捕获到的异常对应的地址;
如果存在,则向用户提示有溢出攻击。
8.一种模块加载装置,其特征在于,包括:检测单元、地址生成单元、数据清除单元和加载单元,其中,
所述检测单元,用于检测是否有新进程启动;
所述地址生成单元,用于在所述检测单元检测到有新进程启动的情况下,在对所述新进程的模块按照预先指定的加载地址进行加载之前,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址;
所述数据清除单元,用于清除模块绑定导入表中的数据,以禁用模块的绑定输入机制,使模块加载到所述新加载地址;
所述加载单元,用于按照所述地址生成单元生成的新加载地址以及所述新进程的模块占用内存空间的大小,加载所述新进程的模块。
9.根据权利要求8所述的装置,其特征在于,还包括:第一判断单元,
所述第一判断单元,用于判断所述新进程是否为需要保护的进程;
所述地址生成单元,具体用于:
在所述检测单元检测到有新进程启动、且所述第一判断单元判断结果为是的情况下,在对所述新进程的模块按照预先指定的加载地址进行加载之前,根据预先设置的地址生成规则,生成所述新进程的模块的新加载地址。
10.根据权利要求8所述的装置,其特征在于,所述第一判断单元,具体用于:
判断预先存储的进程配置信息表中是否记录有与所述新进程对应的信息;如果有,则将所述新进程确定为需要保护的进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全软件有限公司,未经北京金山安全软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510544043.0/1.html,转载请声明来源钻瓜专利网。





