发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种检测系统中已安装应用的方法和相应的客户端。
依据本发明的一个方面,提供了一种检测系统中已安装应用的方法。该方法包括:
遍历Windows系统应用数据库中的所有应用;
对于遍历到的每个应用,尝试通过文件访问接口函数去访问Windows系统的安装目录下的以该应用的标识命名的目录;
如果访问结果是收到表示未授权的异常结果,则确认所述Windows系统已安装该应用;
如果访问结果是收到表示文件不存在的异常结果,则确认所述Windows系统未安装该应用;
所述Windows系统为Windows Phone系统或Windows RT系统。
可选地,该方法在进行所述的遍历之前进一步包括:
建立Windows系统应用数据库。
可选地,所述Windows系统应用数据库的每一个条目对应一个Windows系统应用,每一个条目包括:应用名称、应用标识和应用信息;
所述建立Windows系统应用数据库包括:利用网络爬虫从Windows系统应用的网站抓取应用列表,从该应用列表中获取各应用名称、应用标识和应用信息添加到所述Windows系统应用数据库中。
可选地,所述Windows系统应用数据库保存在客户端本地;或者,
所述Windows系统应用数据库保存在服务器端;或者,所述Windows系统应用数据库在客户端本地和服务器端均保存一份,由服务器端对客户端本地的Windows系统应用数据库进行更新。
可选地,该方法进一步包括:
将确认所述Windows系统已安装的应用添加到已安装应用列表中;
向用户展示所述已安装应用列表。
可选地,该方法进一步包括:
根据确认所述Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;
和/或,对确认所述Windows系统已安装的应用进行安全扫描,根据安全扫描结果判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;
向用户展示所述风险应用列表。
可选地,所述根据确认所述Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险包括:
每一个应用对应一个应用程序授权权限列表,该列表中的权限的属性为授权或禁止授权;对于确认所述Windows系统已安装的应用,判断其应用程序授权权限列表中的属性为授权的权限是否为隐私权限,是则确认该应用存在风险。
可选地,所述隐私权限包括:发送短消息、接入互联网、读短消息、写短消息、读通讯录、写通讯录、拨打电话、写系统设置、读取位置信息、进行录音以及读取录音信息的权限中的任意一项或者多项。
可选地,所述向用户展示所述风险应用列表包括:
对于所述风险应用列表的应用,统计涉及每项隐私权限的应用的个数,在向用户展示所述风险应用列表时,展示该统计结果。
可选地,所述对确认所述Windows系统已安装的应用进行安全扫描,根据安全扫描结果判断已安装应用对于用户来说是否存在风险包括:
预设风险特征库;
对确认所述Windows系统已安装的应用的应用程序文件进行扫描,如果扫描到所述应用程序文件中包含与所述风险特征库中的风险特征匹配的内容,则确认该应用存在风险。
可选地,该方法进一步包括:
将确认所述Windows系统已安装的应用进行分类,并根据分类结果添加到不同的分类应用列表中;
向用户展示各分类应用列表。
可选地,该方法进一步包括:
获取应用列表中的应用的图标,添加到列表中,向用户展示包含应用的图标的列表。
依据本发明的另一方面,提供了一种检测系统中已安装应用的客户端,该客户端包括:
数据库单元,适于保存Windows系统应用数据库;
遍历单元,适于遍历Windows系统应用数据库中的所有应用;
访问单元,适于对于遍历单元遍历到每个应用,尝试通过文件访问接口函数去访问Windows系统的安装目录下的以该应用的标识命名的目录;
访问结果确认单元,适于在所述访问单元的访问结果是收到表示未授权的异常结果,则确认所述Windows系统已安装该应用,在所述访问单元的访问结果是收到表示文件不存在的异常结果,则确认所述Windows系统未安装该应用;
所述Windows系统为Windows Phone系统或Windows RT系统。
可选地,该客户端进一步包括:
数据库建立单元,适于建立Windows系统应用数据库。
可选地,所述数据库单元保存的所述Windows系统应用数据库的每一个条目对应一个Windows系统应用,每一个条目包括:应用名称、应用标识和应用信息;
所述数据库建立单元,适于利用网络爬虫从Windows系统应用的网站抓取应用列表,从该应用列表中获取各应用名称、应用标识和应用信息添加到所述Windows系统应用数据库中。
可选地,
保存有Windows系统应用数据库的所述数据库单元位于客户端本地;
或者,
保存有Windows系统应用数据库的所述数据库单元位于服务器端;
或者,
客户端本地和服务器端均有一个保存有Windows系统应用数据库的所述数据库单元,由服务器端对客户端本地的数据库单元中的Windows系统应用数据库进行更新。
可选地,该客户端进一步包括:
已安装应用展示单元,适于将确认所述Windows系统已安装的应用添加到已安装应用列表中,向用户展示所述已安装应用列表。
可选地,该客户端进一步包括:
风险应用展示单元,适于根据确认所述Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;和/或,适于对确认所述Windows系统已安装的应用进行安全扫描,根据安全扫描结果判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;适于向用户展示所述风险应用列表。
可选地,每一个应用对应一个应用程序授权权限列表,该列表中的权限的属性为授权或禁止授权;
所述风险应用展示单元,适于对于确认所述Windows系统已安装的应用,判断其应用程序授权权限列表中的属性为授权的权限是否为隐私权限,是则确认该应用存在风险。
可选地,所述隐私权限包括:发送短消息、接入互联网、读短消息、写短消息、读通讯录、写通讯录、拨打电话、写系统设置、读取位置信息、进行录音以及读取录音信息的权限中的任意一项或者多项。
可选地,所述风险应用展示单元,适于对于所述风险应用列表的应用,统计涉及每项隐私权限的应用的个数,在向用户展示所述风险应用列表时,展示该统计结果。
可选地,所述风险应用展示单元,适于预设风险特征库,对确认所述Windows系统已安装的应用的应用程序文件进行扫描,如果扫描到所述应用程序文件中包含与所述风险特征库中的风险特征匹配的内容,则确认该应用存在风险。
可选地,该客户端进一步包括:
分类应用展示单元,适于将确认所述Windows系统已安装的应用进行分类,并根据分类结果添加到不同的分类应用列表中,向用户展示各分类应用列表。
可选地,该客户端进一步包括:
应用图标获取单元,适于获取应用列表中的应用的图标,添加到列表中,以使得向用户展示包含应用的图标的列表。
综上所述,本发明的技术方案在Windows Phone操作平台上利用调用文件访问接口函数访问系统应用目录,通过辨别返回结果的异常性的差异,克服了由于Windows系统的封闭性而导致的不支持第三方应用访问的缺陷,实现了对Windows系统已安装应用的扫描和检测,向用户提供系统当前已安装应用的相关信息,方便用户查看,满足用户需求,提高用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种检测系统中已安装应用的方法的流程图。如图1所示,该方法包括:
步骤S110,遍历Windows系统应用数据库中的所有应用;
在本步骤中,Windows系统应用数据库是Windows系统应用的一个集合。
步骤S120,对于遍历到的每个应用,尝试通过文件访问接口函数去访问Windows系统的安装目录下的以该应用的标识命名的目录;
通过已知的信息可知,用户在Windows系统安装完一款第三方的Windows系统应用后,Windows系统会自动生成一个文件夹目录:c:\Data\Programs\{Application ID}\,其中Application ID是该Windows系统应用的标识。
在本步骤中,即首先假设Windows系统应用数据库中的每个应用对应的文件夹目录都是存在于系统中的,然后通过文件访问接口函数依次访问每个应用对应的文件夹目录。
步骤S130,如果访问结果是收到表示未授权的异常结果,则确认所述Windows系统已安装该应用;
步骤S140,如果访问结果是收到表示文件不存在的异常结果,则确认所述Windows系统未安装该应用。
在本发明的实施例中,所述Windows系统为Windows Phone系统或Windows RT系统。综合分析步骤S130和步骤S140,由于Windows Phone操作系统或Windows RT系统都对应用的文件访问有着极其严格的控制,应用程序自身无法读取系统的用户程序的安装目录,因此在上述步骤S120中,应用程序在尝试访问Windows系统的安装目录下的以某应用的标识命名的目录时都会引发异常,该异常结果分为两种情况,包括:
1)通过系统文件访问接口函数访问了一个实际存在的目录(c:\Data\Programs\{Application ID A}\)时,即用户已经安装了A应用(Application ID A),会收到系统抛出的表示未授权的异常结果;
2)通过系统文件访问接口函数访问了一个实际不存在的目录(c:\Data\Programs\{Application ID B}\)时,即用户并未安装B应用(Application ID B)时,会受到系统抛出的表示文件不存在的异常结果。
因此,基于上述两种情况构成了本实施例中整体检测判断机制的标准,体现在步骤S130和步骤S140中。
综上所述,本发明的技术方案在Windows系统操作平台上利用调用文件访问接口函数访问系统应用目录,通过判断返回结果的异常性,克服了由于Windows系统封闭性导致的不支持第三方对系统中已安装应用的访问的缺陷,实现了对Windows系统已安装应用的扫描和检测,便于用户获取当前系统已安装应用的相关信息,满足用户需求,提高用户体验。
在本发明的一个实施例中,图1所示的方法在进行步骤S110所述的遍历Windows系统应用数据库中的所有应用之前进一步包括:建立Windows系统应用数据库。Windows系统应用数据库的每一个条目对应一个Windows系统应用,每一个条目包括:应用名称、应用标识和应用信息,应用信息又包括:应用开发商信息、所用到的应用权限以及所属应用类型等。具体利用网络爬虫从Windows系统应用的网站抓取应用列表,从该应用列表中获取各应用名称、应用标识和应用信息添加到所述Windows系统应用数据库中。在本发明的一个具体实施例中,通过Python语言编写网络爬虫脚本程序。
在本发明的实施例中,Windows系统应用数据库保存在客户端本地;或者,Windows系统应用数据库保存在服务器端;或者,Windows系统应用数据库在客户端本地和服务器端均保存一份,由服务器端对客户端本地的Windows系统应用数据库进行更新。
在本发明的一个实施例中,图1所示的方法在进行步骤S130和步骤S140所述的根据访问结果的差异确认系统中的已安装应用之后进一步包括:将确认所述Windows系统已安装的应用添加到已安装应用列表中;向用户展示所述已安装应用列表。
图6A示出了根据本发明一个实施例的向用户展示Windows系统已安装的应用的界面示意图。如图6A所示,在本实施例中扫描到(也可称为检测到)Windows系统已安装23款软件(即应用)。如果用户进一步点击可展示扫描到的该23款软件。在本发明的其他实施例中,也可以直接将扫描到的软件的个数以及各个软件同时展示出来。
在本发明的一个实施例中,图1所示的方法在进行步骤S130和步骤S140所述的根据访问结果的差异确认系统中的已安装应用之后进一步包括:根据确认Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;和/或,对确认所述Windows系统已安装的应用进行安全扫描,根据安全扫描结果判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;最后向用户展示所述风险应用列表。
在本发明的一个实施例中,所述根据确认Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险包括:每一个应用对应一个应用程序授权权限列表,该列表中的权限的属性为授权或禁止授权;对于确认所述Windows系统已安装的应用,判断其应用程序授权权限列表中的属性为授权的权限是否为隐私权限,是则确认该应用存在风险。其中,隐私权限包括:发送短消息、接入互联网、读短消息、写短消息、读通讯录、写通讯录、拨打电话、写系统设置、读取位置信息、进行录音以及读取录音信息的权限中的任意一项或者多项。
这是因为,每一个应用程序对应一个应用程序授权权限列表,应用程序授权权限列表以应用程序标识进行标记。本发明实施例中,多个应用程序授权权限列表组成应用程序授权权限列表库,应用程序授权权限列表中,不仅包含有用户为应用程序授权的一个或多个权限,也包含有用户为应用程序禁止授权的一个或多个权限,也就是说,应用程序授权权限列表中的权限,其属性为授权或禁止授权,如果申请的权限在应用程序授权权限列表中,其属性为授权,则允许应用程序进行申请的权限访问;如果申请的权限在应用程序授权权限列表中,其属性为禁止授权,则拒绝应用程序进行申请的权限访问。在本发明的实施例中,可针对每一应用程序,将获取的行为权限分类为隐私权限以及其它权限,其中,对于隐私权限,由于涉及到用户的隐私,需要提醒用户重点关注,而对于其它权限,用户可以根据应用程序的申请,无需过多关注,授予其权限即可。隐私权限包括但不限于以下信息:
发送短消息(android.permission.SEND_SMS);
接入互联网(android.permission.INTERNET);
读短消息(android.permission.READ_SMS);
写短消息(android.permission.WRITE_SMS);
读通讯录(android.permission.READ_CONTACTS);
写通讯录(android.permission.WRITE_CONTACTS);
拨打电话(android.permission.CALL_PHONE);
写系统设置(android.permission.WRITE_SYNC_SETTINGS);
读取位置信息;
进行录音以及读取录音信息等。
每一隐私权限对应有一函数,例如,对于发送短消息行为权限,对应的函数为SmsManager.sendTextMessage、SmsManager.sendDataMessage、SmsManager.sendMultipartTextMessage等。
对于隐私权限,又可进一步分为必需权限以及非必需权限。其中,必需权限为运行应用程序所必需的、由用户授权的行为权限,缺少该授权的行为权限,则应用程序无法正常运行,用户如果需要安装该应用程序,则必须对应用程序申请的必需权限进行全部授权,否则无法安装。非必需权限为应用程序需要的用户授权的行为权限,但为可选项,不会影响应用程序的运行,如果该行为权限未获用户授权,不影响应用程序的安装和运行。例如,必需权限可以包括:写通讯录、拨打电话等,非必需权限可以包括:读取位置信息、接入互联网、读取录音信息等。对于非必要权限,进一步在授权设置界面向用户展示该非必要权限的提示信息。提示信息可以是:非必须权限建议取消,或行为权限为可选授权项,请根据自身安全策略进行授权等。即建议用户在授权非必要权限时,基于自己隐私安全的考虑,慎重选择授予应用程序的行为权限。
在本发明的一个实施例中,所述向用户展示所述风险应用列表包括:对于风险应用列表的应用,统计涉及每项隐私权限的应用的个数,在向用户展示所述风险应用列表时,展示该统计结果。如图6B所示。
图6B示出了根据本发明一个实施例的向用户展示Windows系统已安装应用中权限存在风险的应用的统计结果界面示意图。参见图6B,根据统计结果,Windows系统已安装应用中,有30款应用有获取设备信息的权限,有31款应用有获取主机信息的权限,有25款应用有访问媒体文件的权限,有9款应用有拨打电话的权限,有28款应用有访问网络的权限,有13款应用有读取位置信息的权限且其中一款有权限风险,有14款应用有访问麦克风的权限。如果用户进一步点击图6B中的某一项,则进一步详细列出相应的应用。例如点击“读取位置信息”项时,展示图6C所示的界面。
图6C示出了根据本发明一个实施例的向用户展示有读取位置信息的权限的应用的界面示意图。参见图6C,展示有读取位置信息的权限的13款应用,如果同时展示不下可上下滑动。其中有一款英语听力应用按常理其运行是不需要获取位置信息的,因此提示为是风险权限。
在本发明的一个实施例中,对确认所述Windows系统已安装的应用进行安全扫描,根据安全扫描结果判断已安装应用对于用户来说是否存在风险包括:预设风险特征库;对确认所述Windows系统已安装的应用的应用程序文件进行扫描,如果扫描到所述应用程序文件中包含与所述风险特征库中的风险特征匹配的内容,则确认该应用存在风险。其中,风险特征库包括但不限于如下中的一项或多项:木马病毒特征库、广告插件特征库和漏洞特征库。
在本发明的一个实施例中,图1所示的方法在进行步骤S130和步骤S140所述的根据访问结果的差异确认系统中的已安装应用之后进一步包括:将确认所述Windows系统已安装的应用添加到已安装应用列表中;获取应用列表中的应用的图标,添加到列表中,向用户展示包含应用的图标的列表。
图2示出了根据本发明一个实施例的Windows系统应用数据库的示意图。该Windows系统应用数据库是通过网络爬虫从Windows系统应用的网站(如微软商城等)上抓取排名前一定数量(如排名前10000个)的用户常安装的应用,然后依据这一定数量个应用中每个应用的应用标识、应用名称和应用信息建立起来的。在本实施例中,如图2所示,Windows系统应用数据库是依据n个应用中每个应用的应用标识、应用名称和应用信息建立起来的,包括:第1个应用的应用标识、第1个应用的应用名称和第1个应用的应用信息;第2个应用的应用标识、第2个应用的应用名称和第2个应用的应用信息;……;第n-1个应用的应用标识、第n-1个应用的应用名称和第n-1个应用的应用信息;以及,第n个应用的应用标识、第n个应用的名称和第n个应用的应用信息。即每一行是一个应用的应用标识、应用名称和应用信息。
此外,值得注意的是,每个应用都有其对应的图标,但是由于Windows系统应用数据库的容量限制,在本发明实施例中不将n个应用的图标放进该数据库去,因此该数据库中只保存该n个应用对应的信息文本数据,不保存对应的图标,在需要显示图标的时候再通过发送请求从Windows系统应用的网站获取到相应图标,添加到应用列表中,向用户展示包含应用图标的列表,从而实现节省数据库资源的目的。
图3示出了根据本发明另一个实施例的一种检测系统中已安装应用的方法的流程图。在本实施例中,以Windows Phone系统为例进行说明,如图3所示,在网络爬虫抓取应用并建立起Windows Phone系统应用数据库后,通过本方法依次遍历数据库表中的所有应用项,该方法包括:
步骤S310,开始;
步骤S320,判断是否遍历完Windows Phone系统应用数据库中的所有应用标识,是则,执行步骤S380,否则,执行步骤S330;
通过本步骤来判断是否完成遍历完上述已建立起的Windows Phone系统应用数据库中的所有应用,是则,检查扫描到的应用列表,并对扫描到的应用进行分类,否则,接着进行对Windows Phone系统应用数据库中的下一个应用对应的系统目录进行访问。
步骤S330,获取Windows Phone系统应用数据库中下一个应用的应用标识;
步骤S340,尝试访问Windows Phone系统的安装目录下的以该应用的应用标识命名的目录;
步骤S350,判断访问结果是否为表示未授权的异常结果,
是则执行步骤S360,否则执行步骤S320;
该判断依据在本发明一个实施例中已详细介绍,在此不再赘述。
步骤S360,确认Windows Phone系统已安装该应用;
步骤S370,将该应用的应用标识加入已安装应用列表中,返回步骤S320;
步骤S380,如果判断步骤S320为是,则对已安装应用进行分类;
在本步骤中,扫描到的应用列表将根据应用的权限信息对WindowsPhone系统已安装的应用进行分类,类别包括:有权限访问Web浏览器组件的应用、有权限读取位置信息的应用、有权限访问照片库的应用、有权限访问语音的应用、有权限访问音乐库的应用、有权限访问视频库的应用、有权限进行媒体播放的应用、有权限使用传感器的应用、有权限读取用户通讯录的应用、以及有权限读取手机ID的应用等。
步骤S390,展示各分类应用列表。
基于上述流程对Windows Phone系统已安装的应用的检测、扫描和分类,一方面,用户可以一目了然地获知每个应用的权限,可以实现对系统、用户的信息安全的有效保护,例如,如果扫描到一个手电筒应用读取了用户的通讯录,该手电筒应用出现在有权限读取用户通讯录的分类列表中,这是不合常理的,表明这个应用是存在安全隐患了,需要对它做一些预防;另一方面,用户的个人特质也会通过系统中已安装应用的分类表征出来,使得操作系统更具个人特色,例如,系统中安装了多款有权限访问音乐库的应用,说明该系统的用户是一个音乐达人。
Windows RT系统中的流程与图3所示Windows Phone系统中的流程相同,这里不再复述。
本发明的一个实施例中,可以根据确认Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;向用户展示所述风险应用列表。或者,将确认Windows系统已安装的应用进行分类,并根据分类结果添加到不同的分类应用列表中;向用户展示各分类应用列表。或者,获取应用列表中的应用的图标,添加到列表中,向用户展示包含应用的图标的列表。
图4示出了根据本发明一个实施例的一种检测系统中已安装应用的客户端的结构图。如图4所示,该检测系统中已安装应用的客户端400包括:数据库单元410、遍历单元420、访问单元430和访问结果确认单元440。
数据库单元410,适于保存Windows系统应用数据库;
遍历单元420,适于遍历Windows系统应用数据库中的所有应用;
访问单元430,适于对于遍历单元遍历到每个应用,尝试通过文件访问接口函数去访问Windows系统的安装目录下的以该应用的标识命名的目录;
访问结果确认单元440,适于在所述访问单元的访问结果是收到表示未授权的异常结果,则确认所述Windows系统已安装该应用,在所述访问单元的访问结果是收到表示文件不存在的异常结果,则确认所述Windows系统未安装该应用;
其中,所述Windows系统为Windows Phone系统或Windows RT系统。
由上述可知,图4所示的客户端利用访问单元430调用文件访问接口函数访问系统应用目录,通过访问结果确认单元440判断返回结果的异常性,克服了由于Windows系统封闭性导致的不支持第三方对系统中已安装应用进行管理和访问的缺陷,实现了对Windows系统已安装应用的扫描和检测,便于用户获取当前系统已安装应用的相关信息,满足用户需求,提高用户体验。
图5示出了根据本发明另一个实施例的一种检测系统中已安装应用的客户端的结构图。如图5所示,该检测系统中已安装应用的客户端500包括:数据库单元510、遍历单元520、访问单元530、访问结果确认单元540、数据库建立单元550、已安装应用展示单元560、风险应用展示单元570、分类应用展示单元580和应用图标获取单元590。
数据库建立单元550,适于建立Windows系统应用数据库;
数据库单元510,适于保存Windows系统应用数据库;
遍历单元520,适于遍历Windows系统应用数据库中的所有应用;
访问单元530,适于对于遍历单元遍历到每个应用,尝试通过文件访问接口函数去访问Windows系统的安装目录下的以该应用的标识命名的目录;
访问结果确认单元540,适于在所述访问单元的访问结果是收到表示未授权的异常结果,则确认所述Windows系统已安装该应用,在所述访问单元的访问结果是收到表示文件不存在的异常结果,则确认所述Windows系统未安装该应用。
已安装应用展示单元560,适于将确认所述Windows系统已安装的应用添加到已安装应用列表中,向用户展示所述已安装应用列表。
风险应用展示单元570,适于根据确认所述Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;和/或,适于对确认所述Windows系统已安装的应用进行安全扫描,根据安全扫描结果判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;适于向用户展示所述风险应用列表。
分类应用展示单元580,适于将确认所述Windows系统已安装的应用进行分类,并根据分类结果添加到不同的分类应用列表中,向用户展示各分类应用列表。
在本发明的实施例中,所述Windows系统为Windows Phone系统或Windows RT系统。
在本发明的一个实施例中,数据库单元510保存的所述Windows系统应用数据库的每一个条目对应一个Windows系统应用,每一个条目包括:应用名称、应用标识和应用信息。数据库建立单元550适于利用网络爬虫从Windows系统应用的网站抓取应用列表,从该应用列表中获取各应用的名称、标识和描述信息添加到Windows系统应用数据库中。
在本发明的一个实施例中,保存有Windows系统应用数据库的数据库单元510位于客户端本地;或者,保存有Windows系统应用数据库的所述数据库单元510位于服务器端;或者,客户端本地和服务器端均有一个保存有Windows系统应用数据库的所述数据库单元510,由服务器端对客户端本地的数据库单元中的Windows系统应用数据库进行更新。
在本发明的一个实施例中,该检测系统中已安装应用的客户端500进一步包括:应用图标获取单元590,适于获取应用列表中的应用的图标,添加到列表中,以使得向用户展示包含应用的图标的列表。
值得注意的是,由于Windows系统应用数据库的容量限制,应用图标获取单元590不将一定数量应用的图标放进该数据库去,在最终需要显示图标时,应用图标获取单元590通过发送请求从Windows系统应用的网站获取到相应图标,向用户展示包含应用的图标的列表,从而实现节省数据库资源的目的。
在本发明的一个实施例中,每一个应用对应一个应用程序授权权限列表,该列表中的权限的属性为授权或禁止授权;风险应用展示单元570,适于对于确认所述Windows系统已安装的应用,判断其应用程序授权权限列表中的属性为授权的权限是否为隐私权限,是则确认该应用存在风险。其中,隐私权限包括:发送短消息、接入互联网、读短消息、写短消息、读通讯录、写通讯录、拨打电话、写系统设置、读取位置信息、进行录音以及读取录音信息的权限中的任意一项或者多项。
在本发明的一个实施例中,风险应用展示单元570,适于对于所述风险应用列表的应用,统计涉及每项隐私权限的应用的个数,在向用户展示所述风险应用列表时,展示该统计结果。例如,如图6B和图6C所示。
在本发明的一个实施例中,风险应用展示单元570,适于预设风险特征库,对确认所述Windows系统已安装的应用的应用程序文件进行扫描,如果扫描到所述应用程序文件中包含与所述风险特征库中的风险特征匹配的内容,则确认该应用存在风险。其中,风险特征库包括但不限于如下中的一项或多项:木马病毒特征库、广告插件特征库和漏洞特征库。
在本发明的其他实施例中,检测系统中已安装应用的客户端500也可以只包含已安装应用展示单元560、风险应用展示单元570和分类应用展示单元580中的任意一个或两个。
综上所述,本发明提供的技术方案在Windows系统操作平台上通过调用文件访问接口函数访问系统应用目录,通过判断返回结果的异常性,克服了由于Windows系统封闭性导致的不支持第三方对系统中已安装应用的管理的缺陷,实现了对Windows系统已安装应用的扫描、检测和分类,取得了以下有益效果:1)通过对系统已安装应用的扫描检测,使得用户能够方便快捷地查看当前系统中已安装应用的信息;2)通过对系统已安装应用的分类,使得用户能够方便快捷地获取系统中各个已安装应用涉及到的权限,及早对风险进行预防,减少安全隐患,3)通过对系统已安装应用的分类,,使得系统加强表征用户个人特色,提高用户体验。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的检测系统中已安装应用的客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种检测系统中已安装应用的方法,其中,该方法包括:
遍历Windows系统应用数据库中的所有应用;对于遍历到的每个应用,尝试通过文件访问接口函数去访问Windows系统的安装目录下的以该应用的标识命名的目录;
如果访问结果是收到表示未授权的异常结果,则确认所述Windows系统已安装该应用;如果访问结果是收到表示文件不存在的异常结果,则确认所述Windows系统未安装该应用;
所述Windows系统为Windows Phone系统或Windows RT系统。
A2、如A1所述的方法,其中,该方法在进行所述的遍历之前进一步包括:建立Windows系统应用数据库。
A3、如A2所述的方法,其中,
所述Windows系统应用数据库的每一个条目对应一个Windows系统应用,每一个条目包括:应用名称、应用标识和应用信息;
所述建立Windows系统应用数据库包括:利用网络爬虫从Windows系统应用的网站抓取应用列表,从该应用列表中获取各应用名称、应用标识和应用信息添加到所述Windows系统应用数据库中。
A4、如A1所述的方法,其中,
所述Windows系统应用数据库保存在客户端本地;
或者,
所述Windows系统应用数据库保存在服务器端;
或者,
所述Windows系统应用数据库在客户端本地和服务器端均保存一份,由服务器端对客户端本地的Windows系统应用数据库进行更新。
A5、如A1所述的方法,其中,该方法进一步包括:
将确认所述Windows系统已安装的应用添加到已安装应用列表中;
向用户展示所述已安装应用列表。
A6、如A1所述的方法,其中,该方法进一步包括:
根据确认所述Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;
和/或,对确认所述Windows系统已安装的应用进行安全扫描,根据安全扫描结果判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;
向用户展示所述风险应用列表。
A7、如A6所述的方法,其中,所述根据确认所述Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险包括:
每一个应用对应一个应用程序授权权限列表,该列表中的权限的属性为授权或禁止授权;对于确认所述Windows系统已安装的应用,判断其应用程序授权权限列表中的属性为授权的权限是否为隐私权限,是则确认该应用存在风险。
A8、如A7所述的方法,其中,
所述隐私权限包括:发送短消息、接入互联网、读短消息、写短消息、读通讯录、写通讯录、拨打电话、写系统设置、读取位置信息、进行录音以及读取录音信息的权限中的任意一项或者多项。
A9、如A7所述的方法,其中,所述向用户展示所述风险应用列表包括:
对于所述风险应用列表的应用,统计涉及每项隐私权限的应用的个数,在向用户展示所述风险应用列表时,展示该统计结果。
A10、如A6所述的方法,其中,所述对确认所述Windows系统已安装的应用进行安全扫描,根据安全扫描结果判断已安装应用对于用户来说是否存在风险包括:
预设风险特征库;
对确认所述Windows系统已安装的应用的应用程序文件进行扫描,如果扫描到所述应用程序文件中包含与所述风险特征库中的风险特征匹配的内容,则确认该应用存在风险。
A11、如A1所述的方法,其中,该方法进一步包括:
将确认所述Windows系统已安装的应用进行分类,并根据分类结果添加到不同的分类应用列表中;
向用户展示各分类应用列表。
A12、如A5-A11中任一项所述的方法,其中,该方法进一步包括:
获取应用列表中的应用的图标,添加到列表中,向用户展示包含应用的图标的列表。
本发明还公开了B13、一种检测系统中已安装应用的客户端,其中,该客户端包括:
数据库单元,适于保存Windows系统应用数据库;
遍历单元,适于遍历Windows系统应用数据库中的所有应用;
访问单元,适于对于遍历单元遍历到每个应用,尝试通过文件访问接口函数去访问Windows系统的安装目录下的以该应用的标识命名的目录;
访问结果确认单元,适于在所述访问单元的访问结果是收到表示未授权的异常结果,则确认所述Windows系统已安装该应用,在所述访问单元的访问结果是收到表示文件不存在的异常结果,则确认所述Windows系统未安装该应用;
所述Windows系统为Windows Phone系统或Windows RT系统。
B14、如B13所述的客户端,其中,该客户端进一步包括:
数据库建立单元,适于建立Windows系统应用数据库。
B15、如B14所述的客户端,其中,
所述数据库单元保存的所述Windows系统应用数据库的每一个条目对应一个Windows系统应用,每一个条目包括:应用名称、应用标识和应用信息;
所述数据库建立单元,适于利用网络爬虫从Windows系统应用的网站抓取应用列表,从该应用列表中获取各应用名称、应用标识和应用信息添加到所述Windows系统应用数据库中。
B16、如B13所述的客户端,其中,
保存有Windows系统应用数据库的所述数据库单元位于客户端本地;
或者,
保存有Windows系统应用数据库的所述数据库单元位于服务器端;
或者,
客户端本地和服务器端均有一个保存有Windows系统应用数据库的所述数据库单元,由服务器端对客户端本地的数据库单元中的Windows系统应用数据库进行更新。
B17、如B13所述的客户端,其中,该客户端进一步包括:
已安装应用展示单元,适于将确认所述Windows系统已安装的应用添加到已安装应用列表中,向用户展示所述已安装应用列表。
B18、如B13所述的客户端,其中,该客户端进一步包括:
风险应用展示单元,适于根据确认所述Windows系统已安装的应用的访问权限,判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;和/或,适于对确认所述Windows系统已安装的应用进行安全扫描,根据安全扫描结果判断已安装应用对于用户来说是否存在风险,是则添加到风险应用列表中;适于向用户展示所述风险应用列表。
B19、如B18所述的客户端,其中,
每一个应用对应一个应用程序授权权限列表,该列表中的权限的属性为授权或禁止授权;
所述风险应用展示单元,适于对于确认所述Windows系统已安装的应用,判断其应用程序授权权限列表中的属性为授权的权限是否为隐私权限,是则确认该应用存在风险。
B20、如B19所述的客户端,其中,
所述隐私权限包括:发送短消息、接入互联网、读短消息、写短消息、读通讯录、写通讯录、拨打电话、写系统设置、读取位置信息、进行录音以及读取录音信息的权限中的任意一项或者多项。
B21、如B19所述的客户端,其中,
所述风险应用展示单元,适于对于所述风险应用列表的应用,统计涉及每项隐私权限的应用的个数,在向用户展示所述风险应用列表时,展示该统计结果。
B22、如B18所述的客户端,其中,
所述风险应用展示单元,适于预设风险特征库,对确认所述Windows系统已安装的应用的应用程序文件进行扫描,如果扫描到所述应用程序文件中包含与所述风险特征库中的风险特征匹配的内容,则确认该应用存在风险。
B23、如B13所述的客户端,其中,该客户端进一步包括:
分类应用展示单元,适于将确认所述Windows系统已安装的应用进行分类,并根据分类结果添加到不同的分类应用列表中,向用户展示各分类应用列表。
B24、如B17-B23中任一项所述的客户端,其中,该客户端进一步包括:
应用图标获取单元,适于获取应用列表中的应用的图标,添加到列表中,以使得向用户展示包含应用的图标的列表。