检测软件的方法及系统的制作方法

文档序号:6426174阅读:210来源:国知局
专利名称:检测软件的方法及系统的制作方法
检测软件的方法及系统
技术领域
本发明涉及计算机软件应用领域,特别涉及一种检测软件的方法及系统。
背景技术
传统的软件安装在终端上时会生成软件的基本信息,该基本信息记录在注册表中,可通过检测注册表中的基本信息来确定软件类别。软件的基本信息包括安装路径、卸载程序路径、图标文件、版本信息等,软件类别如暴风影音播放器软件、迅雷播放器软件、QQ播放器软件等。然而,当注册表中的基本信息被破坏或某些软件安装在终端上生成的基本信息不被记录在注册表中时,通过检测注册表中的基本信息将无法确定软件类别。

发明内容基于此,有必要提供一种无需通过注册表且不会造成软件的漏检现象的检测软件的方法。一种检测软件的方法,包括以下步骤建立软件特征库,所述软件特征库存储关键文件信息、特征文件信息及特征文件信息对应的匹配权值;扫描目标文件夹,根据所述关键文件信息,检测目标文件夹中是否存在关键文件且匹配成功,若是,则确定所述目标文件夹所属的根目录,否则结束;根据所述特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,并根据匹配权值计算匹配参数值;判断计算得到的匹配参数值是否大于等于阈值,若是,则根据所述根目录及特征文件信息确定目标文件夹所属软件类别,并从所述软件特征库中得到所述软件的基本信息,否则结束。优选地,所述特征文件信息为多个特征文件信息时,根据所述特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,并根据匹配权值计算匹配参数值的步骤具体包括根据所述特征文件信息在目标文件夹中逐一匹配特征文件,匹配成功后,得到相应的匹配权值;将得到的匹配权值进行叠加得到所述匹配参数值。优选地,所述根据特征文件信息在目标文件夹中匹配特征文件的匹配条件至少包括文件名称匹配和文件md5值匹配中的一种。优选地,所述匹配条件还包括版本号匹配和数字签名匹配中的一种或两种。优选地,所述关键文件信息为多个时,根据所述关键文件信息,检测目标文件夹中是否存在关键文件且匹配成功,若是,则确定所述目标文件夹所属的根目录,否则结束的步骤为所述软件特征库存储有预先设置多个关键文件信息的优先级;按照所述多个关键文件信息的优先级高低依次在目标文件夹中匹配关键文件,若匹配成功,则确定所述目标文件夹所属的根目录,否则结束。此外,还有必要提供一种无需通过注册表且不会造成软件的漏检现象的检测软件的系统。一种检测软件的系统,包括创建模块,用于建立软件特征库,所述软件特征库存储关键文件信息、特征文件信息及特征文件信息对应的匹配权值;扫描模块,用于扫描目标文件夹,并根据所述关键文件信息,检测目标文件夹中是否存在关键文件且匹配成功,并在检测到存在关键文件且匹配成功时,确定所述目标文件 夹所属的根目录;匹配模块,用于根据所述特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,并根据匹配权值计算匹配参数值;判断模块,用于判断计算得到的匹配参数值是否大于等于阈值;识别模块,用于在判断所述判断模块判断出匹配参数值大于阈值时,根据所述根目录及特征文件信息确定目标文件夹所属软件类别,并从所述软件特征库中得到所述软件的基本彳目息。优选地,所述特征文件信息为多个特征文件信息时,所述匹配模块还用于根据所述特征文件信息在目标文件夹中逐一匹配特征文件,匹配成功后,得到相应的匹配权值,再将得到的匹配权值进行叠加得到所述匹配参数值。优选地,所述匹配模块根据特征文件信息在目标文件夹中匹配特征文件的匹配条件至少包括文件名称匹配和文件md5值匹配中的一种。优选地,所述匹配条件还包括版本号匹配和数字签名匹配中的一种或两种。优选地,所述关键文件信息为多个时,所述软件特征库中还存储有预先设置多个关键文件信息的优先级;所述扫描模块还用于按照所述多个关键文件信息的优先级高低依次在目标文件夹中匹配关键文件,并在匹配成功时则确定所述目标文件夹所属的根目录。上述检测软件的方法及系统,通过建立软件特征库,扫描目标文件夹,通过根据关键文件信息匹配关键文件确定目标文件夹所属的根目录,再进一步根据特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,计算匹配参数值,将匹配参数值与阈值比较,当匹配参数值大于等于该阈值,则根据根目录及特征文件信息可确定目标文件夹所属的软件类别,从而实现了软件的检测,无需通过注册表,不会造成软件的漏检现象。

图I为一个实施例中检测软件的方法的流程图;图2为一个实施例中计算匹配参数值的具体流程图;图3为一个实施例中检测软件的系统的结构示意图。
具体实施方式下面结合具体的实施例及附图对检测软件的方法及系统的技术方案进行详细的描述。
如图I所示,在一个实施例中,一种检测软件的方法,包括以下步骤步骤S110,建立软件特征库,该软件特征库存储关键文件信息、特征文件信息及特征文件信息对应的匹配权值。为了识别软件,需预先建立软件特征库。该软件特征库中的关键文件信息是指用于确定软件根目录的文件信息,如软件启动文件信息(QQ. exe文件信息)等;特征文件信息是指用于进一步确定软件的文件信息,该文件信息可由用户选定,如QQ软件中的bin\loginpanel. dll (Dynamic Link Library,动态链接库)文件信息、bin\mainframe. dll文件信息、bin\im. dll文件信息等;特征文件信息对应的匹配权值是指预设的特征文件 信息被匹配时赋予相应的权值,如bin\loginpanel. dll文件信息对应的匹配权值为100,bin\mainframe. dll文件信息对应的匹配权值为100。关键文件信息和特征文件信息可为一个或多个。关键文件信息可包括关键文件名称、关键文件标识号、关键文件相对软件根目录的关系和期望根目录等。关键文件相对软件根目录的关系如AB\Bin\abc.exe中软件根目录AB与abc. exe相差2个层级,AB的根目录关系值可设为_2,表示AB是abc. exe父目录的父目录,同样,-I表示相差I个层级,Bin是abc. exe的父目录,O表示在同一层级,依次类推。期望根目录是所有文件所属的一个最小父目录,其中,可设定一个属性值来确定软件的根目录是否必须与期望根目录匹配一致。在一个实施例中,软件特征库中记录了如下信息
〈Soft Name= “QQ,,ID= “2” >
<SoftNode DisplayName= “QQ2010” >
<Basic>
〈Version Max= “1.60.0.0” min= “1.50.0.0” />
<SymbilFile RootRelativePath= “-2” Priority= “100” > <FileName>QQ.exe</FileName>
〈RootName Strict= “I” >QQ</RootName>
</SymbolFile>
〈SymbilFile RootRelativePath= “-2” Priority= “99” > <FileName>TXPlatform.exe</FileName>
〈RootName Strict= “I” >QQ</RootName>
</SymbolFile>
<Basic>其中,SymbolFile表示一个关键文件,RootRelativePath表示该文件相对于软件根目录的关系,-2表示相差两个层级,Priority表示多个关键文件信息确定根目录的优先级,依次从高到低进行匹配,匹配即可确认根目录,RootName表示期望的根目录名称,Strict属性表示是否必须为该名称,若是,则表示该根目录必须为该名称。在根据关键文件信息匹配关键文件确定目标文件夹所属根目录时,可对字段Strict的属性进行匹配,如Strict的属性为I表示目标文件夹所属根目录必须匹配该期望根目录,Strict的属性为O表示目标文件夹所属根目录不一定匹配该期望根目录。另外,同一个软件可能存在不同的版本,每个版本的文件结构可能有所不同,因此同一个软件可针对不同版本建立不同的关键文件信息、特征文件信息,也可以在一个版本区间对应建立同一个关键文件信息和特征文件信息。步骤S120,扫描目标文件夹,根据关键文件信息检测目标文件夹中是否存在关键文件且匹配成功,若是,执行步骤S130,否则结束。扫描目标文件夹,可通过扫描全部磁盘实现扫描目标文件夹,也可以根据用户自定义扫描路径的扫描目标文件夹,或获取用户指定的快捷方式或可执行软件的位置进行扫 描目标文件夹。根据关键文件信息对扫描目标文件夹中的文件进行检测,匹配关键文件,若匹配成功,则可确定该目标文件夹所属的根目录。匹配关键文件的匹配条件至少包括文件名称匹配和文件Md5值匹配中的一种,还包括版本号匹配和数字签名匹配中的一种或两种。当关键文件信息为多个时,如QQ软件的关键文件信息包括QQ. exe文件信息、TXpaltform. exe文件信息。在软件特征库中还存储有预先设置的多个关键文件信息的优先级。步骤S120具体为扫描目标文件夹,按照多个关键文件信息优先级高低依次在目标文件夹中匹配关键文件,若匹配成功,则确定该目标文件夹所属的根目录。按照多个关键文件信息优先级逐一匹配,当全部匹配成功后,可确定该目标文件夹所属的根目录。步骤S130,确定该目标文件夹所属的根目录。确定该目标文件夹所属的根目录,即初步确定了软件的类别。步骤S140,根据特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,并根据匹配权值计算匹配参数值。根据特征文件信息在目标文件夹中匹配特征文件的匹配条件至少包括文件名称匹配和文件Md5值匹配中的一种,还包括版本号匹配和数字签名匹配中的一种或两种,版本号匹配和数字签名匹配也可能均不被包括。当特征文件信息为多个特征文件信息时,即如QQ软件中的bin\loginpanel.dll (Dynamic Link Library,动态链接库)文件信息、bin\mainframe. dll 文件信息、bin\im. dll文件信息等,如图3所示,步骤S140具体为步骤S141,根据特征文件信息在目标文件夹中逐一匹配特征文件,匹配成功后,得到相应的匹配权值。匹配成功后,将得到该特征文件信息对应的匹配权值,如2个特征文件信息,bin\loginpanel. dll文件信息匹配成功,得到对应的匹配权值为100,bin\mainframe. dll文件信息匹配成功,得到对应的匹配权值为100。步骤S143,将得到的匹配权值进行叠加得到该匹配参数值。将匹配权值叠加得到200作为匹配参数值。步骤S150,判断计算得到的匹配参数值是否大于等于阈值,若是,则执行步骤S160,否则结束。当计算得到的匹配参数值大于等于阈值时,根据跟目录及特征文件信息确定该目标文件夹所属的软件类别。阈值由系统设定,如设定为500。步骤S160,根据根目录及特征文件信息确定目标文件夹所属的软件类别,并从软件特征库中得到该软件的基本信息。确定了软件类别后,从软件特征库中可得到该软件的基本信息,基本信息包括软件的名称、类别、安装路径、卸载路径、图标文件、版本信息等等。如图3所示,在一个实施例中,一种检测软件的系统,包括创建模块310、扫描模块320、匹配模块330、判断模块340和识别模块350。其中,创建模块310用于建立软件特征库,该软件特征库存储关键文件信息、特征文件 信息及特征文件信息对应的匹配权值。为了识别软件,需预先建立软件特征库。该软件特征库中的关键文件信息是指用于确定软件根目录的文件信息,如软件启动文件信息(QQ.exe文件信息)等;特征文件信息是指用于进一步确定软件的文件信息,该文件信息可由用户选定,如QQ软件中的bin\loginpanel. dll (Dynamic Link Library,动态链接库)文件信息、bin\mainframe. dll文件信息、bin\im. dll文件信息等;特征文件信息对应的匹配权值是指预设的特征文件信息被匹配时赋予相应的权值,如bin\loginpanel. dll文件信息对应的匹配权值为100,bin\mainframe. dll文件信息对应的匹配权值为100。关键文件信息和特征文件信息可为一个或多个。关键文件信息可包括关键文件名称、关键文件标识号、关键文件相对软件根目录的关系和期望根目录。关键文件相对软件根目录的关系如AB\Bin\abc.exe中软件根目录AB与abc. exe相差2个层级,AB的根目录关系值可设为_2,表示AB是abc. exe父目录的父目录,同样,-I表示相差I个层级,Bin是abc. exe的父目录,O表示在同一层级,依次类推。期望根目录是所有文件所属的一个最小父目录,其中,可设定一个属性值来确定软件根目录是否必须与期望根目录匹配一致。如方法实施例中,软件特征库中记录的信息,SymbolFile表示一个关键文件信息,RootRelativePath表示该文件相对于软件根目录的关系,-2表示相差两个层级,Priority表示多个关键文件信息确定根目录的优先级,依次从高到低进行匹配,匹配即可确认根目录,RootName表示期望的根目录名称,Stirct属性表示是否必须为该名称,若是,则表示该根目录必须为该名称。同一个软件可能存在不同的版本,每个版本的文件结构可能有所不同,因此可同一个软件可针对不同版本建立不同的关键文件信息、特征文件信息,也可以在一个版本区间对应建立同一个关键文件信息和特征文件信息。扫描模块320用于扫描目标文件夹,并根据关键文件信息检测目标文件夹中是否存在关键文件且匹配成功,并在检测到存在关键文件且匹配成功时,确定目标文件夹所属的根目录。扫描目标文件夹,可通过扫描全部磁盘实现扫描目标文件夹,也可以根据用户自定义扫描路径的扫描目标文件夹,或获取用户指定的快捷方式或可执行软件的位置进行扫描目标文件夹。关键文件信息可为多个,如QQ软件的关键文件信息包括QQ. exe文件信息、TXpaltform. exe文件信息。在软件特征库中还存储有预先设置多个关键文件信息的优先级。扫描模块320还用于按照多个关键文件信息优先级高低依次在目标文件夹中匹配关键文件,并在匹配成功时则确定该目标文件夹所属的根目录。扫描模块320按照多个关键文件信息优先级逐一匹配,当全部匹配成功后,可确定该目标文件夹所属的根目录。匹配关键文件的匹配条件至少包括文件名称匹配和文件Md5值匹配中的一种,还包括版本号匹配和数字签名匹配中的一种或两种。另外,扫描模块320在根据关键文件信息匹配关键文件确定目标文件夹所属根目录时,可对字段Strict的属性进行匹配,如Strict的属性为I表示目标文件夹所属根目录必须匹配该期望根目录,Strict的属性为O表示目标文件夹所属根目录不一定匹配该期望根目录。匹配模块330用于根据特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,并根据匹配权值计算匹配参数值。匹配模块330根据特征文件信息在目标文件夹中匹配特征文件的匹配条件至少包括文件名称匹配和文件md5值匹配中的一种,还包括版本号匹配和数字签名匹配中的一种或两种。当特征文件信息为多个特征文件信息时,即如QQ软件中的bin\loginpanel. dll (Dynamic Link Library,动态链接库)文件信息、bin\mainframe. dll 文件信息、bin\im. dll文件信息等,匹配模块330还用于根据多个特征文件信息在目标文件夹中逐一匹配特征文件,匹配成功后,得到相应的匹配权值,再将得到的匹配权值进行叠加得到该匹配参数值。匹配成功后,将得到该特征文件信息对应的匹配权值,如2个特征文件信息,bin\loginpanel. dll文件信息匹配到相应的特征文件,即匹配成功,得到对应的匹配权值为100, bin\mainframe. dll文件信息匹配到相应的特征文件,即匹配成功,得到对应的匹配权值为100。匹配模块330将匹配权值叠加得到200作为匹配参数值。判断模块340用于判断计算得到的匹配参数值是否大于等于阈值。识别模块350用于在判断模块340判断出匹配参数值大于阈值时,根据根目录及特征文件信息确定目标文件夹所属的软件类别,并从软件特征库中得到该软件的基本信息。阈值由系统设定,如设定为500。基本信息包括软件的名称、类别、安装路径、卸载路径、图标文件、版本彳目息等等。上述检测软件的方法及系统,通过建立软件特征库,扫描目标文件夹,通过根据关键文件信息匹配关键文件确定目标文件夹所属的根目录,再进一步根据特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,计算匹配参数值,将匹配参数值与阈值比较,当匹配参数值大于等于该阈值,则根据根目录及特征文件信息可确定目标文件夹所属的软件类别,无需通过注册表,不会造成软件的漏检现象。另外,对单个文件的匹配条件多样,灵活,可满足不同的需求。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种检测软件的方法,包括以下步骤 建立软件特征库,所述软件特征库存储关键文件信息、特征文件信息及特征文件信息对应的匹配权值; 扫描目标文件夹,根据所述关键文件信息,检测目标文件夹中是否存在关键文件且匹配成功,若是,则确定所述目标文件夹所属的根目录,否则结束; 根据所述特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,并根据匹配权值计算匹配参数值; 判断计算得到的匹配参数值是否大于等于阈值,若是,则根据所述根目录及特征文件信息确定目标文件夹所属软件类别,并从所述软件特征库中得到所述软件的基本信息,否则结束。
2.根据权利要求I所述的检测软件的方法,其特征在于,所述特征文件信息为多个特征文件信息时,根据所述特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,并根据匹配权值计算匹配参数值的步骤具体包括 根据所述特征文件信息在目标文件夹中逐一匹配特征文件,匹配成功后,得到相应的匹配权值; 将得到的匹配权值进行叠加得到所述匹配参数值。
3.根据权利要求I所述的检测软件的方法,其特征在于,所述根据特征文件信息在目标文件夹中匹配特征文件的匹配条件至少包括文件名称匹配和文件md5值匹配中的一种。
4.根据权利要求3所述的检测软件的方法,其特征在于,所述匹配条件还包括版本号匹配和数字签名匹配中的一种或两种。
5.根据权利要求I所述的检测软件的方法,其特征在于,所述关键文件信息为多个时,根据所述关键文件信息,检测目标文件夹中是否存在关键文件且匹配成功,若是,则确定所述目标文件夹所属的根目录,否则结束的步骤为所述软件特征库存储有预先设置多个关键文件信息的优先级;按照所述多个关键文件信息的优先级高低依次在目标文件夹中匹配关键文件,若匹配成功,则确定所述目标文件夹所属的根目录,否则结束。
6.一种检测软件的系统,其特征在于,包括 创建模块,用于建立软件特征库,所述软件特征库存储关键文件信息、特征文件信息及特征文件信息对应的匹配权值; 扫描模块,用于扫描目标文件夹,并根据所述关键文件信息,检测目标文件夹中是否存在关键文件且匹配成功,并在检测到存在关键文件且匹配成功时,确定所述目标文件夹所属的根目录; 匹配模块,用于根据所述特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,并根据匹配权值计算匹配参数值; 判断模块,用于判断计算得到的匹配参数值是否大于等于阈值; 识别模块,用于在判断所述判断模块判断出匹配参数值大于阈值时,根据所述根目录及特征文件信息确定目标文件夹所属软件类别,并从所述软件特征库中得到所述软件的基本信息。
7.根据权利要求6所述的检测软件的系统,其特征在于,所述特征文件信息为多个特征文件信息时,所述匹配模块还用于根据所述特征文件信息在目标文件夹中逐一匹配特征文件,匹配成功后,得到相应的匹配权值,再将得到的匹配权值进行叠加得到所述匹配参数值。
8.根据权利要求6所述的检测软件的系统,其特征在于,所述匹配模块根据特征文件信息在目标文件夹中匹配特征文件的匹配条件至少包括文件名称匹配和文件md5值匹配中的一种。
9.根据权利要求8所述的检测软件的系统,其特征在于,所述匹配条件还包括版本号匹配和数字签名匹配中的一种或两种。
10.根据权利要求6所述的检测软件的系统,其特征在于,所述关键文件信息为多个时,所述软件特征库中还存储有预先设置多个关键文件信息的优先级;所述扫描模块还用于按照所述多个关键文件信息的优先级高低依次在目标文件夹中匹配关键文件,并在匹配成功时则确定所述目标文件夹所属的根目录。
全文摘要
本发明涉及一种检测软件的方法及系统。该方法包括以下步骤建立软件特征库,所述软件特征库存储关键文件信息、特征文件信息及特征文件信息对应的匹配权值;扫描目标文件夹,根据所述关键文件信息,检测目标文件夹中是否存在关键文件且匹配成功,若是,则确定所述目标文件夹所属的根目录,否则结束;根据所述特征文件信息在目标文件夹中匹配特征文件,得到相应的匹配权值,并根据匹配权值计算匹配参数值;判断计算得到的匹配参数值是否大于等于阈值,若是,则根据所述根目录及特征文件信息确定目标文件夹所属软件类别,并从软件特征库中得到所述软件的基本信息,否则结束。上述检测软件的方法及系统,无需通过注册表,不会造成软件的漏检现象。
文档编号G06F11/36GK102831049SQ20111015781
公开日2012年12月19日 申请日期2011年6月13日 优先权日2011年6月13日
发明者拓鑫 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1