地址,即在CmUnRegi sterCal Iback函数中搜索机器码,锁定机器码,进一步从机器码中读取所述注册表回调个数的全局变量的内存地址,读取并记录注册表回调个数,清零注册表回调个数,对恶意软件注册表进行操作,操作完成基于记录的注册表回调个数恢复注册表回调个数。
[0069]请参阅图3,图3本发明实施例公开的恶意软件处理的结构示意图。其中,图3所示的方法可以应用于电脑终端上。如图3所示,该恶意软件处理装置可以包括:
[0070]第一获取单元301,用于当检测到终端上安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址。
[0071]第一执行单元302,用于从获取的所述内存地址中读取所述全局变量,并基于所述全局变量清零注册表回调个数。
[0072]第二执行单元303,用于对所述恶意软件的注册表进行操作。
[0073]本发明实施例中,当检测到终端上安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址,读取所述全局变量,并基于所述全局变量清零注册表回调个数,对所述恶意软件的注册表进行操作,操作包括删除或修改等操作。
[0074]请参阅图4,图4是本发明实施例公开的另一种恶意软件处理的结构示意图。其中,图4所示的方法可以应用于电脑终端上。如图4所示,该恶意软件处理装置可以包括:
[0075]第二获取单元401,用于当检测到终端上安装有恶意软件时,获取所述终端中卸载注册表回调函数的内存地址。
[0076]本发明实施例中,当检测到终端上安装有恶意软件时,获取所述终端中卸载注册表回调函数的内存地址,即在所述终端中获取CmUnRegisterCal Iback函数的内存地址。
[0077]第一获取单元402,用于获取所述终端中保存注册表回调个数的全局变量的内存地址。
[0078]本发明实施例中,从所述卸载注册表回调函数的内存地址中,获取保存注册表回调个数的全局变量的内存地址,即从CmUnRegisterCallback函数的内存地址中搜索机器码,并锁定机器码,进一步从机器码中读取所述注册表回调个数的全局变量的内存地址。
[0079]记录单元403,用于记录所述注册表回调个数。
[0080]本发明实施例中,从获取到的终端中保存注册表回调个数的全局变量的内存地址中读取所述注册表回调个数的全局变量,并记录所述注册表回调个数。
[0081]第一执行单元404,基于所述全局变量清零注册表回调个数。
[0082]第二执行单元405,用于对所述恶意软件的注册表进行操作。
[0083]本发明实施例中,第二执行单元用于对所述恶意软件的注册表进行操作,包括对其进行删除或修改等操作。
[0084]第一执行单元406,用于基于记录的所述注册表回调个数,恢复所述注册表回调个数。
[0085]本发明实施例中,当检测到终端上安装有恶意软件时,获取所述终端中卸载注册表回调函数的内存地址,即CmUnRegi sterCal Iback函数的内存地址,在所述卸载注册表回调函数的内存地址中,获取保存注册表回调个数的全局变量的内存地址,即在CmUnRegi sterCal Iback函数中搜索机器码,锁定机器码,进一步从机器码中读取所述注册表回调个数的全局变量的内存地址,读取并记录注册表回调个数,清零注册表回调个数,对恶意软件注册表进行操作,操作完成基于记录的注册表回调个数恢复注册表回调个数。
[0086]实施本发明实施例可以规避恶意软件利用注册表回调保护机制致使终端无法对恶意软件注册表进行删除或修改等操作。
[0087]需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作以及单元并不一定是本发明所必须的。
[0088]本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0089]本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。
[°09°] 本发明实施例中所述模块可以通过通用集成电路,例如CPU(Central ProcessingUnit,中央处理器),或通过ASIC(Applicat1n Specific Integrated Circuit,专用集成电路)来实现。
[0091]以上对本发明实施例所提供的一种恶意软件处理方法及装置进行了详细介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
[0092]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0093]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0094]本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0095]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种恶意软件处理方法,其特征在于,包括: 当检测到终端上安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址; 从获取的所述内存地址中读取所述全局变量,并基于所述全局变量清零注册表回调个数; 对所述恶意软件的注册表进行操作。2.根据权利要求1所述的方法,其特征在于,在基于所述全局变量清零注册表回调个数之前,还包括: 记录所述注册表回调个数; 在对所述恶意软件的注册表进行操作之后,还包括: 基于记录的所述注册表回调个数,恢复所述注册表回调个数。3.根据权利要求1所述的方法,其特征在于,所述对所述恶意软件的注册表进行操作,包括: 对所述恶意软件的注册表进行删除或修改。4.根据权利要求1所述的方法,其特征在于,所述在获取所述终端中保存注册表回调个数的全局变量的内存地址之前,还包括: 获取所述终端中卸载注册表回调函数的内存地址; 获取所述终端中保存注册表回调个数的全局变量的内存地址,包括: 从所述卸载注册表回调函数的内存地址中,获取保存注册表回调个数的全局变量的内存地址。5.一种恶意软件处理装置,其特征在于,包括: 第一获取单元,用于当检测到终端上安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址; 第一执行单元,用于从获取的所述内存地址中读取所述全局变量,并基于所述全局变量清零注册表回调个数; 第二执行单元,用于对所述恶意软件的注册表进行操作。6.根据权利要求5所述的装置,其特征在于,在基于所述全局变量清零注册表回调个数之前,还包括: 记录单元,用于记录所述注册表回调个数; 在对于所述恶意软件的注册表进行操作之后,还包括: 第一执行单元,用于基于记录的所述注册表回调个数,恢复所述注册表回调个数。7.根据权利要求5所述的装置,其特征在于,对所述恶意软件的注册表进行操作,包括: 第二执行单元,用于对预存注册表进行删除或修改。8.根据权利要求5所述的装置,其特征在于,在获取所述终端中保存注册表回调个数的全局变量的内存地址之前,还包括: 第二获取单元,用于获取所述终端中卸载注册表回调函数的内存地址; 获取所述终端中保存注册表回调个数的全局变量的内存地址,包括: 第二获取单元,用于从所述卸载注册表回调函数的内存地址中,获取保存注册表回调个数的全局变量的内存地址。9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和总线; 所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信; 所述存储器存储可执行程序代码; 所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于: 当检测到终端上安装有恶意软件时,获取所述终端中保存注册表回调个数的全局变量的内存地址; 从获取的所述内存地址中读取所述全局变量,并基于所述全局变量清零注册表回调个数; 对所述恶意软件的注册表进行操作。
【专利摘要】本发明实施例公开了一种恶意软件处理方法及装置,涉及终端安全领域,通过将注册表回调个数清零,以解决恶意软件通过注册表回调机制对针对其自身的注册表操作时,返回失败结果,禁止终端对其软件注册表做相应的操作,已达到终端无法删除或修改恶意软件的注册表的目的。
【IPC分类】G06F21/56
【公开号】CN105653955
【申请号】
【发明人】杨峰
【申请人】北京金山安全软件有限公司
【公开日】2016年6月8日
【申请日】2015年12月30日