CN105204903A - 一种进程模块加载拦截方法及装置 - Google Patents

一种进程模块加载拦截方法及装置 Download PDF

Info

Publication number
CN105204903A
CN105204903A CN201510616233.9A CN201510616233A CN105204903A CN 105204903 A CN105204903 A CN 105204903A CN 201510616233 A CN201510616233 A CN 201510616233A CN 105204903 A CN105204903 A CN 105204903A
Authority
CN
China
Prior art keywords
target process
process module
described target
module
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510616233.9A
Other languages
English (en)
Inventor
李文靖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Baoqu Technology Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201510616233.9A priority Critical patent/CN105204903A/zh
Publication of CN105204903A publication Critical patent/CN105204903A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种进程模块加载拦截方法及装置,用于解决进程加载过程中,当不需要加载这个进程中的部分进程模块时,需要结束这个进程的问题,其中,该方法包括:在加载目标进程的过程中,当检测到用于加载属于目标进程的目标进程模块的加载指令时,查询是否存在用于指示拒绝加载目标进程模块的指示信息,目标进程包括至少两个进程模块;若存在指示信息,则拒绝加载目标进程模块;生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令。实施本发明实施例,可以提高进程加载的有效性。

Description

一种进程模块加载拦截方法及装置
技术领域
本发明涉及计算机技术领域,具体涉及一种进程模块加载拦截方法及装置。
背景技术
随着计算机技术的不断发展,计算机需要加载的进程的种类和数量越来越多。一般一个进程包括多个进程模块,在加载某个进程的时候可能不需要加载这个进程中的某个进程模块。目前,64位系统的计算机拦截进程模块加载的一种方式为:当不需要加载某个进程中的某个进程模块,将结束这个进程。上述方式中,由于结束了整个进程的加载,因此,降低了进程加载的有效性。
发明内容
本发明实施例提供一种进程模块加载拦截方法及装置,用于解决进程加载过程中,当不需要加载这个进程中的部分进程模块时,需要结束这个进程的问题。
本发明实施例第一方面公开一种进程模块加载拦截方法,包括:
在加载目标进程的过程中,当检测到用于加载属于所述目标进程的目标进程模块的加载指令时,查询是否存在用于指示拒绝加载所述目标进程模块的指示信息,所述目标进程包括至少两个进程模块;
若存在所述指示信息,则拒绝加载所述目标进程模块;
生成用于加载所述目标进程中与所述目标进程模块相邻的下一进程模块的加载指令。
结合本发明实施例第一方面,在本发明实施例第一方面的第一种可能的实现方式中,当查询到不存在用于指示拒绝加载所述目标进程模块的指示信息之后,所述方法还包括:
判断内存中是否存储有所述目标进程模块的数据;
若存储有所述目标进程模块的数据,则判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令,所述入口函数是加载所述目标进程模块时最先调用的函数;
若所述入口函数包括所述返回指令,则删除所述返回指令。
结合本发明实施例第一方面,在本发明实施例第一方面的第二种可能的实现方式中,当查询到存在用于指示拒绝加载所述目标进程模块的指示信息之后,所述方法还包括:
判断内存中是否存储有所述目标进程模块的数据;
若存储有所述目标进程模块的数据,则判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令,所述入口函数是加载所述目标进程模块时最先调用的函数;
若所述入口函数不包括所述返回指令,则在所述入口函数中写入所述返回指令。
结合本发明实施例第一方面的第一种或第二种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,判断出内存中存储有所述目标进程模块的数据之后,以及判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令之前,所述方法还包括:
通过回调函数确定所述目标进程模块的基址;
根据所述基址确定所述目标进程模块的数据中的入口函数。
结合本发明实施例第一方面的第二种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,当判断出内存中未存储有所述目标进程模块的数据且存在所述指示信息时,所述方法还包括:
获取所述目标进程模块的数据;
在所述目标进程模块的数据的入口函数中写入所述返回指令,并将包括所述返回指令的所述目标进程模块的数据存储至所述内存。
本发明实施例第二方面公开一种进程模块加载拦截装置,包括:
查询单元,用于在加载目标进程的过程中,当检测到用于加载属于所述目标进程的目标进程模块的加载指令时,查询是否存在用于指示拒绝加载所述目标进程模块的指示信息,所述目标进程包括至少两个进程模块;
拒绝单元,用于当所述查询单元查询到存在所述指示信息时,拒绝加载所述目标进程模块;
生成单元,用于生成用于加载所述目标进程中与所述目标进程模块相邻的下一进程模块的加载指令。
结合本发明实施例第二方面,在本发明实施例第二方面的第一种可能的实现方式中,所述装置还包括:
第一判断单元,用于在所述查询单元查询到不存在用于指示拒绝加载所述目标进程模块的指示信息之后,判断内存中是否存储有所述目标进程模块的数据;
第二判断单元,用于当所述第一判断单元的判断结果为存储有所述目标进程模块的数据时,判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令,所述入口函数是加载所述目标进程模块时最先调用的函数;
删除单元,用于当所述第二判断单元的判断结果为所述入口函数包括所述返回指令时,删除所述返回指令。
结合本发明实施例第二方面,在本发明实施例第二方面的第二种可能的实现方式中,所述装置还包括:
第三判断单元,用于在所述查询单元查询到存在用于指示拒绝加载所述目标进程模块的指示信息之后,判断内存中是否存储有所述目标进程模块的数据;
第四判断单元,用于当所述第三判断单元的判断结果为存储有所述目标进程模块的数据时,判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令,所述入口函数是加载所述目标进程模块时最先调用的函数;
写入单元,用于在所述第四判断单元的判断结果为所述入口函数不包括所述返回指令时,在所述入口函数中写入所述返回指令。
结合本发明实施例第二方面的第一种或第二种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,所述装置还包括:
确定单元,用于通过回调函数确定所述目标进程模块的基址;
所述确定单元,还用于根据所述基址确定所述目标进程模块的数据中的入口函数。
结合本发明实施例第二方面的第二种可能的实现方式,在本发明实施例第二方面的第四种可能的实现方式中,所述装置还包括:
获取单元,用于当所述第三判断单元的判断结果为内存中未存储有所述目标进程模块的数据时,获取所述目标进程模块的数据;
存储单元,用于在所述获取单元获取的目标进程模块的数据的入口函数中写入所述返回指令,并将包括所述返回指令的所述目标进程模块的数据存储至所述内存。
本发明实施例中,当存在指示拒绝加载目标进程模块的指示信息时,将拒绝目标进程模块的加载,之后将继续加载目标进程中位于目标进程模块之后的进程模块,而不需要结束目标进程的加载,因此,实现了进程加载过程中在不结束进程加载的情况下拦截部分进程模块的加载,可以提高进程加载的有效性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种进程模块加载拦截方法的流程图;
图2是本发明实施例提供的另一种进程模块加载拦截方法的流程图;
图3是本发明实施例提供的一种进程模块加载拦截装置的结构图;
图4是本发明实施例提供的另一种进程模块加载拦截装置的结构图;
图5是本发明实施例提供的又一种进程模块加载拦截装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种进程模块加载拦截方法及装置,用于解决进程加载过程中,当不需要加载这个进程中的部分进程模块时,需要结束这个进程的问题。以下分别进行详细说明。
请参阅图1,图1是本发明实施例提供的一种进程模块加载拦截方法的流程图。如图1所示,该进程模块加载拦截方法可以包括以下步骤。
S101、在加载目标进程的过程中,当检测到用于加载属于目标进程的目标进程模块的加载指令时,查询是否存在用于指示拒绝加载目标进程模块的指示信息,若存在指示信息,则执行步骤S102,若不存在指示信息,则执行步骤S104。
本实施例中,在加载目标进程的过程中,当检测到用于加载属于目标进程的目标进程模块的加载指令时,可以从上层防御系统查询是否存在用于指示拒绝加载目标进程模块的指示信息。例如:上层防御系统可以预先根据预设的规则判断目标进程模块在目标进程中是否为病毒,当判断出目标进程模块在目标进程中为病毒时,将生成用于指示拒绝加载目标进程中的目标进程模块的指示信息。其中,目标进程可以包括至少两个进程模块。
S102、拒绝加载目标进程模块。
本实施例中,当查询到存在用于指示拒绝加载目标进程模块的指示信息时,将拒绝加载目标进程中的目标进程模块。
S103、生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令。
本实施例中,拒绝加载目标进程模块之后,可以先判断目标进程模块是否是目标进程中的最后一个进程模块,当目标进程模块不是目标进程中的最后一个进程模块时,将生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令;当目标进程模块是目标进程中的最后一个进程模块时,将完成目标进程的加载。
S104、加载目标进程模块。
本实施例中,当查询到不存在用于指示拒绝加载目标进程模块的指示信息时,将加载目标进程中的目标进程模块。
在图1所描述的进程模块加载拦截方法中,当存在指示拒绝加载目标进程模块的指示信息时,将拒绝目标进程模块的加载,之后将继续加载目标进程中位于目标进程模块之后的进程模块,而不需要结束目标进程的加载,因此,实现了进程加载过程中在不结束进程加载的情况下拦截部分进程模块的加载,可以提高进程加载的有效性。
请参阅图2,图2是本发明实施例提供的另一种进程模块加载拦截方法的流程图。如图2所示,该进程模块加载拦截方法可以包括以下步骤。
S201、在加载目标进程的过程中,当检测到用于加载属于目标进程的目标进程模块的加载指令时,查询是否存在用于指示拒绝加载目标进程模块的指示信息,若存在指示信息,则执行步骤S202,若不存在指示信息,则执行步骤S204。
本实施例中,在加载目标进程的过程中,当检测到用于加载属于目标进程的目标进程模块的加载指令时,可以从上层防御系统查询是否存在用于指示拒绝加载目标进程模块的指示信息。例如:上层防御系统可以预先根据预设的规则判断目标进程模块在目标进程中是否为病毒,当判断出目标进程模块在目标进程中为病毒时,将生成用于指示拒绝加载目标进程中的目标进程模块的指示信息。其中,目标进程可以包括至少两个进程模块。
S202、拒绝加载目标进程模块。
本实施例中,当查询到存在用于指示拒绝加载目标进程模块的指示信息时,将拒绝加载目标进程中的目标进程模块。
S203、生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令。
本实施例中,拒绝加载目标进程模块之后,可以先判断目标进程模块是否是目标进程中的最后一个进程模块,当目标进程模块不是目标进程中的最后一个进程模块时,将生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令;当目标进程模块是目标进程中的最后一个进程模块时,将完成目标进程的加载。
S204、判断内存中是否存储有目标进程模块的数据,若是,则执行步骤S205,若否,则结束。
本实施例中,当查询到存在用于指示拒绝加载目标进程模块的指示信息,或者查询到不存在用于指示拒绝加载目标进程模块的指示信息之后,都将判断内存中是否存储有目标进程模块的数据。其中,当查询到存在用于指示拒绝加载目标进程模块的指示信息时,步骤S204可以与步骤S202串行执行,也可以并行执行,本实施例不作限定。
S205、通过回调函数确定目标进程模块的基址,并根据基址确定目标进程模块的数据中的入口函数。
本实施例中,当判断出内存中存储有目标进程模块的数据时,将通过回调函数确定目标进程模块的基址,并根据目标进程模块的基址确定目标进程模块的数据中的入口函数。例如:通过PsSetLoadImageNotifyRoutine函数的第三个参数INPIMAGE_INFOImageInfo确定目标进程模块的基址。其中,入口函数是加载目标进程模块时最先调用的函数。
S206、判断目标进程模块的数据中的入口函数是否包括用于指示拒绝加载目标进程模块的返回指令,若包括,则执行步骤S207,若不包括,将结束。
S207、删除返回指令,并调用不包括返回指令的目标进程模块的数据加载目标进程模块。
本实施例中,由于入口函数是加载目标进程模块时最先调用的函数,因此,当查询到不存在用于指示拒绝加载目标进程模块的指示信息时,先判断目标进程模块的数据中的入口函数是否包括用于指示拒绝加载目标进程模块的返回指令,当包括用于指示拒绝加载目标进程模块的返回指令时,将删除返回指令,避免后续加载目标进程模块时,返回指令阻碍目标进程模块的加载;当不包括用于指示拒绝加载目标进程模块的返回指令时,将直接调用目标进程模块的数据加载目标进程模块。
在一个实施例中,当查询到存在用于指示拒绝加载目标进程模块的指示信息,且判断出入口函数不包括用于指示拒绝加载目标进程模块的返回指令时,该进程模块加载拦截方法可以包括以下步骤:
在入口函数中写入返回指令。
本实施例中,当查询到存在用于指示拒绝加载目标进程模块的指示信息时,先判断目标进程模块的数据中的入口函数是否包括用于指示拒绝加载目标进程模块的返回指令,当包括用于指示拒绝加载目标进程模块的返回指令时,将结束;当不包括用于指示拒绝加载目标进程模块的返回指令时,将在入口函数中写入返回指令,以便指示本次拒绝了目标进行模块的加载。
在一个实施例中,当查询到存在用于指示拒绝加载目标进程模块的指示信息,且判断出内存中未存储有目标进程模块的数据时,该进程模块加载拦截方法可以包括以下步骤:
获取目标进程模块的数据,在目标进程模块的数据的入口函数中写入返回指令,并将包括返回指令的目标进程模块的数据存储至内存。
本实施例中,当查询到存在用于指示拒绝加载目标进程模块的指示信息,且判断出内存中未存储有目标进程模块的数据时,将获取目标进程模块的数据,在目标进程模块的数据的入口函数中写入返回指令,并将包括返回指令的目标进程模块的数据存储至内存,以便指示本次拒绝了目标进行模块的加载。
在图2所描述的进程模块加载拦截方法中,当存在指示拒绝加载目标进程模块的指示信息时,将拒绝目标进程模块的加载,之后将继续加载目标进程中位于目标进程模块之后的进程模块,而不需要结束目标进程的加载,因此,实现了进程加载过程中在不结束进程加载的情况下拦截部分进程模块的加载,可以提高进程加载的有效性。
请参阅图3,图3时本发明实施例提供的一种进程模块加载拦截装置的结构图。如图3所示,该进程模块加载拦截装置300可以包括:
查询单元301,用于在加载目标进程的过程中,当检测到用于加载属于目标进程的目标进程模块的加载指令时,从上层防御系统查询是否存在用于指示拒绝加载目标进程模块的指示信息,目标进程包括至少两个进程模块;
拒绝单元302,用于当查询单元301查询到存在指示信息时,拒绝加载目标进程模块;
生成单元303,用于生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令。
具体地,拒绝单元302拒绝加载目标进程模块之后,将触发生成单元303生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令。
在图3所描述的进程模块加载拦截装置中,当存在指示拒绝加载目标进程模块的指示信息时,将拒绝目标进程模块的加载,之后将继续加载目标进程中位于目标进程模块之后的进程模块,而不需要结束目标进程的加载,因此,实现了进程加载过程中在不结束进程加载的情况下拦截部分进程模块的加载,可以提高进程加载的有效性。
请参阅图4,图4时本发明实施例提供的另一种进程模块加载拦截装置的结构图。如图4所示,该进程模块加载拦截装置400可以包括:
查询单元401,用于在加载目标进程的过程中,当检测到用于加载属于目标进程的目标进程模块的加载指令时,从上层防御系统查询是否存在用于指示拒绝加载目标进程模块的指示信息,目标进程包括至少两个进程模块;
拒绝单元402,用于当查询单元401查询到存在指示信息时,拒绝加载目标进程模块;
生成单元403,用于生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令。
具体地,拒绝单元402拒绝加载目标进程模块之后,将触发生成单元403生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令。
作为一种可能的实施方式中,该进程模块加载拦截装置400还可以包括:
第一判断单元404,用于在查询单元401查询到不存在用于指示拒绝加载目标进程模块的指示信息之后,判断内存中是否存储有目标进程模块的数据;
第二判断单元405,用于当第一判断单元404的判断结果为存储有目标进程模块的数据时,判断目标进程模块的数据中的入口函数是否包括用于指示拒绝加载目标进程模块的返回指令,入口函数是加载目标进程模块时最先调用的函数;
删除单元406,用于当第二判断单元405的判断结果为入口函数包括返回指令时,删除返回指令。
作为一种可能的实施方式,该进程模块加载拦截装置400还可以包括:
第三判断单元407,用于在查询单元401查询到存在用于指示拒绝加载目标进程模块的指示信息之后,判断内存中是否存储有目标进程模块的数据;
第四判断单元408,用于当第三判断单元407的判断结果为存储有目标进程模块的数据时,判断目标进程模块的数据中的入口函数是否包括用于指示拒绝加载目标进程模块的返回指令,入口函数是加载目标进程模块时最先调用的函数;
写入单元409,用于在第四判断单元408的判断结果为入口函数不包括返回指令时,在入口函数中写入返回指令。
作为一种可能的实施方式,该进程模块加载拦截装置400还可以包括:
确定单元410,用于通过回调函数确定目标进程模块的基址;
确定单元410,还用于根据基址确定目标进程模块的数据中的入口函数。
具体地,当第一判断单元404的判断结果为是,或者第三判断单元407的结果为是时,将触发确定单元410通过回调函数确定目标进程模块的基址。确定单元406根据基址确定目标进程模块的数据中的入口函数之后,将触发第二判断单元405或者第四判断单元408判断目标进程模块的数据中的入口函数是否包括用于指示拒绝加载目标进程模块的返回指令。
作为一种可能的实施方式,该进程模块加载拦截装置400还可以包括:
获取单元411,用于当第三判断单元407的判断结果为内存中未存储有目标进程模块的数据时,获取目标进程模块的数据;
存储单元412,用于在获取单元411获取的目标进程模块的数据的入口函数中写入返回指令,并将包括返回指令的目标进程模块的数据存储至内存。
在图4所描述的进程模块加载拦截装置中,当存在指示拒绝加载目标进程模块的指示信息时,将拒绝目标进程模块的加载,之后将继续加载目标进程中位于目标进程模块之后的进程模块,而不需要结束目标进程的加载,因此,实现了进程加载过程中在不结束进程加载的情况下拦截部分进程模块的加载,可以提高进程加载的有效性。
请参阅图5,图5时本发明实施例提供的又一种进程模块加载拦截装置的结构图。如图5所示,该进程模块加载拦截装置500可以包括:至少一个处理器501,例如CPU,存储器502,例如内存,输入装置503,输出装置504以及至少一个通信总线505。其中,通信总线505用于实现这些组件之间的连接通信。存储器502可以是高速RAM存储器,还可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器502可选的可以包含至少一个位于远离前述处理器501的存储装置。其中:
存储器502中存储有一组程序代码,处理器501用于调用存储器502中存储的程序代码执行以下操作:
在加载目标进程的过程中,当检测到用于加载属于目标进程的目标进程模块的加载指令时,查询是否存在用于指示拒绝加载目标进程模块的指示信息,目标进程包括至少两个进程模块;
若存在指示信息,则拒绝加载目标进程模块;
生成用于加载目标进程中与目标进程模块相邻的下一进程模块的加载指令。
作为一种可能的实施方式,当查询到不存在用于指示拒绝加载目标进程模块的指示信息之后,处理器501还用于调用存储器502中存储的程序代码执行以下操作:
判断内存中是否存储有目标进程模块的数据;
若存储有目标进程模块的数据,则判断目标进程模块的数据中的入口函数是否包括用于指示拒绝加载目标进程模块的返回指令,入口函数是加载目标进程模块时最先调用的函数;
若入口函数包括返回指令,则删除返回指令。
作为一种可能的实施方式,若存储有目标进程模块的数据,处理器501还用于调用存储器502中存储的程序代码执行以下操作:
作为一种可能的实施方式,当处理器501查询到存在用于指示拒绝加载目标进程模块的指示信息之后,处理器501还用于调用存储器502中存储的程序代码执行以下操作:
判断内存中是否存储有目标进程模块的数据;
若存储有目标进程模块的数据,则判断目标进程模块的数据中的入口函数是否包括用于指示拒绝加载目标进程模块的返回指令,入口函数是加载目标进程模块时最先调用的函数;
若入口函数不包括返回指令,则在入口函数中写入返回指令。
作为一种可能的实施方式,处理器501判断出内存中存储有目标进程模块的数据之后,以及判断目标进程模块的数据中的入口函数是否包括用于指示拒绝加载目标进程模块的返回指令之前,处理器501还用于调用存储器502中存储的程序代码执行以下操作:
通过回调函数确定目标进程模块的基址;
根据基址确定目标进程模块的数据中的入口函数。
作为一种可能的实施方式,当处理器501判断出内存中未存储有目标进程模块的数据时,处理器501还用于调用存储器502中存储的程序代码执行以下操作:
获取目标进程模块的数据;
在目标进程模块的数据的入口函数中写入返回指令,并将包括返回指令的目标进程模块的数据存储内存。
输入装置503,用于接收用户输入的指令或接收其它计算机发送的信息;
输出装置504,用于向其它计算机发送的信息或显示信息。
在图5所描述的进程模块加载拦截装置中,当存在指示拒绝加载目标进程模块的指示信息时,将拒绝目标进程模块的加载,之后将继续加载目标进程中位于目标进程模块之后的进程模块,而不需要结束目标进程的加载,因此,实现了进程加载过程中在不结束进程加载的情况下拦截部分进程模块的加载,可以提高进程加载的有效性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-OnlyMemory,ROM)、随机存取器(RandomAccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的进程模块加载拦截方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种进程模块加载拦截方法,其特征在于,包括:
在加载目标进程的过程中,当检测到用于加载属于所述目标进程的目标进程模块的加载指令时,查询是否存在用于指示拒绝加载所述目标进程模块的指示信息,所述目标进程包括至少两个进程模块;
若存在所述指示信息,则拒绝加载所述目标进程模块;
生成用于加载所述目标进程中与所述目标进程模块相邻的下一进程模块的加载指令。
2.根据权利要求1所述的方法,其特征在于,当查询到不存在用于指示拒绝加载所述目标进程模块的指示信息之后,所述方法还包括:
判断内存中是否存储有所述目标进程模块的数据;
若存储有所述目标进程模块的数据,则判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令,所述入口函数是加载所述目标进程模块时最先调用的函数;
若所述入口函数包括所述返回指令,则删除所述返回指令。
3.根据权利要求1所述的方法,其特征在于,当查询到存在用于指示拒绝加载所述目标进程模块的指示信息之后,所述方法还包括:
判断内存中是否存储有所述目标进程模块的数据;
若存储有所述目标进程模块的数据,则判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令,所述入口函数是加载所述目标进程模块时最先调用的函数;
若所述入口函数不包括所述返回指令,则在所述入口函数中写入所述返回指令。
4.根据权利要求2或3所述的方法,其特征在于,判断出内存中存储有所述目标进程模块的数据之后,以及判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令之前,所述方法还包括:
通过回调函数确定所述目标进程模块的基址;
根据所述基址确定所述目标进程模块的数据中的入口函数。
5.根据权利要求3所述的方法,其特征在于,当判断出内存中未存储有所述目标进程模块的数据时,所述方法还包括:
获取所述目标进程模块的数据;
在所述目标进程模块的数据的入口函数中写入所述返回指令,并将包括所述返回指令的所述目标进程模块的数据存储至所述内存。
6.一种进程模块加载拦截装置,其特征在于,包括:
查询单元,用于在加载目标进程的过程中,当检测到用于加载属于所述目标进程的目标进程模块的加载指令时,查询是否存在用于指示拒绝加载所述目标进程模块的指示信息,所述目标进程包括至少两个进程模块;
拒绝单元,用于当所述查询单元查询到存在所述指示信息时,拒绝加载所述目标进程模块;
生成单元,用于生成用于加载所述目标进程中与所述目标进程模块相邻的下一进程模块的加载指令。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一判断单元,用于在所述查询单元查询到不存在用于指示拒绝加载所述目标进程模块的指示信息之后,判断内存中是否存储有所述目标进程模块的数据;
第二判断单元,用于当所述第一判断单元的判断结果为存储有所述目标进程模块的数据时,判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令,所述入口函数是加载所述目标进程模块时最先调用的函数;
删除单元,用于当所述第二判断单元的判断结果为所述入口函数包括所述返回指令时,删除所述返回指令。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三判断单元,用于在所述查询单元查询到存在用于指示拒绝加载所述目标进程模块的指示信息之后,判断内存中是否存储有所述目标进程模块的数据;
第四判断单元,用于当所述第三判断单元的判断结果为存储有所述目标进程模块的数据时,判断所述目标进程模块的数据中的入口函数是否包括用于指示拒绝加载所述目标进程模块的返回指令,所述入口函数是加载所述目标进程模块时最先调用的函数;
写入单元,用于在所述第四判断单元的判断结果为所述入口函数不包括所述返回指令时,在所述入口函数中写入所述返回指令。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
确定单元,用于通过回调函数确定所述目标进程模块的基址;
所述确定单元,还用于根据所述基址确定所述目标进程模块的数据中的入口函数。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
获取单元,用于当所述第三判断单元的判断结果为内存中未存储有所述目标进程模块的数据时,获取所述目标进程模块的数据;
存储单元,用于在所述获取单元获取的目标进程模块的数据的入口函数中写入所述返回指令,并将包括所述返回指令的所述目标进程模块的数据存储至所述内存。
CN201510616233.9A 2015-09-24 2015-09-24 一种进程模块加载拦截方法及装置 Pending CN105204903A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510616233.9A CN105204903A (zh) 2015-09-24 2015-09-24 一种进程模块加载拦截方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510616233.9A CN105204903A (zh) 2015-09-24 2015-09-24 一种进程模块加载拦截方法及装置

Publications (1)

Publication Number Publication Date
CN105204903A true CN105204903A (zh) 2015-12-30

Family

ID=54952603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510616233.9A Pending CN105204903A (zh) 2015-09-24 2015-09-24 一种进程模块加载拦截方法及装置

Country Status (1)

Country Link
CN (1) CN105204903A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106203069A (zh) * 2016-06-27 2016-12-07 北京金山安全软件有限公司 一种动态链接库文件的拦截方法、装置及终端设备
CN109388581A (zh) * 2018-10-08 2019-02-26 郑州云海信息技术有限公司 一种非易失性内存储器管理方法与装置
CN112507324A (zh) * 2021-02-05 2021-03-16 浙江地芯引力科技有限公司 一种数据及命令安全性分析 risc 处理器电路及其方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983296A (zh) * 2005-12-12 2007-06-20 北京瑞星国际软件有限公司 用于防止非法程序窃取用户信息的方法及装置
CN102999354A (zh) * 2012-11-15 2013-03-27 北京奇虎科技有限公司 文件加载方法和装置
US20150154037A1 (en) * 2006-05-04 2015-06-04 Vmware, Inc. Enhanced hook function for use with different versions of a dynamically loaded library

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983296A (zh) * 2005-12-12 2007-06-20 北京瑞星国际软件有限公司 用于防止非法程序窃取用户信息的方法及装置
US20150154037A1 (en) * 2006-05-04 2015-06-04 Vmware, Inc. Enhanced hook function for use with different versions of a dynamically loaded library
CN102999354A (zh) * 2012-11-15 2013-03-27 北京奇虎科技有限公司 文件加载方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106203069A (zh) * 2016-06-27 2016-12-07 北京金山安全软件有限公司 一种动态链接库文件的拦截方法、装置及终端设备
CN106203069B (zh) * 2016-06-27 2019-10-15 珠海豹趣科技有限公司 一种动态链接库文件的拦截方法、装置及终端设备
CN109388581A (zh) * 2018-10-08 2019-02-26 郑州云海信息技术有限公司 一种非易失性内存储器管理方法与装置
CN112507324A (zh) * 2021-02-05 2021-03-16 浙江地芯引力科技有限公司 一种数据及命令安全性分析 risc 处理器电路及其方法
CN112507324B (zh) * 2021-02-05 2021-06-04 浙江地芯引力科技有限公司 一种数据及命令安全性分析risc处理器电路及其方法

Similar Documents

Publication Publication Date Title
CN106933733B (zh) 一种确定内存泄露位置的方法和装置
CN107832100B (zh) 一种apk插件的加载方法及其终端
CN111813805A (zh) 一种数据处理方法及装置
CN110908865A (zh) 内存泄漏监控方法、装置及电子设备
US10628066B2 (en) Ensuring in-storage data atomicity and consistency at low cost
JP6446125B2 (ja) リソースリーク検出の方法、装置及びシステム
CN108959118B (zh) 一种数据写入的方法及装置
CN108958975B (zh) 一种控制数据恢复速度的方法、装置及设备
CN105204903A (zh) 一种进程模块加载拦截方法及装置
US20240095174A1 (en) Method for detecting error of operating system kernel memory in real time
CN109033365B (zh) 一种数据处理方法及相关设备
CN111352791A (zh) 一种系统应用的检测方法、装置、终端设备及存储介质
CN110399101A (zh) 一种磁盘的写操作处理方法、装置、系统及存储介质
CN114297630A (zh) 恶意数据的检测方法、装置、存储介质及处理器
CN101236489B (zh) 虚拟硬件系统及其指令执行方法、以及虚拟机
CN105468941A (zh) 一种权限控制方法和装置
CN106682494B (zh) 一种信息访问方法、装置和设备
CN112199042A (zh) 存储空间管理方法、装置、芯片、设备及存储介质
CN111159298A (zh) 业务请求处理方法、装置、电子设备及存储介质
CN104281587A (zh) 一种建立连接的方法及装置
CN103366115B (zh) 安全性检测方法和装置
CN112559313A (zh) 测试用例的设置方法及装置、存储介质、电子设备
CN112866265B (zh) 一种csrf攻击防护方法及装置
CN109753363B (zh) 一种嵌入式系统内存管理方法及装置
CN104331406A (zh) 一种数据库容量控制方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20181227

Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Applicant after: Zhuhai Leopard Technology Co.,Ltd.

Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing

Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20151230

RJ01 Rejection of invention patent application after publication