一种区分软件类型的方法和装置的制造方法

文档序号:8361478阅读:213来源:国知局
一种区分软件类型的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种区分软件类型的方法和装置。
【背景技术】
[0002]软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。一般来讲软件被划分为系统应用软件、用户安装软件;或者,分为可删除软件和不可删除软件。
[0003]其中用户安装软件:指的是用户安装的软件包,一般安装完放在/data/app的目录下面,由于其删除对设备是否能够使用不构成影响,因此是可以删除的。系统应用软件:是操作系统中不可缺少的一部分,由于删除可能会导致了某个重要的功能用不了,甚至导致整个系统瘫痪,因此一般属于不可删除软件。系统应用软件一般存放在/system/app目录里面,在/system/app目录中一般可以包含系统应用软件,以及厂商或Rom (Read-OnlyMemory,只读内存)开发者为了丰富系统功能而进行开发的软件,这类软件被称为内置应用软件。
[0004]内置应用软件:该类型的软件同样存放在/system/app目录里面,是厂商或Rom开发者为了某种目的,在出厂或Rom集成时,内置的各种各样的软件;这些软件可能用户不需要的,存在于系统里会占空间,并且拖慢系统运行速度。用户在有权限的情况下,可删除这些软件,并且删除了也不会影响到系统的稳定性。
[0005]目前在很多手机终端渠道会内置应用软件后销售给消费者。消费都如果需要删除内置应用软件,则可能遭遇如下问题:无法区分内置应用软件和系统应用软件,误卸载系统应用软件会让手机崩溃。
[0006]基于前述介绍,由于系统把软件按用户安装和系统集成分成两大类。用户安装的软件包放在/data/app的目录下,用户可以自由的删除;系统集成的软件包则放置在/system/app的目录下,用户是没权限删除的,如果想要删除,必须获得Root (超级用户)权限。系统集成的软件又可以分为系统应用软件和(厂商或运营商)内置应用软件,这两小类目前用户是很难区别的,个别用户在获得权限时,为维护系统的清洁,可能会错删除一些重要的系统应用软件而导致某项功能不能用,甚至导致整个系统瘫痪。
[0007]基于以上说明,可以发现:采用按照软件安装目录的方式进行软件类型区分,无法区分内置应用软件和系统应用软件。这将导致无法准确删除不需要的内置应用软件进而无法安全的满足用户维护系统清洁的需求,同时也无法安全的满足用户提升系统运行速度的需求。

【发明内容】

[0008]本发明实施例提供了一种区分软件类型的方法和装置,用于准确识别出内置应用软件,从而为安全的满足用户维护系统请求的需求,以及安全的满足用户提升系统运行速度等需求提供便利。
[0009]一种区分软件类型的方法,包括:
[0010]获取待确认的系统集成软件的包名;
[0011]查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;
[0012]确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
[0013]一种区分软件类型的装置,包括:
[0014]包名获取单元,用于获取待确认的系统集成软件的包名;
[0015]查询单元,用于查询所述包名获取单元获取到的各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应;
[0016]内置确认单元,用于确定与从系统只读内存中提取的系统软件包的包名不对应的系统集成软件为内置应用软件。
[0017]从以上技术方案可以看出,本发明实施例具有以下优点:通过查询各待确认的系统集成软件的包名是否与从系统只读内存中提取的系统软件包的包名对应,来确认不对应的为内置应用软件,实现了对内置应用软件的区分。能够准确识别出内置应用软件,从而为安全的满足用户维护系统请求的需求,以及安全的满足用户提升系统运行速度等需求提供便利。
【附图说明】
[0018]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本发明实施例方法流程示意图;
[0020]图2为本发明实施例方法流程示意图;
[0021]图3为本发明实施例装置结构示意图;
[0022]图4为本发明实施例装置结构示意图;
[0023]图5为本发明实施例装置结构示意图;
[0024]图6为本发明实施例装置结构示意图;
[0025]图7为本发明实施例装置结构示意图;
[0026]图8为本发明实施例装置结构示意图;
[0027]图9为本发明实施例设备结构示意图;
[0028]图10为本发明实施例终端结构示意图。
【具体实施方式】
[0029]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0030]本发明实施例提供了一种区分软件类型的方法,如图1所示,包括:
[0031]101:获取待确认的系统集成软件的包名;
[0032]进一步地,本发明实施例还提供了如何确认可删除以及不可删除的软件类型,用于实现对软件删除的风险性管理,具体可以如下:上述获取待确认的系统集成软件的包名之前还包括:确定获取待确认的系统集成软件的用户识别的值是否小于10000 ;
[0033]然后获取待确认的系统集成软件中,用户识别的值不小于10000的待确认的系统集成软件的包名。
[0034]由于UID (User dentificat1n,用户识别)值不小于10000的软件一般都是可以删除的,因此可以将这些软件归为待确认的系统集成应用软件。
[0035]进一步地,本发明实施例还提供了另一种前置的筛选条件,提高识别内置软件的准确度,具体可以如下:上述确定获取待确认的系统集成软件的用户识别的值是否小于10000之前还包括:
[0036]获取待确认的系统集成软件的签名;并确定待确认的系统集成软件的签名是否属于预定系统应用发布者;
[0037]然后,确定获取待确认的系统集成软件中,签名不属于预定系统应用发布者的系统集成软件的用户识别的值是否小于10000。
[0038]上述预定系统应用发布者,可以依据不同的操作系统确认不同的系统应用发布者。由于操作系统均有其开发和发布者,因此对应于该操作系统的开发和发布者作为预定的系统应用发布者。
[0039]为什么采用软件的签名(代码签名证书)作为条件来进行区分的原因,介绍如下:
[0040]代码签名证书为软件开发商提供了一个理想的解决方案,使得软件开发商能对其软件代码进行数字签名。通过对代码的数字签名来标识软件来源以及软件开发者的真实身份,保证代码在签名之后不被恶意篡改。使用户在下载已经签名的代码时,能够有效的验证该代码的可信度。
[0041]代码签名的基础是PKI (Public Key Infrastructure,公钥基础设施)安全体系。代码签名证书由签名证书私钥和公钥证书两部分组成。私钥用于代码的签名,公钥用于私钥签名的验证和证书持有者的身份识别。代码签名证书功能实现原理如下:
[0042]1、发布者从CA(Certificate Authority,电子商务认证授权)机构申请数字证书;
[0043]2、发布者开发出代码;借助代码签名工具,发布者将使用MD5 (Message DigestAlgorithm,消息摘要算法第五版))或SHA (Secure Hash Algorithm,安全散列算法)算法产生代码的哈希值,然后用代码签名证书私钥对该哈希值签名,从而产生一个包含代码签名和软件发布者的签名证书的软件包;
[0044]3、用户的运行环境访问到该软件包,并检验软件发布者的代码签名数字证书的有效性。由于根证书的公钥已经嵌入到用户的运行环境的可信根证书库,所以运行环境可验证发布者代码签名数字证书的真实性;
[0045]4、用户的运行环境使用代码签名数字证书中含有的公钥解密被签名的哈希值;
[0046]5、用户的运行环境使用同样的算法新产生一个原代码的哈希值;
[0047]6、用户的运行环境比较两个哈希值。如果相同,将发出通知声明代码
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1