本申请实施例提供一种软件检测方法及电子设备,应用于终端技术领域,该方法中,电子设备运行待检测软件。若电子设备确定待检测软件包括满足预设条件的多个目标进程,则电子设备检测出待检测软件是目标软件。预设条件包括:多个目标进程中的任一进程处于等待获取多个目标进程中的其中一个第一进程持有的文件锁的等待状态,且任一进程持有的文件锁还被多个目标进程中的其中一个第二进程等待获取,第一进程不同于第二进程。该方法在待检测软件运行过程中,通过待检测软件中是否存在多个进程互相守护,确定待检测软件有无通过文件锁复活机制实现进程的保活,从而检测出待检测软件是目标软件。标软件。标软件。
【技术实现步骤摘要】
一种软件检测方法及电子设备
[0001]本申请涉及终端
,尤其涉及一种软件检测方法及电子设备。
技术介绍
[0002]在开放式网络环境下,流氓软件(badware)越来越盛行。在不提示及不经过用户许可的情况下,流氓软件在用户的电子设备上安装运行,且其具备强制安装、难以卸载、广告弹出、恶意收集用户信息等特征,给用户带来极大的不便。
[0003]为了尽可能长时间的在用户的电子设备中实施广告、收集信息的行为,流氓软件不仅会在后台运行大量活动(如播放无声音乐、不停拉起新组件)来提升自身运行优先级,被动防止被电子设备的系统当做空闲进程清理;而且还能在被用户关闭进程后主动重启进程(或称保活进程)。针对流氓软件的保活行为,目前的解决方法包括动态检测方法,即,依次关闭各个软件的进程,查看其保活行为是否被触发。这样虽然可以检测出有保活行为的流氓软件,但是影响了电子设备正常使用。
技术实现思路
[0004]基于此,本申请实施例提供一种软件检测方法及电子设备,在待检测软件运行过程中无需关闭待检测软件的进程,便能够通过检测到待检测软件的保活行为识别出目标软件,因而不会影响待检测软件的正常使用,用户体验较好。
[0005]第一方面,本申请提供一种软件检测方法,应用于电子设备,该方法中,电子设备运行待检测软件。在待检测软件的运行过程中,若确定待检测软件包括满足预设条件的多个目标进程,则电子设备检测出待检测软件是目标软件。该预设条件包括:多个目标进程中的任一进程处于等待获取多个目标进程中的其中一个第一进程持有的文件锁的等待状态,且任一进程持有的文件锁还被多个目标进程中的其中一个第二进程等待获取,第一进程不同于第二进程。
[0006]其中,待检测软件包括:待检测应用软件、待检测系统软件、待检测中间件。本方案中,电子设备通过启动待检测软件的进程,从而启动并运行待检测软件,因而在待检测软件运行的过程中,可以获取待检测软件的所有进程。如果所有进程中存在多个目标进程,目标进程之间互相守护,即多个目标进程中的任一进程既需要守护其他进程,也需要被其他进程守护,那么可确定待检测软件采用了文件锁复活机制,即待检测软件能够在进程被关闭后主动重启进程,避免软件自身被关闭,因而确定该待检测软件为目标软件(或称流氓软件)。由于识别待检测软件中的进程是否互相守护无需关闭待检测软件的进程,因而在检测过程中待检测软件也可始终运行,为用户提供正常服务,所以用户体验更好。
[0007]本方案中,第一进程守护第二进程,第一进程被第三进程守护,说明目标进程至少包括三个进程。也就是说电子设备在互相守护的进程的数量大于2的情况下,确定待检测软件为目标软件,这样可以避免将因代码质量不高造成文件互相死锁的正常软件误判为目标软件,因而提高了检测准确率。
[0008]在第一方面的另一种可能的设计方式中,上述确定待检测软件包括满足预设条件的多个目标进程,包括:电子设备获取待检测软件中的进程,待检测软件的进程中每个持有文件锁的进程对应一个节点。针对任一进程,若存在另一进程处于等待获取进程持有的文件锁的等待状态,则电子设备将另一进程对应的节点指向进程对应的节点,得到指示两个进程之间等待关系的有向边。然后电子设备删除节点中指向其他节点的有向边的数量为0的节点,以及被其他节点指向的有向边的数量为0的节点,得到至少一个有向环。之后电子设备将节点的数量大于2的有向环中的节点对应的进程确定为目标进程。
[0009]该设计方式下,为提高检测效率,电子设备将进程和守护关系以有向图表示,进程作为有向图的节点,守护关系作为有向图的边,通过判断有向图中是否存在多个节点构成有向环,且有向环中的节点数量大于2,从而确定待检测软件是否包括满足第一条件的多个目标进程。如果待检测软件包括满足第一条件的多个目标进程,则待检测软件为目标软件。反之,如果有向图中不存在有向环,或者任一个有向环的节点数量小于或等于2,则确定待检测软件不包括满足第一条件的多个目标进程,那么待检测软件为正常软件,即不为目标软件。
[0010]在查询有向图中是否包含有向环时,可采用深度优先搜索方法,具体的,以有向图中的任意一个非孤立点的节点(或称顶点)作为搜索起点,对该节点做深度优先搜索,当再次搜索到该节点,表示本次搜索路径中涉及的节点及有向边可构成有向环。有向环涉及的节点即为目标进程,有向环涉及的节点数量即为目标进程的数量。
[0011]在第一方面的另一种可能的设计方式中,该方法还包括:电子设备获取待检测软件的文件锁信息,其中,文件锁信息用于指示待检测软件的进程持有文件锁或待检测软件的进程处于等待获取其他进程持有的文件锁的等待状态。若进程持有文件锁或进程等待获取文件锁,则进程与文件锁对应。若根据文件锁信息确定同一文件锁对应多个进程,则电子设备确定多个进程中的其中一个进程处于等待获取多个进程中的另外一个进程持有的文件锁的等待状态。
[0012]该设计方式下,通过待检测软件的文件锁信息,确定文件锁是否对应多个进程,如果文件锁对应多个进程,说明多个进程中存在一个进程守护另一个进程的守护关系,该守护关系可根据进程是否处于等待状态来确定。具体的,进程处于等待状态,说明进程试图获取被其他进程持有的文件锁,该进程这么做的目的是通过自身是否能够获取到被其他进程持有的文件锁,从而确定其他进程是否被关闭。在进程从等待状态切换或持有状态后,进程确定持有该文件锁的原进程被关闭,因而重启原进程,起到守护原进程的作用。也就是说,进程通过试图获取其他进程的文件锁,来守护其他进程,进程的守护关系对应为:试图获取文件锁的进程来守护持有该文件锁的进程。
[0013]在第一方面的另一种可能的设计方式中,上述获取待检测软件的文件锁信息,包括:电子设备获取待检测软件的进程信息,进程信息包括待检测软件的编号信息以及进程的编号信息。然后电子设备根据进程的编号信息获取与进程相关联的文件锁信息,并根据待检测软件的编号信息与进程的编号信息的对应关系,从而获取与待检测软件对应的进程相关联的文件锁信息。
[0014]该设计方式下,待检测软件的文件锁信息可通过进程信息确定,具体的,待检测软件与其运行的进程之间形成对应关系,根据待检测软件对应的进程的编号信息,确定待检
测软件包含的进程信息。并基于待检测软件包含的进程信息中的每个进程的编号信息与文件锁信息的对应关系,确定待检测软件包含的进程相关联的文件锁信息。
[0015]在第一方面的另一种可能的设计方式中,文件锁信息包括文件锁的编号信息;上述根据进程的编号信息获取与进程相关联的文件锁信息,包括:若文件锁的编号信息与进程的编号信息相对应,且文件锁的编号信息携带等待标识,则确定文件锁被进程的编号信息对应的进程等待获取;获取被进程等待获取的文件锁的编号信息与等待标识。若文件锁的编号信息与进程的编号信息相对应,且文件锁的编号信息未携带等待标识,则确定文件锁被进程的编号信息对应的进程持有;获取被进程持有的文件锁的编号信息。
[0016]该设计方式下,通过文件锁的编号信息区分不同的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种软件检测方法,其特征在于,应用于电子设备,所述方法包括:在所述电子设备上运行待检测软件;若确定所述待检测软件包括满足预设条件的多个目标进程,则检测出所述待检测软件是目标软件;所述预设条件包括:所述多个目标进程中的任一进程处于等待获取所述多个目标进程中的其中一个第一进程持有的文件锁的等待状态,且所述任一进程持有的文件锁还被所述多个目标进程中的其中一个第二进程等待获取,所述第一进程不同于所述第二进程。2.根据权利要求1所述的方法,其特征在于,所述确定所述待检测软件包括满足预设条件的多个目标进程,包括:获取所述待检测软件中的进程,所述待检测软件的进程中每个持有文件锁的进程对应一个节点;针对任一所述进程,若存在另一进程处于等待获取所述进程持有的文件锁的等待状态,则将另一进程对应的节点指向所述进程对应的节点,得到指示两个进程之间等待关系的有向边;删除节点中指向其他节点的有向边的数量为0的节点,以及被其他节点指向的有向边的数量为0的节点,得到至少一个有向环;将节点的数量大于2的所述有向环中的节点对应的进程确定为所述目标进程。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:获取所述待检测软件的文件锁信息,其中,所述文件锁信息用于指示所述待检测软件的进程持有文件锁或所述待检测软件的进程处于等待获取其他进程持有的文件锁的等待状态;若进程持有文件锁或所述进程等待获取文件锁,则所述进程与所述文件锁对应;若根据所述文件锁信息确定同一文件锁对应多个进程,则确定所述多个进程中的其中一个进程处于等待获取所述多个进程中的另外一个进程持有的所述文件锁的等待状态。4.根据权利要求3所述的方法,其特征在于,所述获取所述待检测软件的文件锁信息,包括:获取所述待检测软件的进程信息,所述进程信息包括待检测软件的编号信息以及进程的编号信息;根据所述进程的编号信息获取与所述进程相关联的文件锁信息;根据所述待检测软件的编号信息与所述进程的编号信息的对应关系,获取与所述待检测软件对应的所述进程相关联的文件锁信息。5.根据权利要求4所述的方法,其特征在...
【专利技术属性】
技术研发人员:徐家运,
申请(专利权)人:荣耀终端有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。