屏蔽LSP模块注入的方法和装置制造方法及图纸

技术编号:11460349 阅读:304 留言:0更新日期:2015-05-14 18:40
本发明专利技术提出一种屏蔽LSP模块注入的方法和装置,该屏蔽LSP模块注入的方法包括检测到要加载LSP模块;判断所述LSP模块是否是需要屏蔽的模块;如果是,屏蔽所述LSP模块注入到可执行程序中。该方法能够区分注入的LSP模块,屏蔽需要屏蔽的LSP模块注入,而不屏蔽不需要屏蔽的LSP模块注入。

【技术实现步骤摘要】
屏蔽LSP模块注入的方法和装置
本专利技术涉及信息
,尤其涉及一种屏蔽LSP模块注入的方法和装置。
技术介绍
可执行程序的线上崩溃率一部分是由于第三方软件的注入引起的,其中以分层服务提供者(LayerServiceProvider,LSP)模块注入比较多,为了降低崩溃率,可以对LSP模块注入进行屏蔽处理。相关技术中,进行注入的所有的LSP模块都被屏蔽,这就会导致有些软件功能不能使用。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种屏蔽LSP模块注入的方法,该方法可以区分注入的LSP模块,屏蔽需要屏蔽的LSP模块,而不屏蔽不需要屏蔽的LSP模块。本专利技术的另一个目的在于提出一种屏蔽LSP模块的装置。为达到上述目的,本专利技术第一方面实施例提出的屏蔽LSP模块注入的方法,包括:检测到要加载LSP模块;判断所述LSP模块是否是需要屏蔽的模块;如果是,屏蔽所述LSP模块注入到可执行程序中。本专利技术第一方面实施例提出的屏蔽LSP模块注入的方法,通过判断要加载的LSP模块是否是需要屏蔽的模块,在是需要屏蔽的模块时进行屏蔽处理,可以区分注入的LSP模块,屏蔽需要屏蔽的LSP模块注入,而不屏蔽不需要屏蔽的LSP模块注入。为达到上述目的,本专利技术第二方面实施例提出的屏蔽LSP模块注入的装置,包括:检测模块,用于检测到要加载LSP模块;判断模块,用于判断所述LSP模块是否是需要屏蔽的模块;屏蔽模块,用于如果是,屏蔽所述LSP模块注入到可执行程序中。本专利技术第二方面实施例提出的屏蔽LSP模块注入的装置,通过判断要加载的LSP模块是否是需要屏蔽的模块,在是需要屏蔽的模块时进行屏蔽处理,可以区分注入的LSP模块,屏蔽需要屏蔽的LSP模块注入,而不屏蔽不需要屏蔽的LSP模块注入。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是本专利技术一实施例提出的屏蔽LSP模块注入的方法的流程示意图;图2是本专利技术实施例中网络机制和LSP扩展的示意图;图3是相关技术中LSP模块加载的流程示意图;图4是相关技术中屏蔽LSP模块注入的流程示意图;图5是本专利技术另一实施例提出的屏蔽LSP模块注入的方法的流程示意图;图6是图5对应的系统结构示意图;图7是本专利技术实施例中屏蔽LSP模块注入的流程示意图;图8是本专利技术实施例中采用钩子拦截技术屏蔽LSP模块注入的结果示意图;图9是本专利技术另一实施例提出的屏蔽LSP模块注入的装置的结构示意图;图10是本专利技术另一实施例提出的屏蔽LSP模块注入的装置的结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。相反,本专利技术的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。图1是本专利技术一实施例提出的屏蔽LSP模块注入的方法的流程示意图,该方法包括:S11:检测到要加载LSP模块。LSP模块是采用LSP协议进行通信的功能模块。LSP协议用于扩展windows套接字(winsock),winsock是windows系统平台上的应用程序的网络套接字工具。参见图2,是使用LSP协议扩展winsock的原理图。使用LSP协议扩展winsock时会加载服务,其中,加载的服务是以dll形式存在的,具体可以通过服务提供接口(serviceproviderinterface,SPI)加载服务。SPI有两种,分别是TransportSPI和NameSpaceSPI,其中,Transport是传输协议机制,NameSpace是域名解析机制,NameSpaceSPI例如具体是getXXXbyXXX之类的调用接口。为了与本专利技术实施例进行比对,首先介绍现有技术中加载LSP模块的流程以及现有技术中屏蔽LSP模块的流程。参见图3,现有技术中加载LSP模块的流程可以包括:S31:应用层调用网络函数。网络函数包括一些预设的函数,例如,socket函数,send函数,sendto函数等。S32:查找注册表找到当前要处理的LSP模块的文件位置,初始时,当前要处理的LSP模块是注册表中最顶层的LSP模块。S33:通过loadlibrary函数加载该当前要处理的LSP模块并调用该当前要处理的LSP模块的WSAStartup函数。S34:通过注册表检测是否还有下一层LSP模块,若是,重复执行S33及其后续步骤,若否,执行S35。其中,LSP是分层服务提供者,包括很多层,因此可以逐层进行处理。例如,初始时先处理最顶层的LSP模块,之后通过注册表可以读取到第二层的LSP模块作为下一层LSP模块。S35:调用网络驱动层完成。由于LSP是在应用层,需要调用驱动完成整套网络功能,因此,通过图3所示的步骤可以完成网络驱动层的调用,从而实现整套网络功能。屏蔽LSP模块也可以称为LSP拦截,现有技术中,可以采用注册表的重定向技术实现对LSP模块的拦截。参见图4,现有技术中,屏蔽LSP模块的流程可以包括:S401:应用层调用网络函数。网络函数包括一些预设的函数,例如,socket函数,send函数,sendto函数等。S402:判断是否执行LSP拦截,若是,执行S403,若否,执行S406。例如,通过loadlibrary函数加载的注册表的值可以确定是否执行LSP拦截。S403:采用注册表重定向技术,读取到一个干净没被安装过任何LSP模块的注册表。例如,先预设一个干净的注册表,之后读取到该预设的干净的注册表。S404:加载伪造(fake)的LSP模块。其中,可以通过文件名字替换实现加载fake的LSP模块,例如,将预设的文件名称替换当前加载的LSP模块的文件名称,该预设的文件名称是预设的fake的LSP模块的文件名称,fake的LSP模块可以是预设一个LSP模块并将其设置为fake的LSP模块,之后需要加载fake的LSP模块时,都将当前加载的文件名称替换为fake的LSP模块的文件名称。S405:加载微软提供的mswsock.dll模块。之后,执行S409。通过注册表的重定向技术,读取到一个预先设定好的干净的注册表,也就是没被安装过任何LSP的一张注册表,根据该干净的注册表加载伪造(fake)的LSP模块,这时候得到的是微软提供的mswsock.dll模块的文件路径,之后可以根据该文件路径加载微软提供的mswsock.dll模块。该mswsock.dll模块会调用底层的网络驱动完成函数调用。其中,mswsock.dll模块是微软的LSP网络模块。S406:查找注册表找到当前要处理的LSP模块的文件位置,初始时,当前要处理的LSP模块是注册表中最顶层的LSP模块。由于LSP是分层服务提供者,采用LSP机制可以实现分层,得到不同层的LSP模块。S407:通过loadlibrary函数加载该当前要处理的LSP模块并调用该当前要处理的LSP模块并调用该模块的WSAStart本文档来自技高网...
屏蔽LSP模块注入的方法和装置

【技术保护点】
一种屏蔽LSP模块注入的方法,其特征在于,包括:检测到要加载LSP模块;判断所述LSP模块是否是需要屏蔽的模块;如果是,屏蔽所述LSP模块注入到可执行程序中。

【技术特征摘要】
1.一种屏蔽LSP模块注入的方法,其特征在于,包括:检测到要加载LSP模块;判断所述LSP模块是否是需要屏蔽的模块;如果是,屏蔽所述LSP模块注入到可执行程序中;所述检测到要加载LSP模块之前,所述方法还包括:在所述可执行程序启动时,启动钩子拦截,以及,从服务端获取配置文件,所述配置文件中包含需要屏蔽的LSP模块的信息;所述在所述可执行程序启动时,启动钩子拦截,以及,从服务端获取配置文件之前,所述方法还包括:在所述可执行程序崩溃时,将崩溃信息发送给倾出平台,使得所述倾出平台根据所述崩溃信息确定出所述崩溃是由LSP模块注入引起的,将引起所述崩溃的LSP模块的信息发送给所述服务端,以使所述服务端将引起所述崩溃的LSP模块的信息保存在所述配置文件中;所述崩溃信息包括:发生崩溃时注入的模块的信息和全局LSP信息。2.根据权利要求1所述的方法,其特征在于,所述检测到要加载LSP模块,包括:采用所述钩子拦截检测到要加载LSP模块。3.根据权利要求1所述的方法,其特征在于,所述判断所述LSP模块是否是需要屏蔽的模块,包括:当所述LSP模块的信息在所述配置文件中时,判断出所述LSP模块是需要屏蔽的模块。4.根据权利要求1所述的方法,其特征在于,所述屏蔽所述LSP模块注入到可执行程序中之后,所述方法还包括:判断屏蔽后是否出现预设的不良结果;如果出现,将所述LSP模块的信息发送给服务端,以使...

【专利技术属性】
技术研发人员:陈华胜张华键
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1