一种显示窗口的隐藏方法、装置及用户终端的制作方法_4

文档序号:9687809阅读:来源:国知局
第三方防御驱动,以第三方防御驱动为接口调用系统内核从的第二隐藏函数。
[0111]本发明实施例中,当检测到所要隐藏的目标显示窗口时,可调用系统应用层中的第一隐藏函数对目标显示窗口进行隐藏,在调用该第一隐藏函数后,检测目标显示窗口是否被隐藏,若检测到未被隐藏,则表明第一隐藏函数的执行结果失败,恶意软件中设置了钩子函数干涉第一隐藏函数的执行过程,则可直接调用系统内核层的第二隐藏函数对目标显示窗口进行隐藏,从而可规避存在的钩子函数对应用层内隐藏函数的干涉,直接隐藏受恶意软件保护的目标显示窗口,增强了防御软件的防御效力,并提升了用户体验。
[0112]参见图5,是本发明中的一种终端的一实施例的结构示意图。该终端可以包括:至少一个处理器501,如CPU,至少一个用户接口 503,存储器504以及至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信,用户接口 503可以包括显示屏(Display)及键盘(Keyboard),可选的,用户接口 503还可以包括标准的有线接口及无线接口,存储器504可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),如至少一个磁盘存储器,可选的,存储器504还可以是至少一个位于远离前述处理器501的存储装置。其中,存储器504中存储一组程序代码,且处理器501调用存储器504中存储的程序代码,用于执行以下操作:
[0113]当检测到目标显示窗口时,调用系统应用层的第一隐藏函数对所述目标显示窗口进行隐藏;
[0114]检测所述目标显示窗口是否被隐藏;
[0115]若检测到所述目标显示窗口未被隐藏,则调用系统内核层的第二隐藏函数对所述目标显示窗口进行隐藏。
[0116]作为可选的实施例,当处理器501检测到目标显示窗口时,调用系统应用层的第一隐藏函数对所述目标显示窗口进行隐藏的具体方式为:
[0117]当检测到目标显示窗口时,获取所述目标显示窗口的标识信息;
[0118]根据所述目标显示窗口的标识信息,设置所述第一隐藏函数的窗口句柄参数;
[0119]调用所述设置的第一隐藏函数对所述目标显示窗口进行隐藏。
[0120]作为可选的实施例,在处理器501调用所述设置的第一隐藏函数对所述目标显示窗口进行隐藏之前,还用于调用存储器504中的存储代码以执行以下操作:
[0121]设置所述第一隐藏函数的窗口处理类型参数的参数值为隐藏参数值。
[0122]作为可选的实施例,处理器501检测所述目标显示窗口是否被隐藏的具体方式为:
[0123]检测所述目标显示窗口的窗口状态是否为隐藏状态,若为隐藏状态,则确定所述目标显示窗口被隐藏;或
[0124]检测所述第一隐藏函数的函数执行结果,若所述函数执行结果表示成功,则确定所述目标显示窗口被隐藏。
[0125]作为可选的实施例,若处理器501检测到所述目标显示窗口未被隐藏,则调用系统内核层的第二隐藏函数对所述目标显示窗口进行隐藏的具体方式为:
[0126]若检测到所述目标显示窗口未被隐藏,在系统内核层查找与所述第一隐藏函数对应的第二隐藏函数;
[0127]根据所述第一隐藏函数的所述窗口句柄参数,设置所述第二隐藏函数;
[0128]调用所述第二隐藏函数对所述目标显示窗口进行隐藏。
[0129]作为可选的实施例,当所述系统为WINDOWS操作系统时,所述第一隐藏函数为ShowWindow函数,所述第二隐藏函数为NtUserShowWindow函数。
[0130]本发明实施例中,当检测到所要隐藏的目标显示窗口时,可调用系统应用层中的第一隐藏函数对目标显示窗口进行隐藏,在调用该第一隐藏函数后,检测目标显示窗口是否被隐藏,若检测到未被隐藏,则表明第一隐藏函数的执行结果失败,恶意软件中设置了钩子函数干涉第一隐藏函数的执行过程,则可直接调用系统内核层的第二隐藏函数对目标显示窗口进行隐藏,从而可规避存在的钩子函数对应用层内隐藏函数的干涉,直接隐藏受恶意软件保护的目标显示窗口,增强了防御软件的防御效力,并提升了用户体验。
[0131]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0132]本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0133]本发明实施例终端或设备中的单元或子单元可以根据实际需要进行合并、划分和删减。
[0134]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0135]以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
【主权项】
1.一种显示窗口的隐藏方法,其特征在于,包括: 当检测到目标显示窗口时,调用系统应用层的第一隐藏函数对所述目标显示窗口进行隐藏; 检测所述目标显示窗口是否被隐藏; 若检测到所述目标显示窗口未被隐藏,则调用系统内核层的第二隐藏函数对所述目标显示窗口进行隐藏。2.如权利要求1所述方法,其特征在于,当检测到目标显示窗口时,调用系统应用层的第一隐藏函数对所述目标显示窗口进行隐藏,包括: 当检测到目标显示窗口时,获取所述目标显示窗口的标识信息; 根据所述目标显示窗口的标识信息,设置所述第一隐藏函数的窗口句柄参数; 调用所述设置的第一隐藏函数对所述目标显示窗口进行隐藏。3.如权利要求2所述方法,其特征在于,在所述调用所述设置的第一隐藏函数对所述目标显示窗口进行隐藏之前,所述方法还包括: 设置所述第一隐藏函数的窗口处理类型参数的参数值为隐藏参数值。4.如权利要求1-3任一所述方法,其特征在于,所述检测所述目标显示窗口是否被隐藏,包括: 检测所述目标显示窗口的窗口状态是否为隐藏状态,若为隐藏状态,则确定所述目标显示窗口被隐藏;或 检测所述第一隐藏函数的函数执行结果,若所述函数执行结果表示成功,则确定所述目标显示窗口被隐藏。5.如权利要求2或3所述方法,其特征在于,所述若检测到所述目标显示窗口未被隐藏,则调用系统内核层的第二隐藏函数对所述目标显示窗口进行隐藏,包括: 若检测到所述目标显示窗口未被隐藏,在系统内核层查找与所述第一隐藏函数对应的第二隐藏函数; 根据所述第一隐藏函数的所述窗口句柄参数,设置所述第二隐藏函数; 调用所述第二隐藏函数对所述目标显示窗口进行隐藏。6.如权利要求5所述方法,其特征在于,当所述系统为WINDOWS操作系统时,所述第一隐藏函数为ShowWindow函数,所述第二隐藏函数为NtUserShowWindow函数。7.一种显示窗口的隐藏装置,其特征在于,包括: 第一调用模块,用于当检测到目标显示窗口时,调用系统应用层的第一隐藏函数对所述目标显示窗口进行隐藏; 检测模块,用于检测所述目标显示窗口是否被隐藏; 第二调用模块,用于若所述检测模块检测到所述目标显示窗口未被隐藏,则调用系统内核层的第二隐藏函数对所述目标显示窗口进行隐藏。8.如权利要求7所述装置,其特征在于,所述第一调用模块包括: 获取单元,用于当检测到目标显示窗口时,获取所述目标显示窗口的标识信息; 第一设置单元,用于根据所述目标显示窗口的标识信息,设置所述第一隐藏函数的窗口句柄参数; 第一调用单元,用于调用所述设置的第一隐藏函数对所述目标显示窗口进行隐藏。9.如权利要求8所述装置,其特征在于,所述第一调用模块还包括: 第二设置单元,用于设置所述第一隐藏函数的窗口处理类型参数的参数值为隐藏参数值。10.如权利要求7-9任一所述装置,其特征在于,所述检测模块包括: 第一检测单元,用于检测所述目标显示窗口的窗口状态是否为隐藏状态,若为隐藏状态,则确定所述目标显示窗口被隐藏; 第二检测单元,用于检测所述第一隐藏函数的函数执行结果,若所述函数执行结果表示成功,则确定所述目标显示窗口被隐藏。
【专利摘要】本发明实施例公开了一种显示窗口的隐藏方法、装置及用户终端。该方法包括:当检测到目标显示窗口时,调用系统应用层的第一隐藏函数对所述目标显示窗口进行隐藏;检测所述目标显示窗口是否被隐藏;若检测到所述目标显示窗口未被隐藏,则调用系统内核层的第二隐藏函数对所述目标显示窗口进行隐藏。采用本发明实施例,能够隐藏恶意软件所保护的显示窗口,增强了防御软件的防御效力。
【IPC分类】G06F21/12, G06F21/55
【公开号】CN105447348
【申请号】CN201510786315
【发明人】杨峰, 潘建军, 王云峰
【申请人】珠海市君天电子科技有限公司, 北京金山安全软件有限公司
【公开日】2016年3月30日
【申请日】2015年11月13日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1