一种恶意软件处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及信息安全技术领域,具体涉及一种恶意软件处理方法及装置。
【背景技术】
[0002]当终端想要删除或修改软件注册表时,需通过注册表回调机制,当回调机制返回成功可以继续调用其他注册表函数,当返回结果失败是则不可以继续调用其他注册表函数,恶意软件通过这种回调机制判断此次操作是否针对本身的注册表,是则返回失败结果,这样可以禁止终端对恶意软件注册表做相应的操作。终端无法删除或修改恶意软件的注册表。
【发明内容】
[0003]鉴于此,本发明实施例提供了一种恶意软件处理方法及装置,解决了现有技术中终端清理或修改恶意软件注册表时,恶意软件通过注册表回调保护禁止对恶意软件的注册表进行操作的问题。
[0004]为达到上述目的,本发明的实施例采用如下技术方案:
[0005]本发明实施例公开了一种恶意软件处理方法及装置,在恶意软件使用回调保护的情况下,可以对其注册表进行操作。
[0006]本发明实施例第一方面公开了一种恶意软件处理方法,包括:
[0007]当检测到终端上安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址;
[0008]从获取的所述内存地址中读取所述全局变量,并基于所述全局变量清零注册表回调个数;
[0009]对所述恶意软件的注册表进行操作。
[0010]进一步,还包括:
[0011 ] 记录所述注册表回调个数;
[0012]在对所述恶意软件的注册表进行操作之后,还包括:
[0013]基于记录的所述注册表回调个数,恢复所述注册表回调个数。
[0014]进一步,所述对所述恶意软件的注册表进行操作,包括:
[0015]对所述恶意软件的注册表进行删除或修改。
[0016]进一步,在所述卸载注册表回调函数的内存地址中查询所述注册表回调个数的全局变量的内存地址;
[0017]所述在获取所述终端中保存注册表回调个数的全局变量的内存地址之前,还包括:
[0018]获取所述终端中卸载注册表回调函数的内存地址;
[0019]获取所述终端中保存注册表回调个数的全局变量的内存地址,包括:
[0020]从所述卸载注册表回调函数的内存地址中,获取保存注册表回调个数的全局变量的内存地址。
[0021 ]本发明实施例第二方面公开了一种恶意软件处理装置,包括:
[0022]第一获取单元,用于当检测到终端上安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址;
[0023]第一执行单元,用于从获取的所述内存地址中读取所述全局变量,并基于所述全局变量清零注册表回调个数;
[0024]第二执行单元,用于对所述恶意软件的注册表进行操作。
[0025]进一步,在基于所述全局变量清零注册表回调个数之前,还包括:
[0026]记录单元,用于记录所述注册表回调个数;
[0027]在对于所述恶意软件的注册表进行操作之后,还包括:
[0028]第一执行单元,用于基于记录的所述注册表回调个数,恢复所述注册表回调个数。
[0029]进一步,对所述恶意软件的注册表进行操作,包括:
[0030]第二执行单元,用于对预存注册表进行删除或修改。
[0031]进一步,在获取所述终端中保存注册表回调个数的全局变量的内存地址之前,还包括:
[0032]第二获取单元,用于获取所述终端中卸载注册表回调函数的内存地址;
[0033]获取所述终端中保存注册表回调个数的全局变量的内存地址,包括:
[0034]第二获取单元,用于从所述卸载注册表回调函数的内存地址中,获取保存注册表回调个数的全局变量的内存地址。
[0035]本发明实施例第三方面公开了一种电子设备,包括:处理器、存储器、通信接口和总线;
[0036]所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通
?目;
[0037]所述存储器存储可执行程序代码;
[0038]所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
[0039]当检测到终端上安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址;
[0040]从获取的所述内存地址中读取所述全局变量,并基于所述全局变量清零注册表回调个数;
[0041 ]对所述恶意软件的注册表进行操作。
[0042]现有方案是终端要对恶意软件注册表进行操作时,当终端需要对恶意软件注册表进行操作时,需通过注册表回调机制,当回调机制返回成功可以继续调用其他注册表函数,当返回结果失败是则不可以继续调用其他注册表函数,恶意通过这种回调机制判断此次操作是否针对本身的注册表,是则返回失败结果,这样可以禁止终端对恶意软件注册表做相应的操作。终端无法删除或修改恶意软件的注册表。本技术方案通过修改回调个数,规避回调保护,实现无障碍的对恶意软件注册表进行操作的方法。
[0043]实施本发明实施例实现了无障碍的对恶意软件注册表进行操作的方法。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
【附图说明】
[0044]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]图1是本发明实施例公开的一种恶意软件处理的流程示意图;
[0046]图2是本发明实施例公开的另一种恶意软件处理的流程示意图;
[0047]图3是本发明实施例公开的一种恶意软件处理的结构示意图;
[0048]图4是本发明实施例公开的另一种恶意软件处理的结构示意图。
【具体实施方式】
[0049]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051]本发明实施例公开了一种恶意软件处理方法及装置,通过修改回调个数,规避回调保护,实现无障碍的对恶意软件注册表进行操作的方法。
[0052]请参阅图1,图1是本发明实施例公开的一种恶意软件处理方法的流程示意图。其中,图1所示的方法可以应用于电脑终端上。如图1所示,该恶意软件处理方法可以包括:
[0053]步骤101、当检测到终端上安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址;
[0054]步骤102、从获取的所述内存地址中读取所述全局变量,并基于所述全局变量清零注册表回调个数;
[0055]步骤103、对所述恶意软件的注册表进行操作。
[0056]本发明实施例中,当检测到终端安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址,从获取的所述内存地址中读取所述全局变量,并基于所述全局变量清零注册表回调个数,对所述恶意软件的注册表进行操作,所述对预存注册表进行操作为对预存注册表进行删或修改等操作。
[0057]请参阅图2,图2是本发明实施例公开的另一种恶意软件处理的流程示意图。其中,图2所示的方法可以应用于电脑终端上。如图2所示,该恶意软件处理方法可以包括:
[0058]步骤201、当检测到终端上安装有恶意软件时,获取所述终端中卸载注册表回调函数的内存地址。
[0059]本发明实施例中,当检测到终端中安装有恶意软件时,获取卸载注册表回调的CmUnRegisterCal Iback函数的内存地址。
[0060]步骤202、获取所述终端中保存注册表回调个数的全局变量的内存地址。
[0061]本发明实施例中,从所述卸载注册表回调函数的内存地址中,获取保存注册表回调个数的全局变量的内存地址,即从CmUnRegisterCallback函数的内存地址中搜索机器码,锁定机器码,进一步从机器码中读取所述注册表回调个数的全局变量的内存地址。
[0062]步骤203、从获取的所述内存地址中读取所述全局变量,记录所述注册表回调个数。
[0063]本发明实施例中,从获取到的终端中保存注册表回调个数的全局变量的内存地址中读取所述注册表回调个数的全局变量,并记录所述注册表回调个数。
[0064]步骤204、基于所述全局变量清零注册表回调个数。
[0065]步骤205、对所述恶意软件的注册表进行操作。
[0066]本发明实施例中,对所述恶意软件的注册表进行操作,包括删除或修改等操作。
[0067]步骤206、基于记录的所述注册表回调个数,恢复所述注册表回调个数。
[0068]本发明实施例中,当检测到终端上安装有恶意软件时,获取所述终端中卸载注册表回调函数的内存地址,即CmUnRegi sterCal Iback函数的内存地址,在所述卸载注册表回调函数的内存地址中,获取保存注册表回调个数的全局变量的内存