一种目标应用程序的保护方法及装置的制造方法

文档序号:9826375阅读:260来源:国知局
一种目标应用程序的保护方法及装置的制造方法
【技术领域】
[0001]本发明涉及终端技术领域,特别是涉及一种目标应用程序的保护方法及装置。
【背景技术】
[0002]随着互联网技术的快速发展,终端设备中可能存在各种各样的不安全因素,如病毒木马等。为了保护终端设备的安全,可以在终端设备中安装杀毒应用程序。但是,病毒木马为了不被杀毒应用程序发现有可能会先把杀毒应用程序的进程结束,来达到存活的目的。因此,为了保护终端设备的安全,需要保证杀毒应用程序的进程可以一直在终端设备中运行。
[0003]病毒木马等在结束杀毒应用程序时,向病毒木马驱动程序发送控制码,当其控制码为结束杀毒应用程序时,其驱动程序调用一些函数,并将待结束进程的杀毒应用程序的进程标识(PID)提供给这些函数,来结束杀毒应用程序的进程。这些函数例如可以是NtTerminateProcess 函数、PspTerminateThreadByP ointer 函数、NtAssignProcessToJobObject 函数或 Ki InsertQueueApc 函数等。
[0004]因此,现有技术的在对杀毒应用程序进行保护时,可以通过挂钩用于结束杀毒应用程序的进程的这些函数来实现。挂钩这些函数后,任意其他应用程序在结束杀毒应用程序的进程时,杀毒应用程序就会检测到,并向相应的函数返回STATUS_ACCESS_DENIED,让该函数退出,意为结束进程时拒绝访问,结束杀毒应用程序进程的操作就会失败,这样就可以达到拦截结束杀毒应用程序的进程的目的。
[0005]然而,在挂钩用于结束杀毒应用程序的进程的这些函数来保护杀毒应用程序时,由于这些函数均比较底层,对这些函数做挂钩过程比较复杂,不容易实现,并且,可能导致系统不稳定,因此现有技术中对杀毒应用程序进行保护的措施并不理想。

【发明内容】

[0006]本发明实施例的目的在于提供一种目标应用程序的保护方法及装置,用以有效的实现对目标应用程序的保护。具体技术方案如下:
[0007]第一方面,本发明提供了一种目标应用程序的保护方法,应用于终端设备,所述方法包括:
[0008]当检测到第一应用程序调用目标函数时,获取所述第一应用程序向其驱动程序发送的控制码和该控制码将要进行控制的第二应用程序的信息;
[0009]判断所述控制码是否为结束应用程序的进程的控制码,若是,判断所述控制码将要进行控制的第二应用程序是否为目标应用程序;
[0010]若是,拦截所述控制码。
[0011]进一步地,通过挂钩所述目标函数,检测所述第一应用程序对所述目标函数的调用。
[0012]进一步地,所述获取所述第一应用程序向其驱动程序发送的控制码包括:
[0013]根据操作系统提供的调试工具,在所述目标函数下进行断点调试,获取所述第一应用程序向其驱动程序发送的控制码。
[0014]进一步地,所述调试工具为:windbg调试工具。
[0015]进一步地,所述目标函数为:NtDeviceloControlFile函数。
[0016]进一步地,所述第二应用程序的信息包括以下至少一项:第二应用程序的进程对应的标识信息和路径信息。
[0017]进一步地,所述方法还包括:
[0018]当判断所述控制码非结束应用程序的进程的控制码,或,判断所述控制码将要进行控制的第二应用程序非目标应用程序时,对该控制码进行放行,使其发送到第一应用程序对应的驱动程序。
[0019]第二方面,本发明提供了一种目标应用程序的保护装置,应用于终端设备,所述装置包括:
[0020]获取模块,用于当检测到第一应用程序调用目标函数时,获取所述第一应用程序向其驱动程序发送的控制码和该控制码将要进行控制的第二应用程序的信息;
[0021]判断模块,用于判断所述控制码是否为结束应用程序的进程的控制码,若是,判断所述控制码将要进行控制的第二应用程序是否为目标应用程序;
[0022]拦截模块,用于当所述判断模块判断结果为是时,拦截所述控制码。
[0023]进一步地,所述获取模块,具体用于通过挂钩所述目标函数,检测所述第一应用程序对所述目标函数的调用。
[0024]进一步地,所述获取模块,具体用于根据操作系统提供的调试工具,在所述目标函数下进行断点调试,获取所述第一应用程序向其驱动程序发送的控制码。
[0025]进一步地,所述调试工具为:windbg调试工具。
[0026]进一步地,所述目标函数为:NtDeviceloControlFile函数。
[0027]进一步地,所述第二应用程序的信息包括以下至少一项:第二应用程序的进程对应的标识信息和路径信息。
[0028]进一步地,所述装置还包括:
[0029]放行模块,用于当判断模块判断所述控制码非结束应用程序的进程的控制码,或,判断所述控制码将要进行控制的第二应用程序非目标应用程序时,对该控制码进行放行,使其发送到第一应用程序对应的驱动程序。
[0030]本发明实施例提供的一种目标应用程序的保护方法及装置,当检测到第一应用程序调用目标函数时,可以获取该第一应用程序向其驱动程序发送的控制码和该控制码将要进行控制的第二应用程序的信息,然后判断该控制码是否为结束应用程序的进程的控制码,若是,判断该控制码将要进行控制的第二应用程序是否为目标应用程序,若是,拦截所述控制码,从而导致第一应用程序结束目标应用程序的进程失败。本发明实施例中在第一应用程序调用目标函数向其驱动程序发送控制码之前,获取向其驱动程序发送的控制码,并在确定该控制码是结束目标应用程序的控制码时,对该控制码进行拦截,实现了对目标应用程序的保护,并且由于该过程相对于现有技术中在底层对函数进行挂钩的方式,容易实现,且不影响系统的稳定性。
【附图说明】
[0031]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1为本发明实施例提供的一种目标应用程序的保护方法的流程图;
[0033]图2为本发明实施例提供的一种目标应用程序的保护装置的结构示意图。
【具体实施方式】
[0034]为了有效的实现对目标应用程序的保护,本发明实施例提供了一种目标应用程序的保护方法及装置。
[0035]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0037]随着互联网技术的快速发展,终端设备中可能存在各种各样的不安全因素,如病毒木马等。为了保护终端设备的安全,可以在终端设备中安装杀毒应用程序。但是,病毒木
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1