本发明专利技术的实施例公开一种修复驱动程序的方法、装置及电子设备,涉及计算机驱动技术领域,能够修复驱动入口被修改的驱动程序。所述方法包括:启动待修复驱动程序对应的驱动修复程序;通过所述驱动修复程序检测所述待修复驱动程序的驱动入口是否被修改;若检测到所述待修复驱动程序的驱动入口被修改,则通过所述驱动修复程序主动调用所述待修复驱动程序的驱动入口函数。所述装置及电子设备上设有用于实现所述方法的相应模块。本发明专利技术适用于修复驱动程序的操作。
【技术实现步骤摘要】
本专利技术涉及计算机驱动
,尤其涉及一种修复驱动程序的方法、装置及电子设备。
技术介绍
随着互联网技术的发展,病毒、木马等恶意程序技术层出不穷,应用程序,例如,金山毒霸,也需相应地实现技术上的更新。金山毒霸在使用过程中,可能会被竞争软件或者恶意软件拦截、破坏。其中一种破坏场景为,当系统进程在加载金山毒霸驱动程序的时候,会被竞争软件或恶意软件强制加上退出指令,以修改驱动程序的驱动入口,导致驱动程序被竞争软件或恶意软件破坏,以至于驱动程序无法正常使用,从而,使得金山毒霸的各种防御功能失效,这样,竞争软件或恶意软件就可以破坏金山毒霸及系统中的其他文件、注册表等数据。现有技术中的驱动程序修复方案是针对驱动程序的注册表数据被删除,通过修复驱动程序加载时所需的注册表数据,重新加载驱动程序让应用程序的驱动程序生效,该驱动程序的修复方案不适用于在应用程序的驱动程序在加载时被强制加上退出指令,导致应用程序的驱动程序无法正常工作的场景。
技术实现思路
有鉴于此,本专利技术实施例提供一种修复驱动程序的方法、装置及电子设备,以解决现有的驱动程序修复方案无法修复驱动入口被修改的驱动程序的问题。第一方面,本专利技术实施例提供一种修复驱动程序的方法,包括:启动待修复驱动程序对应的驱动修复程序;通过所述驱动修复程序检测所述待修复驱动程序的驱动入口是否被修改;若检测到所述待修复驱动程序的驱动入口被修改,则通过所述驱动修复程序主动调用所述待修复驱动程序的驱动入口函数。结合第一方面,在第一方面的第一种实施方式中,所述启动待修复驱动程序对应的驱动修复程序之前,包括:安装所述待修复驱动程序对应的驱动修复程序。结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述安装所述待修复驱动程序对应的驱动修复程序,包括:查询预先保存的驱动修复程序配置文件中的配置信息是否处于可启用状态,其中,所述驱动修复程序配置文件中预设有一条或多条配置信息,每条配置信息包括:所述驱动修复程序的文件名、所述驱动修复程序安装到注册表上的驱动服务键名及表示当前条配置信息是否可启用的启用标志;若当前条配置信息处于可启用状态,则提取当前条配置信息中的驱动修复程序的文件名及所述驱动修复程序安装到注册表上的驱动服务键名;获取所述驱动修复程序文件名指定的文件进行安装的同时,将提取的所述驱动服务键名写入注册表。结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述驱动修复程序配置文件的文件格式为可扩展标记语言(Extensible Markup Language,英文缩写为xml)格式;所述提取当前条配置信息中的驱动修复程序的文件名及所述驱动修复程序安装到注册表上的驱动服务键名,包括:使用xml公共类解析所述驱动修复程序配置文件中的配置信息;提取当前条配置信息中的驱动修复程序的文件名及所述驱动修复程序安装到注册表上的驱动服务键名。结合第一方面,在第一方面的第四种实施方式中,所述启动待修复驱动程序对应的驱动修复程序包括:以启动服务的方式启动所述待修复驱动程序对应的驱动修复程序。结合第一方面,在第一方面的第五种实现方式中,所述通过所述驱动修复程序检测所述待修复驱动程序的驱动入口是否被修改包括:通过所述驱动修复程序检测所述待修复驱动程序是否能打开;若不能打开,则判断是否能获取到所述待修复驱动程序的驱动入口函数;若能获取到所述待修复驱动程序的驱动入口函数,则确定所述待修复驱动程序的驱动入口被修改。结合第一方面的第五种实施方式,在第一方面的第六种实现方式中,所述获取到所述待修复驱动程序的驱动入口函数包括:获取指向所述待修复驱动程序的驱动对象指针;依据获取到的所述驱动对象指针,获取所述待修复驱动程序的驱动入口函数。结合第一方面的第五种实施方式,在第一方面的第七种实施方式中,所述方法还包括:若所述待修复驱动程序不能打开,且无法获取到所述待修复驱动程序的驱动入口函数,则主动创建所述待修复驱动程序的注册表启动项,重新加载所述待修复驱动程序。结合第一方面的第七种实施方式,在第一方面的第八种实施方式中,所述创建所述待修复驱动程序的注册表启动项包括:创建所述待修复驱动程序的安装路径;创建所述待修复驱动程序的启动类型。第二方面,本专利技术实施例提供一种修复驱动程序的装置,包括:启动模块,用于启动待修复驱动程序对应的驱动修复程序;检测模块,用于通过所述驱动修复程序检测所述待修复驱动程序的驱动入口是否被修改;修复模块,用于若检测到所述待修复驱动程序的驱动入口被修改,则通过所述驱动修复程序主动调用所述待修复驱动程序的驱动入口函数。结合第二方面,在第二方面的第一种实施方式中,所述系统还包括:安装模块,用于安装所述待修复驱动程序对应的驱动修复程序。结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述安装模块包括:查询子模块,用于查询预先保存的驱动修复程序配置文件中的配置信息是否处于可启用状态,其中,所述驱动修复程序配置文件中预设有一条或多条配置信息,每条配置信息包括:所述驱动修复程序的文件名、所述驱动修复程序安装到注册表上的驱动服务键名及表示当前条配置信息是否可启用的启用标志;提取子模块,用于若当前条配置信息处于可启用状态,则提取当前条配置信息中的驱动修复程序的文件名及所述驱动修复程序安装到注册表上的驱动服务键名;安装子模块,用于获取所述驱动修复程序文件名指定的文件进行安装的同时,将提取的所述驱动服务键名写入注册表。结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述驱动修复程序配置文件的文件格式为xml格式;所述提取子模块包括:解析单元,用于使用xml公共类解析所述驱动修复程序配置文件中的配置信息;提取单元,用于提取当前条配置信息中的驱动修复程序的文件名及所述驱动修复程序安装到注册表上的驱动服务键名。结合第二方面,在第二方面的第四种实施方式中,所述启动模块,具体用于以启动服务的方式启动所述待修复驱动程序对应的驱动修复程序。结合第二方面,在第二方面的第五种实施方式中,所述检测模块包括:检测子模块,用于通过所述驱动修复程序检测所述待修复驱动程序是否能打开;判断子模块,用于当所述待修复驱动程序不能打开时,则判断是否能获取到所述待修复驱动程序的驱动入口函数;确定子模块,用于当能获取到所述待修复驱动程序的驱动入口函数时,则确定所述待修复驱动程序的驱动入口被修改。结合第二方面的第五种实施方式,在第二方面的第六种实施方式中,所述检测模块还包括:获取子模块;所述获取子模块包括:第一获取单元,用于获取指向所述待修复驱动程序的驱动对象指针;第二获取单元,用于依据获取到的所述驱动对象指针,获取所述待修复驱动程序的驱动入口函数。结合第二方面的第五种实施方式,在第二方面的第七种实施方式中,所述装置还包括:创建模块;所述创建模块,用于当所述待修复驱动程序不能打开,且无法获取到所述待修复驱动程序的驱动入口函数时,则主动创建所述待修复驱动程序的注册表启动项,重新加载所述待修复驱动程序。结合第二方面的第七种实施方式,在第二方面的第八种实施方式中,所述创建模块包括:第一创建子模块,用于创建所述待修复驱动程序的安装路径;第二创建子模块,用于创建所述待修复驱动程序的启动类型。第三方面,本专利技术实施例提供一种电子设备,本文档来自技高网...
【技术保护点】
一种修复驱动程序的方法,其特征在于,包括:启动待修复驱动程序对应的驱动修复程序;通过所述驱动修复程序检测所述待修复驱动程序的驱动入口是否被修改;若检测到所述待修复驱动程序的驱动入口被修改,则通过所述驱动修复程序主动调用所述待修复驱动程序的驱动入口函数。
【技术特征摘要】
1.一种修复驱动程序的方法,其特征在于,包括:启动待修复驱动程序对应的驱动修复程序;通过所述驱动修复程序检测所述待修复驱动程序的驱动入口是否被修改;若检测到所述待修复驱动程序的驱动入口被修改,则通过所述驱动修复程序主动调用所述待修复驱动程序的驱动入口函数。2.根据权利要求1所述的修复驱动程序的方法,其特征在于,所述启动待修复驱动程序对应的驱动修复程序之前,包括:安装所述待修复驱动程序对应的驱动修复程序。3.根据权利要求2所述的修复驱动程序的方法,其特征在于,所述安装所述待修复驱动程序对应的驱动修复程序,包括:查询预先保存的驱动修复程序配置文件中的配置信息是否处于可启用状态,其中,所述驱动修复程序配置文件中预设有一条或多条配置信息,每条配置信息包括:所述驱动修复程序的文件名、所述驱动修复程序安装到注册表上的驱动服务键名及表示当前条配置信息是否可启用的启用标志;若当前条配置信息处于可启用状态,则提取当前条配置信息中的驱动修复程序的文件名及所述驱动修复程序安装到注册表上的驱动服务键名;获取所述驱动修复程序文件名指定的文件进行安装的同时,将提取的所述驱动服务键名写入注册表。4.根据权利要求3所述的修复驱动程序的方法,其特征在于,所述驱动修复程序配置文件的文件格式为xml格式;所述提取当前条配置信息中的驱动修复程序的文件名及所述驱动修复程序安装到注册表上的驱动服务键名,包括:使用xml公共类解析所述驱动修复程序配置文件中的配置信息;提取当前条配置信息中的驱动修复程序的文件名及所述驱动修复程序安装到注册表上的驱动服务键名。5.根据权利要求1所述的修复驱动...
【专利技术属性】
技术研发人员:李文靖,
申请(专利权)人:北京金山安全软件有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。