实现系统热补丁的方法及装置制造方法及图纸

技术编号:10255601 阅读:199 留言:0更新日期:2014-07-24 22:54
本发明专利技术是关于一种实现系统热补丁的方法及装置。其中,所述方法包括:根据接收到的热补丁触发指令,加载并解析热补丁应用配置文件;通过查询所述热补丁应用配置文件,确定当前系统进程是否需要加载热补丁;若所述当前系统进程需要加载热补丁,则从所述热补丁应用配置文件中获取所述当前系统进程需要应用的热补丁信息;根据所述热补丁信息,对所述当前系统进程进行热补丁处理;其中,所述当前系统进程为进程初始化已完成,但程序代码还未执行的进程,所述热补丁应用配置文件为存储在预设存储区内的共享文件。本发明专利技术提供的技术方案,可在系统运行过程中自动对系统进行缺陷修复,降低了系统存在的安全风险,确保了系统安全可靠的运行。

【技术实现步骤摘要】

本专利技术涉及一种计算机领域,特别是涉及一种实现系统热补丁的方法及装置
技术介绍
目前,微软公司(Microsoft Corporation)将会全面停止对其公司出品的Windows XP系统的支持服务,不再向个人用户发布关于Windows XP系统的漏洞补丁。但根据相关行业机构统计数据显示,Windows XP系统在全球市场的占有率仍然有25%,而在中国国内的占有率更是超过了70%。这样对于现有Windows XP系统使用者来说没有了官方的支持服务,黑客必然会利用系统漏洞传播木马病毒,对用户电脑进行攻击,形成安全威胁。因此,需要提供一种技术方案,以实现对现有得不到官方支持服务的系统进行热补丁的方法,以自动修复系统软件版本的缺陷。
技术实现思路
鉴于上述问题,提出了本专利技术以便于提供一种克服上述问题或者至少部分地解决上述问题的实现系统热补丁的方法及装置。依据本专利技术的一个方面,提供了一种实现系统热补丁的方法,包括:根据接收到的热补丁触发指令,加载并解析热补丁应用配置文件;通过查询所述热补丁应用配置文件,确定当前系统进程是否需要加载热补丁;若所述当前系统进程需要加载热补丁,则从所述热补丁应用配置文件中获取所述当前系统进程需要应用的热补丁信息;根据所述热补丁信息,对所述当前系统进程进行热补丁处理;其中,所述当前系统进程为进程初始化已完成,但程序代码还未执行的进程,所述热补丁应用配置文件为存储在预设存储区内的共享文件。可选的,前述的实现系统热补丁的方法,其中,所述通过查询所述热补丁应用配置文件,确定当前系统进程是否需要加载热补丁,包括:获取所述当前系统进程中已加载程序模块的特征信息;查询所述热补丁应用配置文件中是否包含有所述特征信息;若有,则确定当前系统进程需要加载热补丁;其中,所述热补丁应用配置文件中包括有至少一个特征信息。可选的,前述的实现系统热补丁的方法,其中,所述特征信息包括:程序模块的文件名、程序模块的文件路径,程序模块的时间戳TimeStamp字段、程序模块的校验和CheckSum字段及程序模块的版本信息VersionInfo字段中的一个或任意多个的组合。可选的,前述的实现系统热补丁的方法,其中,所述从所述热补丁应用配置文件中获取所述当前系统进程需要应用的热补丁信息,包括:获取所述当前系统进程中已加载程序模块的特征信息;根据所述热补丁应用配置文件中包括的特征信息和热补丁信息的对应关系,获取所述特征信息对应的热补丁信息;其中,获取到的所述热补丁信息即为所述当前系统进程需要应用的热补丁信息,所述热补丁应用配置文件中包括有至少一个特征信息,以及各特征信息与热补丁信息的对应关系。可选的,前述的实现系统热补丁的方法,其中,所述热补丁信息包括:校验信息及热补丁动态链接库DLL文件标识;相应的,所述根据所述热补丁信息,对所述当前系统进程进行热补丁处理,包括:根据所述校验信息,对所述热补丁信息进行校验;若通过校验,则根据所述热补丁DLL文件标识,获取对应的热补丁DLL文件,并加载所述热补丁DLL文件,以将所述热补丁DLL文件拷贝至所述当前系统进程预留的补丁区中;获取所述当前系统进程中已加载程序模块的需要进行修补的函数地址;将所述函数地址处的指令替换为指向所述热补丁DLL文件的跳转指令。可选的,前述的实现系统热补丁的方法,其中,所述根据所述热补丁信息,对所述当前系统进程进行热补丁处理,还包括:获取挂接钩子Hook函数的地址,所述Hook函数用于监测所述当前系统进程继所述已加载程序模块之后加载的新程序模块;在所述地址处挂接所述Hook函数。可选的,前述的实现系统热补丁的方法,其中,所述根据所述热补丁信息,对所述当前系统进程进行热补丁处理之后,还包括:若通过所述Hook函数监测到所述当前系统进程继所述已加载程序模块之后加载了新程序模块,则循环跳转至所述通过查询所述热补丁应用配置文件,确定当前系统进程是否需要加载热补丁的步骤,并根据确定结果继续执行后续步骤,直至所述当前系统进程没有新程序模块加载为止。根据本专利技术的另一个方面,提供了一种实现系统热补丁的装置,包括:加载解析模块,用于根据接收到的热补丁触发指令,加载并解析热补丁应用配置文件;确定模块,用于通过查询所述热补丁应用配置文件,确定当前系统进程是否需要加载热补丁;获取模块,用于当所述确定模块确定出所述当前系统进程需要加载热补丁时,从所述热补丁应用配置文件中获取所述当前系统进程需要应用的热补丁信息;处理模块,用于根据所述热补丁信息,对所述当前系统进程进行热补丁处理;其中,所述当前系统进程为进程初始化已完成,但程序代码还未执行的进程,所述热补丁应用配置文件为存储在预设存储区内的共享文件。可选的,前述的实现系统热补丁的装置,其中,所述确定模块,包括:第一获取单元,用于获取所述当前系统进程中已加载程序模块的特征信息;查询确定单元,用于查询所述热补丁应用配置文件中是否包含有所述特征信息,若有,则确定当前系统进程需要加载热补丁;其中,所述热补丁应用配置文件中包括有至少一个特征信息。可选的,前述的实现系统热补丁的装置,其中,所述获取模块,包括:第二获取单元,用于获取所述当前系统进程中已加载程序模块的特征信息;第三获取单元,用于根据所述热补丁应用配置文件中包括的特征信息和热补丁信息的对应关系,获取所述特征信息对应的热补丁信息;其中,获取到的所述热补丁信息即为所述当前系统进程需要应用的热补丁信息,所述热补丁应用配置文件中包括有至少一个特征信息,以及各特征信息与热补丁信息的对应关系。可选的,前述的实现系统热补丁的装置,其中,所述热补丁信息包括:校验信息及热补丁动态链接库DLL文件标识;相应的,所述处理模块,包括:校验单元,用于根据所述校验信息,对所述热补丁信息进行校验;加载单元,用于当所述热补丁信息通过校验后,根据所述热补丁DLL文件标识,获取对应的热补丁DLL文件,并加载所述热补丁DLL文件,以将所述热补丁DLL文件拷贝至所述当前系统进程预留的补丁区中;第四获取单元,用于获取所述当前系统进程中已加载程序模块的需要进行修补的函数地址;替换单元,用于将所述函数地址处的指令替换为指向所述热补丁DLL文件的跳转指令。可选的,前述的实现系统热补丁的装置,其中,所述处理模块,还包括本文档来自技高网...
实现系统热补丁的方法及装置

【技术保护点】
一种实现系统热补丁的方法,其特征在于,包括:根据接收到的热补丁触发指令,加载并解析热补丁应用配置文件;通过查询所述热补丁应用配置文件,确定当前系统进程是否需要加载热补丁;若所述当前系统进程需要加载热补丁,则从所述热补丁应用配置文件中获取所述当前系统进程需要应用的热补丁信息;根据所述热补丁信息,对所述当前系统进程进行热补丁处理;其中,所述当前系统进程为进程初始化已完成,但程序代码还未执行的进程,所述热补丁应用配置文件为存储在预设存储区内的共享文件。

【技术特征摘要】
1.一种实现系统热补丁的方法,其特征在于,包括:
根据接收到的热补丁触发指令,加载并解析热补丁应用配置文件;
通过查询所述热补丁应用配置文件,确定当前系统进程是否需要加载
热补丁;
若所述当前系统进程需要加载热补丁,则从所述热补丁应用配置文件
中获取所述当前系统进程需要应用的热补丁信息;
根据所述热补丁信息,对所述当前系统进程进行热补丁处理;
其中,所述当前系统进程为进程初始化已完成,但程序代码还未执行
的进程,所述热补丁应用配置文件为存储在预设存储区内的共享文件。
2.根据1所述的方法,其特征在于,所述通过查询所述热补丁应用配
置文件,确定当前系统进程是否需要加载热补丁,包括:
获取所述当前系统进程中已加载程序模块的特征信息;
查询所述热补丁应用配置文件中是否包含有所述特征信息;
若有,则确定所述当前系统进程需要加载热补丁;
其中,所述热补丁应用配置文件中包括有至少一个特征信息。
3.根据权利要求1或2所述的方法,其特征在于,所述热补丁信息包
括:校验信息及热补丁动态链接库DLL文件标识;相应的,所述根据所述
热补丁信息,对所述当前系统进程进行热补丁处理,包括:
根据所述校验信息,对所述热补丁信息进行校验;
若通过校验,则根据所述热补丁DLL文件标识,获取对应的热补丁
DLL文件,并加载所述热补丁DLL文件,以将所述热补丁DLL文件拷贝
至所述当前系统进程预留的补丁区中;
获取所述当前系统进程中已加载程序模块的需要进行修补的函数地
址;
将所述函数地址处的指令替换为指向所述热补丁DLL文件的跳转指
令。
4.根据权利要求3所述的方法,其特征在于,所述根据所述热补丁信
息,对所述当前系统进程进行热补丁处理,还包括:
获取挂接钩子Hook函数的地址,所述Hook函数用于监测所述当前系
统进程继所述已加载程序模块之后加载的新程序模块;
在所述地址处挂接所述Hook函数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述热补丁信
息,对所述当前系统进程进行热补丁处理之后,还包括:
若通过所述Hook函数监测到所述当前系统进程继所述已加载程序模
块之后加载了新程序模块,则循环跳转至所述通过查询所述热补丁应用配
置文件,确定当前系统进程是否需要加载热补丁的步骤,并根据确定结果
继续执行后续步骤,直至所述当前系统进程没有新程序模块加载为止。
6.一种实现系统热补丁的装置,其特征在于,包括...

【专利技术属性】
技术研发人员:张聪郑文彬
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1