对目标进程进行保护的方法技术

技术编号:8801302 阅读:411 留言:0更新日期:2013-06-13 05:56
本发明专利技术提供了一种对目标进程进行保护的方法,包括步骤:接收一个模拟输入信息的请求;响应于该请求,获得有关与该请求相对应的目标进程的标识;根据该标识,确定是否响应该请求而执行该输入信息的操作。该方法可以有效地防止用户计算机中的病毒程序将利用模拟输入方式所产生的欺骗信息发送给通信的对方。

【技术实现步骤摘要】

本专利技术涉及一种计算机程序保护方法,尤其涉及一种。
技术介绍
随着信息技术的发展,越来越多的人们通过网络进行通信。包括电子邮件、即时消息在内的网络通信,使得位于不同地区的人们,都可以快速及时的传递信息。然而,由于计算机病毒更易于在网络中传播,在提供迅速便捷的通信服务的同时,网络也给用户带来相应的烦恼,甚至给用户带来一定的经济损失。例如,近来出现一种计算机病毒。在被该病毒侵害的计算机中,该病毒程序可通过模拟输入信息的方式,即:通过模拟用户使用键盘或鼠标等外部设备输入信息的操作方式,产生欺骗信息。当用户使用染有该病毒的计算机向网络上的通信对方发送即时消息时,若该欺骗信息被发送到该通信对方,则通信对方将会误认为该信息是该用户输入的信息。该计算机病毒,通过这种方式,利用通信双方彼此之间的信赖,甚至可以骗取该通信对方的银行帐户的信息,从而使用户蒙受经济的损失。
技术实现思路
本专利技术的一个目的是提供一种,包括步骤:接收一个模拟输入信息的请求;响应于该请求,获得有关与该请求相对应的目标进程的标识;根据该标识,确定是否响应该请求而执行该输入信息的操作。该方法可以有效地防止用户计算机中的病毒程序将利用模拟输入方式所产生的欺骗信息发送给通信的对方。本专利技术的又一个目的是提供一种,包括步骤:接收一个欲在目标窗口中设置信息的请求;响应于该请求,获得有关与该请求相对应的目标进程的标识;根据该标识,确定是否允许在所述目标窗口中设置信息。该方法可以有效地防止用户计算机中的病毒程序设置目标窗口中的信息,进而阻止病毒程序所产生的欺骗信息发送给通信的对方。附图说明以下将参照附图,通过实施例详细地描述本专利技术,其中:图1是一个流程图,其示出了按照本专利技术一个实施例的;图2是一个流程图,其示出了按照本专利技术另一个实施例的。在所有附图中,相同的标号表示相似或相应的特征或功能。具体实施方式按照本专利技术的,当病毒程序通过模拟外设输入信息的方式或者通过设置目标窗口中信息的方式产生欺骗信息时,只要能够获得目标进程的进程号,通过判断该目标进程是否被允许执行,便可在该欺骗信息输入到目标进程之前进行拦截,从而防止通信对方在收到该欺骗信息后被误导而受骗。以下,将结合具体实施例,详细地描述该。在Windows操作系统中,除了提供用于处理用户利用鼠标或键盘等外设输入信息的功能模块外,还提供了可模拟外设输入信息并对该输入的信息进行处理的功能模块。这种模拟输入的方式,在例如Windows系统提供的虚拟键盘等辅助输入的场合被广泛地应用。通常,应用程序可通过调用操作系统的应用层API (Application Program Interface)函数,API函数进一步调用操作系统的驱动层函数,实现模拟输入的操作。因此,若在应用层API函数或驱动层函数被调用时,对相应的目标进程进行判断从而对目标进程有选择地执行,则可以有效地拦截病毒程序利用模拟输入方式输入的欺骗信息。图1是按照本专利技术一个实施例的应用在Windows系统中的当驱动层函数被调用时的流程图。在图1所示实施例中,当合法程序或病毒程序欲米用模拟输入方式输入信息时,将产生一个模拟输入信息的请求。响应于该请求,API函数user32.dll! SendInput被调用。在Windows操作系统中,该API函数不仅提供了模拟键盘、鼠标等外设自动输入信息的功能,并且还提供了可控制输入信息内容的功能。该应用层API函数user32.dll! SendInput 将进一步调用驱动层函数Win32k.sys 中的 NtUserSendInput。下面是该驱动层函数NtUserSendInput的一个示例,其参数可以与该应用层API函数 user32.dll! SendInput 的参数一致。W32KAPIUINTNtUserSe ndInput (IN UINT clnputs,IN CONST INPUT*pInputs,IN int cbSize);如图1所示,当监视到函数NtUserSendInput被调用时(步骤S20),根据操作系统中可获得焦点窗口的句柄的函数NtUserGetActiveWindow,获得当前焦点窗口的句柄(步骤S30)。然后,根据该句柄,通过调用系统函数中获得目标进程标识的函数NtUserGetWindowThreadProcessID,可获得目标进程的标识(步骤S40)。接着,根据该目标进程的标识,判断是否响应该请求而执行该模拟输入信息的操作(步骤S50)。其中,目标进程的标识可以是例如 进程号。判断步骤S50可进一步包括:根据进程号确定目标进程是否属于受保护的进程(步骤S52);根据目标进程是否属于受保护的进程,再确定是否响应该请求而执行该模拟输入信息的操作。具体的,若目标进程属于受保护的进程,则可根据用户的指示信息或者预定规则,有选择地响应该请求而执行该模拟输入信息的操作(步骤S54)。若目标进程不属于受保护的进程,则可直接响应该请求而执行该模拟输入信息的操作(步骤S56)。下面,以经由应用程序QQ( —款流行的网络即时通信应用软件)发送即时消息为例,进一步说明上述保护目标进程的方法。当用户使用一个感染了病毒的计算机时,该病毒程序可利用模拟输入的方式而生成一个欺骗信息。如上所述,该欺骗信息可模仿用户在QQ对话窗口中利用键盘输入的信息。当病毒程序试图进行欺骗信息的输入时,驱动层函数NtUserSendInput将被API函数user32.dll! SendInput调用。当监视到该驱动层函数被调用时,根据上述步骤S20和步骤S30可以获得该QQ对话窗口所对应的进程的进程号,即:目标进程的进程号。这里,假定QQ对话窗口所对应的进程属于受保护的进程。当获得该目标进程的进程号后,可向用户提示:是否执行该驱动层函数以采用模拟输入方式输入信息。若此时用户并未在QQ对话窗口输入即时消息,则用户将很容易地判断出应当终止执行该驱动层函数。此时,通过选择“终止执行”的指示,用户即可有效地阻止该欺骗信息被输入到QQ对话窗口中。由于病毒程序所产生的欺骗信息不能通过模拟输入的方式输入到对话窗口中,因此,按照上述实施例所述的方法,即使病毒程序可利用模拟输入的方式触发对话窗口中的“发送消息”的按钮,也不能将欺骗信息发送出去。除了根据用户指示终止执行驱动层函数外,还可以预先规定在一些情况下将自动终止执行驱动层函数。这些情况包括但不限于:根据采用模拟输入方式所输入的信息内容,例如:当模拟输入的信息中涉及的网站地址属于预先确定的恶意网站的网址时,将停止执行该驱动层函数。图1示出了当病毒程序通过模拟外设输入信息的方式产生欺骗信息时,如何拦截该欺骗信息的过程。图2是本专利技术的另一个实施例,其示出了当病毒程序通过设置目标窗口中信息的方式产生欺骗信息时,如何拦截该欺骗信息的过程。在Windows系统中,提供了可设置目标窗口中信息的功能。与上述模拟外设输入的功能相类似,该功能也可通过应用层函数API调用驱动层函数来实现。在图2所示实施例中,当合法程序或病毒程序欲在目标窗口中输入信息时,将产生一个欲在目标窗口中设置信息的请求。响应于该请求,API函数user32.dll !SendMessage被调用,且该API函数中将包括参数WM_SETT本文档来自技高网...

【技术保护点】
一种用于对目标进程进行保护的方法,包括步骤:(a)接收一个模拟输入信息的请求;(b)响应于该请求,获得有关与该请求相对应的目标进程的标识;(c)根据该标识,确定是否响应该请求而执行该输入信息的操作,其中,步骤(c)包括:(c1)根据所述标识,判断所述目标进程是否属于受保护的进程;(c2)若所述目标进程属于所述受保护的进程,则可有选择地响应所述请求而执行所述输入信息的操作,其中,步骤(c2)包括:若所述目标进程属于所述受保护的进程,则可根据一个预定规则或一个来自用户的指示信息来确定是否响应所述请求而执行所述输入信息的操作。

【技术特征摘要】
1.一种用于对目标进程进行保护的方法,包括步骤: (a)接收一个模拟输入信息的请求; (b)响应于该请求,获得有关与该请求相对应的目标进程的标识; (C)根据该标识,确定是否响应该请求而执行该输入信息的操作, 其中,步骤(C)包括: (Cl)根据所述标识,判断所述目标进程是否属于受保护的进程; (c2)若所述目标进程属于所述受保护的进程,则可有选择地响应所述请求而执行所述输入信息的操作, 其中,步骤(c2)包括: 若所述目标进程属于所述受保护的进程,则可根据一个预定规则或一个来自用户的指示信息来确定是否响应所述请求而...

【专利技术属性】
技术研发人员:叶超
申请(专利权)人:北京瑞星信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1