CN104679785A - 一种区分软件类型的方法和装置 - Google Patents

一种区分软件类型的方法和装置 Download PDF

Info

Publication number
CN104679785A
CN104679785A CN201310634586.2A CN201310634586A CN104679785A CN 104679785 A CN104679785 A CN 104679785A CN 201310634586 A CN201310634586 A CN 201310634586A CN 104679785 A CN104679785 A CN 104679785A
Authority
CN
China
Prior art keywords
software
confirmed
system integration
signature
integration software
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.)
Granted
Application number
CN201310634586.2A
Other languages
English (en)
Other versions
CN104679785B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310634586.2A priority Critical patent/CN104679785B/zh
Priority to PCT/CN2014/092755 priority patent/WO2015081834A1/en
Publication of CN104679785A publication Critical patent/CN104679785A/zh
Application granted granted Critical
Publication of CN104679785B publication Critical patent/CN104679785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种区分软件类型的方法和装置,其中方法的实现包括:获取待确认的系统集成软件的包名;查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。通过查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应,来确认不对应的为内置应用软件,实现了对内置应用软件的区分。能够准确识别出内置应用软件,从而为安全的满足用户维护系统请求的需求,以及安全的满足用户提升系统运行速度等需求提供便利。

Description

一种区分软件类型的方法和装置
技术领域
本发明涉及计算机技术领域,特别涉及一种区分软件类型的方法和装置。
背景技术
软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。一般来讲软件被划分为系统应用软件、用户安装软件;或者,分为可删除软件和不可删除软件。
其中用户安装软件:指的是用户安装的软件包,一般安装完放在/data/app的目录下面,由于其删除对设备是否能够使用不构成影响,因此是可以删除的。系统应用软件:是操作系统中不可缺少的一部分,由于删除可能会导致了某个重要的功能用不了,甚至导致整个系统瘫痪,因此一般属于不可删除软件。系统应用软件一般存放在/system/app目录里面,在/system/app目录中一般可以包含系统应用软件,以及厂商或Rom(Read-Only Memory,只读内存)开发者为了丰富系统功能而进行开发的软件,这类软件被称为内置应用软件。
内置应用软件:该类型的软件同样存放在/system/app目录里面,是厂商或Rom开发者为了某种目的,在出厂或Rom集成时,内置的各种各样的软件;这些软件可能用户不需要的,存在于系统里会占空间,并且拖慢系统运行速度。用户在有权限的情况下,可删除这些软件,并且删除了也不会影响到系统的稳定性。
目前在很多手机终端渠道会内置应用软件后销售给消费者。消费都如果需要删除内置应用软件,则可能遭遇如下问题:无法区分内置应用软件和系统应用软件,误卸载系统应用软件会让手机崩溃。
基于前述介绍,由于系统把软件按用户安装和系统集成分成两大类。用户安装的软件包放在/data/app的目录下,用户可以自由的删除;系统集成的软件包则放置在/system/app的目录下,用户是没权限删除的,如果想要删除,必须获得Root(超级用户)权限。系统集成的软件又可以分为系统应用软件和(厂商或运营商)内置应用软件,这两小类目前用户是很难区别的,个别用户在获得权限时,为维护系统的清洁,可能会错删除一些重要的系统应用软件而导致某项功能不能用,甚至导致整个系统瘫痪。
基于以上说明,可以发现:采用按照软件安装目录的方式进行软件类型区分,无法区分内置应用软件和系统应用软件。这将导致无法准确删除不需要的内置应用软件进而无法安全的满足用户维护系统清洁的需求,同时也无法安全的满足用户提升系统运行速度的需求。
发明内容
本发明实施例提供了一种区分软件类型的方法和装置,用于准确识别出内置应用软件,从而为安全的满足用户维护系统请求的需求,以及安全的满足用户提升系统运行速度等需求提供便利。
一种区分软件类型的方法,包括:
获取待确认的系统集成软件的包名;
查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;
确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
一种区分软件类型的装置,包括:
包名获取单元,用于获取待确认的系统集成软件的包名;
查询单元,用于查询所述包名获取单元获取到的各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;
内置确认单元,用于确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
从以上技术方案可以看出,本发明实施例具有以下优点:通过查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应,来确认不对应的为内置应用软件,实现了对内置应用软件的区分。能够准确识别出内置应用软件,从而为安全的满足用户维护系统请求的需求,以及安全的满足用户提升系统运行速度等需求提供便利。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例方法流程示意图;
图2为本发明实施例方法流程示意图;
图3为本发明实施例装置结构示意图;
图4为本发明实施例装置结构示意图;
图5为本发明实施例装置结构示意图;
图6为本发明实施例装置结构示意图;
图7为本发明实施例装置结构示意图;
图8为本发明实施例装置结构示意图;
图9为本发明实施例设备结构示意图;
图10为本发明实施例终端结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种区分软件类型的方法,如图1所示,包括:
101:获取待确认的系统集成软件的包名;
进一步地,本发明实施例还提供了如何确认可删除以及不可删除的软件类型,用于实现对软件删除的风险性管理,具体可以如下:上述获取待确认的系统集成软件的包名之前还包括:确定获取待确认的系统集成软件的用户识别的值是否小于10000;
然后获取待确认的系统集成软件中,用户识别的值不小于10000的待确认的系统集成软件的包名。
由于UID(User dentification,用户识别)值不小于10000的软件一般都是可以删除的,因此可以将这些软件归为待确认的系统集成应用软件。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述确定获取待确认的系统集成软件的用户识别的值是否小于10000之前还包括:
获取待确认的系统集成软件的签名;并确定待确认的系统集成软件的签名是否属于预定系统应用发布者;
然后,确定获取待确认的系统集成软件中,签名不属于预定系统应用发布者的系统集成软件的用户识别的值是否小于10000。
上述预定系统应用发布者,可以依据不同的操作系统确认不同的系统应用发布者。由于操作系统均有其开发和发布者,因此对应于该操作系统的开发和发布者作为预定的系统应用发布者。
为什么采用软件的签名(代码签名证书)作为条件来进行区分的原因,介绍如下:
代码签名证书为软件开发商提供了一个理想的解决方案,使得软件开发商能对其软件代码进行数字签名。通过对代码的数字签名来标识软件来源以及软件开发者的真实身份,保证代码在签名之后不被恶意篡改。使用户在下载已经签名的代码时,能够有效的验证该代码的可信度。
代码签名的基础是PKI(Public Key Infrastructure,公钥基础设施)安全体系。代码签名证书由签名证书私钥和公钥证书两部分组成。私钥用于代码的签名,公钥用于私钥签名的验证和证书持有者的身份识别。代码签名证书功能实现原理如下:
1、发布者从CA(Certificate Authority,电子商务认证授权)机构申请数字证书;
2、发布者开发出代码;借助代码签名工具,发布者将使用MD5(MessageDigest Algorithm,消息摘要算法第五版))或SHA(Secure Hash Algorithm,安全散列算法)算法产生代码的哈希值,然后用代码签名证书私钥对该哈希值签名,从而产生一个包含代码签名和软件发布者的签名证书的软件包;
3、用户的运行环境访问到该软件包,并检验软件发布者的代码签名数字证书的有效性。由于根证书的公钥已经嵌入到用户的运行环境的可信根证书库,所以运行环境可验证发布者代码签名数字证书的真实性;
4、用户的运行环境使用代码签名数字证书中含有的公钥解密被签名的哈希值;
5、用户的运行环境使用同样的算法新产生一个原代码的哈希值;
6、用户的运行环境比较两个哈希值。如果相同,将发出通知声明代码已验证通过。所以用户可以相信该代码确实由证书拥有者发布,并且未经篡改。
整个过程对用户完全透明,用户将可以看到软件发布者提示信息,并可以选择是否信任该软件发布者。在选择信任软件发布者之后,运行所有该软件发布者签名的程序时将可以不再收到任何提示信息。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述确定待确认的系统集成软件的签名是否属于预定系统应用发布者之前还包括:
确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值;
然后,确定待确认的系统集成软件中,同签名的软件集的数量未达到预定阈值的系统集成软件的签名是否属于预定系统应用发布者。
以上阈值可以人为确定,一般来说按照当前系统的类型,当前系统的系统应用软件数量这些来确定具体数值,例如在安卓系统中可以设置为30。由于这个数值可以依据不同的操作系统来确定,本领域技术人员可以基于此来确定这个数值,本发明实施例对此不予限定。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值之前还包括:
获取安装在系统软件文件目录下的软件作为待确认的系统应用软件。
以上实施例通过软件安装目录进行第一次筛选,可以将用户安装软件迅速的区分出来,这样可以提高软件识别的速度。
在以上举例中,若为android操作系统,那么系统集成软件包的路径为/system/app,而用户安装软件包路径为/data/app,以上两个路径是基于android系统的安装目录,对于其他操作系统来说,系统集成软件和用户安装软件的路径是可以不同的,另外即使是android系统,其各种软件的安装目录名也是可以更改的,因此以上举例不应理解为对比本发明实施例的唯一性限定。
102:查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;
103:确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
以上实施例,通过查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应,来确认不对应的为内置应用软件,实现了对内置应用软件的区分。能够准确识别出内置应用软件,从而为安全的满足用户维护系统请求的需求,以及安全的满足用户提升系统运行速度等需求提供便利。
进一步地,本发明实施例还提供了系统应用软件的确认方法,具体可以如下:在步骤103执行完毕,确定内置应用软件之后还包括:
确认待确认的系统集成软件中内置应用软件之外的待确认的系统集成软件为系统应用软件。
本实施例中,确认系统应用软件采用的是在内置软件被识别出来以后确认的,实际上在识别内置软件的过程中,就可以确认出系统应用软件,例如:本实施例中前述的各种筛选条件中,待确认的系统集成软件的用户识别的值小于10000,待确认的系统集成软件的签名属于预定系统应用发布者,待确认的系统集成软件中同签名的软件集的数量达到预定阈值,就可以将这些软件确认为系统应用软件。因此本实施例中的确认顺序并不是本发明实施例的唯一确认顺序。
以下实施例将以安装android(安卓,一种手机操作系统)系统的手机中,软件类别的区分为例进行详细说明,需要说明的是,android系统仅为众多系统软件中的一种,实际上系统软件类别很多,并且系统软件也不仅局限于手机系统软件,本发明实施例方案同样适用于其他设备的其他操作系统,因此以上举例不应理解为对本发明实施例的限定。如图2所示,具体如下:
201:从所有软件中识别用户安装软件和系统应用软件。
本步骤中的识别方法可以采用安装目录的方式来进行区分,具体如下:
首先把android(安卓,一种手机操作系统)中所有的软件按软件包的安装路径(或软件安装信息)分为系统集成软件和用户安装软件,其中系统集成软件包的路径为/system/app,而用户安装软件包路径为/data/app,此时可以把用户安装的软件排除出来。
在以上举例中,若为android操作系统,那么系统集成软件包的路径为/system/app,而用户安装软件包路径为/data/app,以上两个路径是基于android系统的安装目录,对于其他操作系统来说,系统集成软件和用户安装软件的路径是可以不同的,另外即使是android系统,其各种软件的安装目录名也是可以更改的,因此以上举例不应理解为对比本发明实施例的唯一性限定。
202:按照签名分类将系统集成软件排序,得到按签名分类排序的软件列表;识别出系统应用软件。
使用软件列表识别系统应用软件可以如下:判断各分类的签名的软件集的数量,如果达到某个域值(例如30个)或以上,可认为是系统应用软件,可加入到系统应用软件列表中。其它软件可以认为待确认的系统集成软件。
203:在步骤202剩余的待确认的系统集成软件中,确定待确认的系统集成软件的签名是否属于预定系统应用发布者,如果是,确定是系统应用软件,否则继续认为是待确认的系统集成软件。
本步骤具体可以如下:在步骤202余下按签名信息分好类的软件列表中,查询对应的签名是否是Google、android或厂商自己的(具体方法可通过提取签名信息发布者中组织的名字),从而把这类软件归类到系统的应用软件中。
需要说明的是,截止到本步骤实际上是可以认为剩余的软件是内置应用软件了,不过准确度仍有待提高,另外剩余的软件是否可以删掉还不能完全确定,所以可以进一步的执行后续判断UID值的步骤。
204:在步骤203剩余的待确认的系统集成软件中,确定软件UID值是否小于10000,如果小于,确认为系统应用软件,否则继续认为是待确认的系统集成软件。
在步骤203余下按签名信息列表分好类的软件中,查询对应签名软件集中的每个软件UID是否小于10000,如果是,同样把这个软件集的软件归类到系统的应用软件中。
205、在步骤204剩余的待确认的系统集成软件中,确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
本步骤具体可以如下:在204余下按签名信息分类的软件中,查询一下软件的包名是否是对应的系统软件应用,如果是则排除。对应系统软件应用列表是可从android系统原生room中提取出来对应的系统软件包。
206、提示内置软件。
经过本发明实施例的筛选方案,留下来的就是(厂商或运营商对应)内置应用软件,这类软件可以删除,不会影响系统的稳定性。经过本发明实施例的筛选方案,可以得到系统应用软件,为了进一步区分,可按删除时危险和不可删除区分。不可删除的系统应用软件的UID号都是小于10000的。
通过以上实施例,用户可以准确区分可删除的内置应用软件,从而维护系统的清洁。另外,在删除系统的应用软件时,用户同时还可以知道删除软件之后的危险程度。本发明实施例,针对不同的机型,都适用,适配性好。
本发明实施例还提供了一种区分软件类型的装置,如图3所示,包括:
包名获取单元301,用于获取待确认的系统集成软件的包名;
查询单元302,用于查询上述包名获取单元301获取到的各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;
内置确认单元303,用于确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
以上实施例,通过查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应,来确认不对应的为内置应用软件,实现了对内置应用软件的区分。能够准确识别出内置应用软件,从而为安全的满足用户维护系统请求的需求,以及安全的满足用户提升系统运行速度等需求提供便利。
进一步地,本发明实施例还提供了如何确认可删除以及不可删除的软件类型,用于实现对软件删除的风险性管理,具体可以如下:如图4所示,上述装置,还包括:
值确定获取单元401,用于在上述包名获取单元301获取待确认的系统集成软件的包名之前,确定获取待确认的系统集成软件的用户识别的值是否小于10000;
上述包名获取单元301,用于获取待确认的系统集成软件中,用户识别的值不小于10000的待确认的系统集成软件的包名。
由于UID(User dentification,用户识别)值不小于10000的软件一般都是可以删除的,因此可以将这些软件归为待确认的系统集成应用软件。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:如图5所示,上述装置,还包括:
签名获取单元501,用于获取待确认的系统集成软件的签名;
发布者确定单元502,用于在上述值确定获取单元401确定获取待确认的系统集成软件的用户识别的值是否小于10000之前,确定待确认的系统集成软件的签名是否属于预定系统应用发布者;
上述值确定获取单元401,用于确定获取待确认的系统集成软件中,签名不属于预定系统应用发布者的系统集成软件的用户识别的值是否小于10000。
上述预定系统应用发布者,可以依据不同的操作系统确认不同的系统应用发布者。由于操作系统均有其开发和发布者,因此对应于该操作系统的开发和发布者作为预定的系统应用发布者。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:如图6所示,上述装置,还包括:
数量确定单元601,用于在上述发布者确定单元502确定待确认的系统集成软件的签名是否属于预定系统应用发布者之前,确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值;
上述发布者确定单元502,用于确定待确认的系统集成软件中,同签名的软件集的数量未达到预定阈值的系统集成软件的签名是否属于预定系统应用发布者。
以上阈值可以人为确定,一般来说按照当前系统的类型,当前系统的系统应用软件数量这些来确定具体数值,例如在安卓系统中可以设置为30。由于这个数值可以依据不同的操作系统来确定,本领域技术人员可以基于此来确定这个数值,本发明实施例对此不予限定。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:如图7所示,上述装置,还包括:
软件获取单元701,用于在上述数量确定单元601确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值之前,获取安装在系统软件目录下的软件作为待确认的系统应用软件。
以上实施例通过软件安装目录进行第一次筛选,可以将用户安装软件迅速的区分出来,这样可以提高软件识别的速度。
在以上举例中,若为android操作系统,那么系统集成软件包的路径为/system/app,而用户安装软件包路径为/data/app,以上两个路径是基于android系统的安装目录,对于其他操作系统来说,系统集成软件和用户安装软件的路径是可以不同的,另外即使是android系统,其各种软件的安装目录名也是可以更改的,因此以上举例不应理解为对比本发明实施例的唯一性限定。
进一步地,本发明实施例还提供了系统应用软件的确认方法,具体可以如下:如图8所示,上述装置,还包括:
系统确认单元801,用于在上述内置确认单元303确定内置应用软件之后,确认待确认的系统集成软件中内置应用软件之外的待确认的系统集成软件为系统应用软件。
本实施例中,确认系统应用软件采用的是在内置软件被识别出来以后确认的,实际上在识别内置软件的过程中,就可以确认出系统应用软件,例如:本实施例中前述的各种筛选条件中,待确认的系统集成软件的用户识别的值小于10000,待确认的系统集成软件的签名属于预定系统应用发布者,待确认的系统集成软件中同签名的软件集的数量达到预定阈值,就可以将这些软件确认为系统应用软件。因此本实施例中的确认顺序并不是本发明实施例的唯一确认顺序。
一种设备,包括:接收器901、发射器902、处理器903以及存储器904;
其中,上述处理器903,用于获取待确认的系统集成软件的包名;查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
以上实施例,通过查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应,来确认不对应的为内置应用软件,实现了对内置应用软件的区分。能够准确识别出内置应用软件,从而为安全的满足用户维护系统请求的需求,以及安全的满足用户提升系统运行速度等需求提供便利。
进一步地,本发明实施例还提供了如何确认可删除以及不可删除的软件类型,用于实现对软件删除的风险性管理,具体可以如下:上述处理器903,还用于在获取待确认的系统集成软件的包名之前,确定获取待确认的系统集成软件的用户识别的值是否小于10000;然后获取待确认的系统集成软件中,用户识别的值不小于10000的待确认的系统集成软件的包名。
由于UID(User dentification,用户识别)值不小于10000的软件一般都是可以删除的,因此可以将这些软件归为待确认的系统集成应用软件。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述处理器903,还用于在确定获取待确认的系统集成软件的用户识别的值是否小于10000之前,获取待确认的系统集成软件的签名;并确定待确认的系统集成软件的签名是否属于预定系统应用发布者;然后,确定获取待确认的系统集成软件中,签名不属于预定系统应用发布者的系统集成软件的用户识别的值是否小于10000。
上述预定系统应用发布者,可以依据不同的操作系统确认不同的系统应用发布者。由于操作系统均有其开发和发布者,因此对应于该操作系统的开发和发布者作为预定的系统应用发布者。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述处理器903,还用于在确定待确认的系统集成软件的签名是否属于预定系统应用发布者之前,确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值;然后,确定待确认的系统集成软件中,同签名的软件集的数量未达到预定阈值的系统集成软件的签名是否属于预定系统应用发布者。
以上阈值可以人为确定,一般来说按照当前系统的类型,当前系统的系统应用软件数量这些来确定具体数值,例如在安卓系统中可以设置为30。由于这个数值可以依据不同的操作系统来确定,本领域技术人员可以基于此来确定这个数值,本发明实施例对此不予限定。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述处理器903,还用于在确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值之前,获取安装在系统软件文件目录下的软件作为待确认的系统应用软件。
以上实施例通过软件安装目录进行第一次筛选,可以将用户安装软件迅速的区分出来,这样可以提高软件识别的速度。
在以上举例中,若为android操作系统,那么系统集成软件包的路径为/system/app,而用户安装软件包路径为/data/app,以上两个路径是基于android系统的安装目录,对于其他操作系统来说,系统集成软件和用户安装软件的路径是可以不同的,另外即使是android系统,其各种软件的安装目录名也是可以更改的,因此以上举例不应理解为对比本发明实施例的唯一性限定。
进一步地,本发明实施例还提供了系统应用软件的确认方法,具体可以如下:上述处理器903,还用于在确定内置应用软件之后,确认待确认的系统集成软件中内置应用软件之外的待确认的系统集成软件为系统应用软件。
本实施例中,确认系统应用软件采用的是在内置软件被识别出来以后确认的,实际上在识别内置软件的过程中,就可以确认出系统应用软件,例如:本实施例中前述的各种筛选条件中,待确认的系统集成软件的用户识别的值小于10000,待确认的系统集成软件的签名属于预定系统应用发布者,待确认的系统集成软件中同签名的软件集的数量达到预定阈值,就可以将这些软件确认为系统应用软件。因此本实施例中的确认顺序并不是本发明实施例的唯一确认顺序。
本发明实施例还提供了一种设备,用于区分软件类型,该设备可以为终端,如图10所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Pointof Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图10示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图10,手机包括:射频(Radio Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路100还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global Systemof Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机1000的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机1000还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于手机1000的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机1000还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机1000还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器1080还具有以下功能:
上述处理器1080,用于获取待确认的系统集成软件的包名;查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
以上实施例,通过查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应,来确认不对应的为内置应用软件,实现了对内置应用软件的区分。能够准确识别出内置应用软件,从而为安全的满足用户维护系统请求的需求,以及安全的满足用户提升系统运行速度等需求提供便利。
进一步地,本发明实施例还提供了如何确认可删除以及不可删除的软件类型,用于实现对软件删除的风险性管理,具体可以如下:上述处理器1080,还用于在获取待确认的系统集成软件的包名之前,确定获取待确认的系统集成软件的用户识别的值是否小于10000;然后获取待确认的系统集成软件中,用户识别的值不小于10000的待确认的系统集成软件的包名。
由于UID(User dentification,用户识别)值不小于10000的软件一般都是可以删除的,因此可以将这些软件归为待确认的系统集成应用软件。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述处理器1080,还用于在确定获取待确认的系统集成软件的用户识别的值是否小于10000之前,获取待确认的系统集成软件的签名;并确定待确认的系统集成软件的签名是否属于预定系统应用发布者;然后,确定获取待确认的系统集成软件中,签名不属于预定系统应用发布者的系统集成软件的用户识别的值是否小于10000。
上述预定系统应用发布者,可以依据不同的操作系统确认不同的系统应用发布者。由于操作系统均有其开发和发布者,因此对应于该操作系统的开发和发布者作为预定的系统应用发布者。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述处理器1080,还用于在确定待确认的系统集成软件的签名是否属于预定系统应用发布者之前,确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值;然后,确定待确认的系统集成软件中,同签名的软件集的数量未达到预定阈值的系统集成软件的签名是否属于预定系统应用发布者。
以上阈值可以人为确定,一般来说按照当前系统的类型,当前系统的系统应用软件数量这些来确定具体数值,例如在安卓系统中可以设置为30。由于这个数值可以依据不同的操作系统来确定,本领域技术人员可以基于此来确定这个数值,本发明实施例对此不予限定。
进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述处理器1080,还用于在确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值之前,获取安装在系统软件文件目录下的软件作为待确认的系统应用软件。
以上实施例通过软件安装目录进行第一次筛选,可以将用户安装软件迅速的区分出来,这样可以提高软件识别的速度。
在以上举例中,若为android操作系统,那么系统集成软件包的路径为/system/app,而用户安装软件包路径为/data/app,以上两个路径是基于android系统的安装目录,对于其他操作系统来说,系统集成软件和用户安装软件的路径是可以不同的,另外即使是android系统,其各种软件的安装目录名也是可以更改的,因此以上举例不应理解为对比本发明实施例的唯一性限定。
进一步地,本发明实施例还提供了系统应用软件的确认方法,具体可以如下:上述处理器1080,还用于在确定内置应用软件之后,确认待确认的系统集成软件中内置应用软件之外的待确认的系统集成软件为系统应用软件。
本实施例中,确认系统应用软件采用的是在内置软件被识别出来以后确认的,实际上在识别内置软件的过程中,就可以确认出系统应用软件,例如:本实施例中前述的各种筛选条件中,待确认的系统集成软件的用户识别的值小于10000,待确认的系统集成软件的签名属于预定系统应用发布者,待确认的系统集成软件中同签名的软件集的数量达到预定阈值,就可以将这些软件确认为系统应用软件。因此本实施例中的确认顺序并不是本发明实施例的唯一确认顺序。
值得注意的是,上述装置和设备实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (12)

1.一种区分软件类型的方法,其特征在于,包括:
获取待确认的系统集成软件的包名;
查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;
确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
2.根据权利要求1所述方法,其特征在于,所述获取待确认的系统集成软件的包名之前还包括:
确定获取待确认的系统集成软件的用户识别的值是否小于10000;
然后获取待确认的系统集成软件中,用户识别的值不小于10000的待确认的系统集成软件的包名。
3.根据权利要求2所述方法,其特征在于,所述确定获取待确认的系统集成软件的用户识别的值是否小于10000之前还包括:
获取待确认的系统集成软件的签名;并确定待确认的系统集成软件的签名是否属于预定系统应用发布者;
然后,确定获取待确认的系统集成软件中,签名不属于预定系统应用发布者的系统集成软件的用户识别的值是否小于10000。
4.根据权利要求3所述方法,其特征在于,所述确定待确认的系统集成软件的签名是否属于预定系统应用发布者之前还包括:
确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值;
然后,确定待确认的系统集成软件中,同签名的软件集的数量未达到预定阈值的系统集成软件的签名是否属于预定系统应用发布者。
5.根据权利要求4所述方法,其特征在于,所述确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值之前还包括:
获取安装在系统软件文件目录下的软件作为待确认的系统应用软件。
6.根据权利要求1~5任意一项所述方法,其特征在于,在确定内置应用软件之后还包括:
确认待确认的系统集成软件中内置应用软件之外的待确认的系统集成软件为系统应用软件。
7.一种区分软件类型的装置,其特征在于,包括:
包名获取单元,用于获取待确认的系统集成软件的包名;
查询单元,用于查询所述包名获取单元获取到的各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;
内置确认单元,用于确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
8.根据权利要求7所述装置,其特征在于,还包括:
值确定获取单元,用于在所述包名获取单元获取待确认的系统集成软件的包名之前,确定获取待确认的系统集成软件的用户识别的值是否小于10000;
所述包名获取单元,用于获取待确认的系统集成软件中,用户识别的值不小于10000的待确认的系统集成软件的包名。
9.根据权利要求8所述装置,其特征在于,还包括:
签名获取单元,用于获取待确认的系统集成软件的签名;
发布者确定单元,用于在所述值确定获取单元确定获取待确认的系统集成软件的用户识别的值是否小于10000之前,确定待确认的系统集成软件的签名是否属于预定系统应用发布者;
所述值确定获取单元,用于确定获取待确认的系统集成软件中,签名不属于预定系统应用发布者的系统集成软件的用户识别的值是否小于10000。
10.根据权利要求9所述装置,其特征在于,还包括:
数量确定单元,用于在所述发布者确定单元确定待确认的系统集成软件的签名是否属于预定系统应用发布者之前,确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值;
所述发布者确定单元,用于确定待确认的系统集成软件中,同签名的软件集的数量未达到预定阈值的系统集成软件的签名是否属于预定系统应用发布者。
11.根据权利要求10所述装置,其特征在于,还包括:
软件获取单元,用于在所述数量确定单元确定待确认的系统集成软件中同签名的软件集的数量是否达到预定阈值之前,获取安装在系统软件目录下的软件作为待确认的系统应用软件。
12.根据权利要求7~11任意一项所述装置,其特征在于,还包括:
系统确认单元,用于在所述内置确认单元确定内置应用软件之后,确认待确认的系统集成软件中内置应用软件之外的待确认的系统集成软件为系统应用软件。
CN201310634586.2A 2013-12-02 2013-12-02 一种区分软件类型的方法和装置 Active CN104679785B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310634586.2A CN104679785B (zh) 2013-12-02 2013-12-02 一种区分软件类型的方法和装置
PCT/CN2014/092755 WO2015081834A1 (en) 2013-12-02 2014-12-02 Method and apparatus for distinguishing software types

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310634586.2A CN104679785B (zh) 2013-12-02 2013-12-02 一种区分软件类型的方法和装置

Publications (2)

Publication Number Publication Date
CN104679785A true CN104679785A (zh) 2015-06-03
CN104679785B CN104679785B (zh) 2020-06-05

Family

ID=53272883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310634586.2A Active CN104679785B (zh) 2013-12-02 2013-12-02 一种区分软件类型的方法和装置

Country Status (2)

Country Link
CN (1) CN104679785B (zh)
WO (1) WO2015081834A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840097A (zh) * 2019-01-08 2019-06-04 广东小天才科技有限公司 移动终端的渠道信息管理方法、装置、终端及存储介质
CN112948831A (zh) * 2021-03-12 2021-06-11 哈尔滨安天科技集团股份有限公司 应用程序风险识别的方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050268112A1 (en) * 2004-05-28 2005-12-01 Microsoft Corporation Managing spyware and unwanted software through auto-start extensibility points
CN102135992A (zh) * 2011-03-15 2011-07-27 宇龙计算机通信科技(深圳)有限公司 终端应用程序的归类方法和终端
CN102693132A (zh) * 2012-05-17 2012-09-26 福州博远无线网络科技有限公司 基于Android的应用程序自动分类方法
CN102779257A (zh) * 2012-06-28 2012-11-14 奇智软件(北京)有限公司 一种Android应用程序的安全检测方法及系统
CN102779051A (zh) * 2012-05-17 2012-11-14 江苏中科梦兰电子科技有限公司 一种基于Android系统的应用软件的过滤方法
CN103019584A (zh) * 2012-11-14 2013-04-03 广东欧珀移动通信有限公司 移动终端设备批量卸载程序的方法
CN103019798A (zh) * 2013-01-16 2013-04-03 珠海市君天电子科技有限公司 一种识别安卓系统预装软件的方法和装置
CN103389898A (zh) * 2013-07-22 2013-11-13 深圳市金立通信设备有限公司 一种管理移动终端软件的方法及移动终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025835A (zh) * 2010-12-06 2011-04-20 华为终端有限公司 一种移动终端中的应用程序自动分类的方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050268112A1 (en) * 2004-05-28 2005-12-01 Microsoft Corporation Managing spyware and unwanted software through auto-start extensibility points
CN102135992A (zh) * 2011-03-15 2011-07-27 宇龙计算机通信科技(深圳)有限公司 终端应用程序的归类方法和终端
CN102693132A (zh) * 2012-05-17 2012-09-26 福州博远无线网络科技有限公司 基于Android的应用程序自动分类方法
CN102779051A (zh) * 2012-05-17 2012-11-14 江苏中科梦兰电子科技有限公司 一种基于Android系统的应用软件的过滤方法
CN102779257A (zh) * 2012-06-28 2012-11-14 奇智软件(北京)有限公司 一种Android应用程序的安全检测方法及系统
CN103019584A (zh) * 2012-11-14 2013-04-03 广东欧珀移动通信有限公司 移动终端设备批量卸载程序的方法
CN103019798A (zh) * 2013-01-16 2013-04-03 珠海市君天电子科技有限公司 一种识别安卓系统预装软件的方法和装置
CN103389898A (zh) * 2013-07-22 2013-11-13 深圳市金立通信设备有限公司 一种管理移动终端软件的方法及移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
梦书: "Android上获取本机安装的应用程序", 《博客园》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840097A (zh) * 2019-01-08 2019-06-04 广东小天才科技有限公司 移动终端的渠道信息管理方法、装置、终端及存储介质
CN112948831A (zh) * 2021-03-12 2021-06-11 哈尔滨安天科技集团股份有限公司 应用程序风险识别的方法和装置
CN112948831B (zh) * 2021-03-12 2024-02-13 安天科技集团股份有限公司 应用程序风险识别的方法和装置

Also Published As

Publication number Publication date
WO2015081834A1 (en) 2015-06-11
CN104679785B (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN103425736B (zh) 一种网页信息识别方法、装置及系统
CN103716331B (zh) 一种数值转移的方法、终端、服务器及系统
CN103634294A (zh) 信息验证方法和装置
CN104636047A (zh) 对列表中的对象进行操作的方法、装置及触屏终端
CN103929796A (zh) 共享接入点的方法及装置
CN104135728B (zh) 网络连接方法及装置
CN104519485A (zh) 一种终端之间的通信方法、装置和系统
CN105491067A (zh) 基于密钥的业务安全性验证方法及装置
CN103677899A (zh) 安装应用程序的方法及设备
CN104468101A (zh) 一种用户身份的验证方法、装置和验证服务系统
CN104142868A (zh) 建立连接的方法及装置
CN104301315A (zh) 一种限制信息访问的方法和装置
CN104134043B (zh) 对内容进行隐藏、解隐藏的方法、装置及终端
CN104424431A (zh) 一种重置虚拟机用户登陆密码的方法及装置
CN104965722A (zh) 一种显示信息的方法及装置
CN104539571A (zh) 信息交互方法、身份鉴权方法、服务器及终端
CN105530239A (zh) 多媒体数据获取方法及装置
CN104699501A (zh) 一种运行应用程序的方法及装置
CN104573437A (zh) 信息认证方法、装置和终端
CN105047185A (zh) 一种获取伴奏音频的方法、装置和系统
CN104901992A (zh) 一种资源转移的方法和装置
CN104092657A (zh) 信息传输的方法、设备及系统
CN105553718A (zh) 引导信息显示方法及装置
CN103546203B (zh) 近场通信标签脚本的提供与获取方法、装置
CN105488433A (zh) 终端密钥生成方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant