CN109542511A - 一种应用安装包的检测方法、装置及移动设备 - Google Patents
一种应用安装包的检测方法、装置及移动设备 Download PDFInfo
- Publication number
- CN109542511A CN109542511A CN201811418724.2A CN201811418724A CN109542511A CN 109542511 A CN109542511 A CN 109542511A CN 201811418724 A CN201811418724 A CN 201811418724A CN 109542511 A CN109542511 A CN 109542511A
- Authority
- CN
- China
- Prior art keywords
- character string
- installation package
- application installation
- security level
- measured
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Telephone Function (AREA)
Abstract
为解决现有技术中无法对已注册广播接收器的应用安装包的安全等级进行检测的问题,本发明实施例提供一种应用安装包的检测方法:从待测应用安装包中获取保存有注册广播接收器信息的目标文件;判断所述目标文件中的特定字符串是否符合预设校验规则,以得到相应的判断结果;其中,所述特定字符串为表示所述广播接收器注册信息的字符串;根据所述判断结果确定所述待测应用安装包的安全等级。此外本发明实施例还提供一种应用安装包检测装置、移动设备及存储介质。
Description
技术领域
本发明涉及测试领域,尤其涉及一种应用安装包的检测方法、装置、移动设备及存储介质。
背景技术
在安卓系统中,广播是用于唤醒应用程序的常用方式,是终端操作系统各进程之间重要的通讯媒介。通过监听广播信息,可获知用户在终端操作系统的多种操作指令以及终端操作系统的各种状态变化。为了使广播发送的广播消息可以被接受并响应,需注册对应的广播接收器来接收来自系统和应用的广播,当广播接收器检测到对应的系统操作时,则会自动响应系统广播。
为了终端操作系统各进程之间能更好的通讯,安卓系统中,提供了一套广播机制,通过这种广播机制,不仅可以实现同一应用程序组件间的交互和调用,还可以实现不同应用程序组件间的交互和调用。然而,若在应用程序组件间的交互和调用过程中,广播接收器注册不规范,应用程序将会面临各种各样的安全问题,例如应用程序的关键信息被其他应用程序恶意截获或者应用程序安装包内的广播接收器遭到干扰,影响应用自身信息交互。可见,广播接收器注册是否规范,直接关系着应用程序安装包是否安全。
鉴于此,如何对已注册广播接收器的应用程序安装包的安全等级进行检测,成为亟需解决的问题。
发明内容
本发明实施例提供一种应用安装包的检测方法,以解决现有技术中无法对已注册广播接收器的应用安装包的安全等级进行检测的问题。
本发明实施例还提供一种应用安装包的检测装置、移动设备及存储介质。
为了解决上述技术问题,本发明是这样实现的:
第一方面,提供了一种应用安装包的检测方法,该方法包括:从待测应用安装包中获取保存有注册广播接收器信息的目标文件;判断所述目标文件中的特定字符串是否符合预设校验规则,以得到相应的判断结果;其中,所述特定字符串为表示所述广播接收器注册信息的字符串;根据所述判断结果确定所述待测应用安装包的安全等级。
第二方面,提供了一种应用安装包的检测装置,该装置包括目标文件获取模块、判断模块以及安全等级确定模块,其中:
目标文件获取模块,用于从待测应用安装包中获取保存有注册广播接收器信息的目标文件;
判断模块,用于判断所述目标文件中的特定字符串是否符合预设校验规则,以得到相应的判断结果;其中,所述特定字符串为表示所述广播接收器注册信息的字符串;
安全等级确定模块,用于根据所述判断结果确定所述待测应用安装包的安全等级。
第三方面,提供了一种移动设备,该移动设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的应用安装包的检测方法的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的应用安装包的检测方法的步骤。
在本发明实施例中,基于预设校验规则对目标文件中的特定字符串进行校验,并且根据目标文件中的特定字符串与预设检验规则中关键字的匹配数量确定待测应用安装包的安全等级,进而确定注册广播接收器的安全等级。通过本发明提供的方法在对应用安装包的安全等级进行检测时,由于可以直接获取应用安装包中与注册广播接收器相关的、可以反映广播接收机注册情况的信息,并通过将该些信息与预设的标准规则进行比较,从而可以根据该些信息与标准规则的匹配情况,直观的反映出该广播接收机注册过程中的是否存在安全漏洞,进而可以根据存在安全漏洞的情况,直观准确地反映出该应用安装包的安全等级。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明的一个实施例提供的一种应用安装包的检测方法的实现流程示意图;
图2是本发明的一个实施例提供的一种应用安装包的检测装置的具体结构示意图;
图3是本发明的一个实施例提供的一种移动设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
为解决现有技术中缺乏对已注册广播接收器的应用程序安装包的安全等级进行检测的问题,本发明实施例1提供一种应用安装包的检测方法。该检测方法的执行主体,可以是诸如手机、平板电脑或个人电脑(Personal Computer,PC)等等任何具备检测功能的智能设备,也可以是智能设备上安装的应用软件,比如安装在手机上的应用(Application,APP)等。
为便于区分描述,以下以该方案的执行主体为应用软件为例,对该方法进行介绍。
请参见说明书附图1,为本发明实施例1提供的该应用安装包的检测方法的具体流程示意图,该流程具体包括如下步骤:
步骤11,从待测应用安装包中获取保存有注册广播接收器信息的目标文件;
其中,应用安装包即安卓安装包(Android Package,APK),是可自行解压缩文件的集合,包括应用软件安装的所有文件,通过将应用程序安装包传到安卓模拟器或安卓手机中即可直接安装。以待检测的应用程序安装包为安卓安装包为例,当应用程序调用广播组件时,为了使发出的广播消息(或广播意图/广播事件)能够被系统或者其他应用程序接收并响应,通常会在APK的应用程序的信息描述文件(AndroidManifest.xml)中注册广播接收器(BroadcastReceiver),用来监听广播消息(或广播意图/广播事件)。
具体地,本发明以安卓操作系统为例,从待测应用安装包中获取保存有注册广播接收器信息的目标文件可以包括如下几个子步骤:
子步骤111,获取待测应用安装包;
子步骤112,对所述待测应用安装包进行解压,得到类文件(classes.dex)集和AndroidManifest.xml文件;
对待测应用安装包的应用程序的安装文件进行解压,得到classes.dex文件集和AndroidManifest.xml文件。其中,解压时比如可以采用7z.exe来解压,解压后的文件夹中含有classes.dex文件集和AndroidManifest.xml文件。
子步骤113,使用逆向技术对所述classes.dex文件集和AndroidManifest.xml文件进行反编译,生成所述应用程序的源代码文件;
其中,逆向技术可以包括反编译、反汇编等多种实现方法,本发明仅以采用反编译来获取应用程序的源代码文件的方法为例,并不对逆向技术进行限定。
另外,本发明对反编译方式也不作任何限定,比如可以使用dex2jar程序、jad.exe等程序反编译classes.dex文件,生成java代码;还可以先将classes.dex转换为jar文件,再解压缩jar文件,得到class类文件集合,接着批量反编译classes.dex文件到java源文件集合。另外,可以通过AXMLPrinter2.jar程序转换AndroidManifest.xml文档,生成资源文档(.XML文档),通过这种处理可以使文件格式更规范,更方便读取或处理。
子步骤114,根据预设关键字从所述源代码文件中获取所有使用广播接收器的目标文件。
其中,预设关键字包括广播类、发送广播标志和调用程序的隐式调用特征;具体地,根据预设关键字从所述源代码文件中获取所有使用广播接收器的目标文件,例如,可以通过从应用程序的源代码文件中提取包含有广播类、发送广播标志和调用程序的隐式调用特征等预设关键字的源代码,然后根据源代码的所在位置得到所有使用广播接收器的目标文件。此处需要说明的是,在一种实施方式中上述广播类可以通过以下任意一个或多个参数进行表征:android.support.v4.content.LocalBroadcastManager、LocalBroadcastManager
LocalBroadcastManager.getInstance;发送广播标志可以通过参数sendBroadcast表征,调用程序的隐式调用Intent的特征源代码可以包括以下任意一个或多个参数:setAction()、putExtra。
其中,由于安卓操作系统中,为了使发送的广播能被接受,通常会在APK的AndroidManifest.xml文件中注册广播接收器(BroadcastReceiver),用来接受并响应广播消息,且在注册广播接收器时,会在广播接收器中添加可接收广播的广播标志,防止广播接收器接收到其余应用发送的广播,可见,广播接收器中必定会包含发送广播对应的广播标志,因此可以将广播标志作为获取广播接收器目标文件的依据。
现有技术可以通过以下两种方式注册广播接收器:
1、静态注册:通过在系统清单文件中添加receiver标签,在应用程序不启动的情况下实现静态注册广播接收器(Broadcast Receiver);
2、动态注册:通过开发广播接收器(Broadcast Receiver),然后把开发广播接收器对应的类或者对象注册到Android操作系统上以实现动态注册广播接收器。
结合上述两种注册方式的描述可知,无论是静态注册方式还是动态注册方式,在实际注册过程中都会包含receiver标签,因此,可以基于这个特点,通过在待测应用安装包中搜索receiver标签的方式来实现获取所有使用广播接收器的目标文件的目的。
例如,当确定广播接收器标签如下:
registerReceiver(Landroid/content/BroadcastReceiver,则可以直接在源代码文件中搜索:“registerReceiver(Landroid/content/BroadcastReceiver”字符串来获取所有使用广播接收器的目标文件。
步骤12,判断所述目标文件中的特定字符串是否符合预设校验规则,以得到相应的判断结果;
以下先对步骤12中出现的部分名词稍作说明,其中,所述特定字符串为表示所述广播接收器注册信息的字符串;所述预设校验规则是用于判断广播接收器注册是否规范的一种标准/对照准则,可以根据这种对照准则确定广播接收器注册过程中是否存在安全漏洞。
之所以需要判断目标文件中的特定字符串是否符合预设校验规则,是因为在实际应用中,以安卓系统为例,一些应用(也称第三方应用或者应用程序)通常会根据其接收到的来自操作系统的相应类型的广播,在用户不知情的情况下,在后台自动执行一些操作;例如,智能移动设备在开机或者成功接入网络后,其操作系统的框架层中的广播中心(如活动管理服务,ActivityManagerService)会向对应应用的广播接收器发送开机类型的广播或网络连接类型的广播,对应应用在接收到开机类型或者网络连接类型的广播后,就会在后台自动执行启动操作,从而使其处于运行状态,而这种操作很可能会给智能设备带来不良影响,例如,自启动的应用会占用智能移动设备的处理以及缓存等资源,从而可能会使智能移动设备的性能恶化,甚至有可能会影响智能移动设备中其他应用的正常运行;再例如,恶意应用可能会在接收到相应类型的广播后执行一些恶意操作获取广播的关键信息,从而会对智能移动设备的安全产生不良影响;还有,自启动的应用会缩短智能移动设备的续航时间等。然而,实际在接收到广播后却并不能明确后台自动执行的操作是否会对对智能设备造成不良影响。
因此,为了明确应用在接收到广播后在后台自动执行的操作是否会对智能设备造成不良影响,应该对广播接收器注册过程中的动态注册的权限、方式以及动态注册广播类型等注册信息进行检测,判断这些注册信息是否满足预设校验规则。
具体地,判断所述目标文件中的特定字符串是否符合预设校验规则可以包括如下子步骤:
子步骤121,从目标文件中获取所述特定字符串;其中,所述特定字符串为表示所述广播接收器注册信息的字符串;
其中,特定字符串比如可以是ContextWrapper类的registerReceiver函数。
子步骤122,判断所述特定字符串中是否存在与关键字集合中的至少一个关键字匹配的字符串;若存在,则判定所述特定字符串符合预设校验规则;若不存在,则判定所述特定字符串不符合预设校验规则;
其中,所述关键字包括用于表征广播接收器注册规范的字符串,关键字集合即所有用于表征广播接收器注册规范的字符串的集合。具体地,所述关键字可以包括动态注册权限的标识字符串,动态注册方式的标识字符串,动态注册系统广播的标识字符串中的至少一种。以下为方便描述,特将描述动态注册权限的标识字符串称为第一关键字,以此类推,将描述动态注册方式的标识字符串称为第二关键字;将描述动态注册系统广播的标识字符串称为第三关键字。
需要说明的是,在一种实施方案中,判断所述特定字符串中是否存在与关键字集合中的至少一个关键字匹配的字符串,比如可以先对特定字符串中的字符串进行归类,将表示同一属性的字符串作为一类,例如将特定字符串中表示注册权限的关键字归为同一类,将特定字符串中表示注册的方式关键字归为另一类,这样,当判断所述特定字符串中是否存在与关键字集合中的至少一个关键字匹配的字符串时,假设先对特定字符串中的注册权限类关键字进行判断,则对应找到关键字集合中表示广播接收器注册权限的关键字,然后比较特定字符串中的注册权限类关键字与关键字集合中表示广播接收器注册权限的关键字是否匹配(防止比较的特定字符串与关键字集合中的关键字不是同一类,例如,特征字符串中表示注册方式的字符串与关键字中的第一关键字,即动态注册权限的标识字符串进行比较,因为,若对不同类的字符串进行比较会增加不必要的比较次数导致比较的工作量加大),进而确定特定字符串中是否存在与关键字集合中的至少一个关键字匹配的字符串。特征字符串中其余类的关键字的比较方法以此类推,此处不再赘述。
需要说明的是,由于第一关键字为动态注册权限的标识字符串,且通常,动态注册权限的标识字符串包括如下几种:Landroid/content/IntentFilter;Ljava/lang/String以及registerReceiver(Landroid/content/BroadcastReceiver;所以,可以直接查看特定字符串中有没有与上述动态注册权限的标识字符匹配的字符串。
通过对动态注册权限进行校验,用户可以直接得到注册广播接收器过程中所使用广播接收器的权限信息,从而可以较为直观地判断出广播接收器是否符合预设校验规则,进而确定待测应用安装包的安全等级,以便用户可以根据确定的应用安装包的安全等级,适应性地对动态注册的权限进行调整,比如,当确定待测应用安装包的安全等级较低时,可以基于预设检验规则中的第一关键字重新设置动态注册权限(例如,可以根据类似sendBroadcast(Intent,String)的接口在发送广播时指定接收者必须具备的permission的特点进行设置),直至动态注册权限与预设检验规则中的第一关键字匹配为止。
实际中,仅对动态注册权限进行检验,并不能完全准确地确定广播接收器注册的安全,比如当应用程序注册了某个广播时,即便设置了IntentFilter,也仍然会接收到来自其他应用程序的广播进行匹配判断。因此,为了提高检测的准确性,通常,还可以对动态注册方式进行判断。
具体地,判断方式比如可以是,首先从特定字符串中挑选出关于注册广播接收器方式的标识字符串;其次,根据预设检验规则中的第二关键字对挑选出来的关于注册广播接收器方式的标识字符串进行一一匹配,若从特定字符串中挑选出来的标识字符串与预设检验规则中的第二关键字匹配,则说明动态注册方式满足预设校验规则。
其中,第二关键字为动态注册方式的标识字符串,通常,为了保证注册广播接收器的安全,第二关键字可以包括以下字符串:
Landroid/support/v4/content/LocalBroadcastManager;->registerReceiver;
如上所述,Landroid/support/v4/content/LocalBroadcastManager是androidv4兼容包提供的一种工具类字符串,由于第二关键字中包括本地广播管理LocalBroadcastManager方式,可以使得广播仅在本应用组件内传播,相对于直接通过sendBroadcast(Intent)发送系统全局广播可以有效避免广播中关键信息泄露的情况;另外,相比在系统内发送全局广播,这种本地广播管理方式更高效,所以,本发明优先选用这种字符串作为预设校验规则中的第二关键字,但并不限定于采用这种字符串。
第三校验规则,特定字符串与第三关键字匹配;其中,所述第三关键字为动态注册系统广播的标识字符串。
然而,若判断特定字符串与第二关键字匹配,即广播接收器的注册方式为本地广播管理方式,也并不意味着广播消息接收绝对成功,例如,本地广播管理可能会造成广播接收器只接收本应用组件内的广播,而拒接系统广播的情况。因此,为了避免这种情况,还需要对广播类型进行进一步校验以确定该广播是否属于系统广播,具体地,比如可以通过判断广播中是否存在与动态注册系统广播的标识字符串匹配的字符串,进而确定广播是否属于系统广播。
步骤13,根据所述判断结果确定所述待测应用安装包的安全等级。
子步骤131,若判断出所述特定字符串中存在与所述至少一个关键字匹配的字符串,则统计所述特定字符串中存在的、与关键字集合中的关键字匹配的字符串的数量;
其中,所述关键字包括下述至少一种:动态注册权限的标识字符串;动态注册方式的标识字符串;动态注册系统广播的标识字符串。
例如,若所述特定字符串仅与关键字中的动态注册权限的标识字符串匹配,则确定所述数量为1;若所述特定字符串与关键字中的动态注册权限的标识字符串、态注册方式的标识字符串以及动态注册系统广播的标识字符串均匹配,则确定所述数量确定为3。
子步骤132,根据所述数量确定所述待测应用安装包的安全等级。
其中,子步骤132具体包括:若所述数量小于预设数量阈值,则确定所述待测应用安装包的安全等级为低级;若所述数量等于预设数量阈值,则确定所述待测应用安装包的安全等级为中级;若所述数量大于预设数量阈值,则确定所述待测应用安装包的安全等级为高级。
例如,沿用子步骤131中的例子,假设预设数量阈值为2,则,当所述数量为1时,则确定所述待测应用安装包的安全等级为低级(1<2)。
另外需要说明的是,在本发明实施例中,待测应用安装包的安全等级可以根据用户的实际需要灵活进行设置,比如还可以设置:“安全”和“不安全”两种安全等级,或者也可以根据实际需要设置:“安全”、“一般”以及“不安全”这三种安全等级,等等。且安全等级的划分方式以及不同安全等级的判断条件也可以根据待测应用安装包的重要程度来进行划分。一般地,待测应用安装包的重要程度越高,则针对该待测应用安装包所划分的安全等级就越详细,且不同安全等级的判断条件也就越严苛。
例如,以根据目标文件中的特定字符串与预设校验规则中关键字的匹配数量确定待测应用安装包的安全等级为例,假设安全等级被设置为了:“低级”、“中级”以及“高级”三个等级,则将“目标文件中的特定字符串只与预设检验规则中的第一关键字匹配”、“目标文件中的特定字符串只与预设检验规则中的第二关键字匹配”、“目标文件中的特定字符串只与预设检验规则中的第三关键字匹配”这三种情况对应下的待测应用安装包的安全等级确定为低级;将“目标文件中的特定字符串与预设检验规则中的第一关键字、第二关键字匹配”、“目标文件中的特定字符串与预设检验规则中的第一关键字、第三关键字匹配”、“目标文件中的特定字符串与预设检验规则中的第二关键字、第三关键字匹配”这三种情况对应下的待测应用安装包的安全等级确定为中级;将“目标文件中的特定字符串与预设检验规则中的第一关键字、第二关键字、第三关键字均匹配”情况下对应的待测应用安装包的安全等级确定为高级。
为解决现有技术中没有方法对已注册广播接收器的应用程序安装包的安全等级进行检测的问题,本发明实施例2提供一种数据传输装置20,该数据传装置20的具体结构示意图如图2所示,包括目标文件获取模块21、判断模块22和安全等级确定模块23。以下具体介绍各单元的功能:
目标文件获取模块,用于从待测应用安装包中获取保存有注册广播接收器信息的目标文件;
判断模块,用于判断所述目标文件中的特定字符串是否符合预设校验规则,以得到相应的判断结果;其中,所述特定字符串为表示所述广播接收器注册信息的字符串;
安全等级确定模块,用于根据所述判断结果确定所述待测应用安装包的安全等级。
采用本发明提供的应用安装包检测装置,由于目标文件获取模块可以直接获取应用安装包中与注册广播接收器相关的、可以反映广播接收机注册情况的信息,判断模块通过将该些信息与预设的标准规则进行比较,从而使得安全等级确定模块可以根据该些信息与标准规则的匹配情况,直观的反映出该广播接收机注册过程中的是否存在安全漏洞,进而可以根据存在安全漏洞的情况,直观准确地反映出该应用安装包的安全等级,以便用户可以根据确定的待测应用安装包的安全等级,适应性地对动态注册的权限、方式等进行调整。
优选的,本发明实施例还提供一种移动设备300,包括如图3所示的处理器310,存储器309,存储在存储器309上并可在所述处理器310上运行的计算机程序,该计算机程序被处理器310执行时,实现上述实施例中所述的应用安装包的检测方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图3为实现本发明各个实施例的一种智能设备的硬件结构示意图,该智能设备300包括但不限于:射频单元301、网络模块302、音频输出单元303、输入单元304、传感器305、显示单元306、用户输入单元307、接口单元308、存储器309、处理器310、以及电源311等部件。本领域技术人员可以理解,图3中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器310,耦合到所述存储器,用于从待测应用安装包中获取保存有注册广播接收器信息的目标文件;判断所述目标文件中的特定字符串是否符合预设校验规则,以得到相应的判断结果,其中,所述特定字符串为表示所述广播接收器注册信息的字符串;根据所述判断结果确定所述待测应用安装包的安全等级。
存储器309,用于存储可在处理器310上运行的计算机程序,该计算机程序被处理器310执行时,实现处理器310所实现的上述功能。
应理解的是,本发明实施例中,射频单元301可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器310处理;另外,将上行的数据发送给基站。通常,射频单元301包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元301还可以通过无线通信系统与网络和其他设备通信。
移动终端通过网络模块302为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元303可以将射频单元301或网络模块302接收的或者在存储器309中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元303还可以提供与移动终端300执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元303包括扬声器、蜂鸣器以及受话器等。
输入单元304用于接收音频或视频信号。输入单元304可以包括图形处理器(Graphics Processing Unit,GPU)3041和麦克风3042,图形处理器3041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元306上。经图形处理器3041处理后的图像帧可以存储在存储器309(或其它存储介质)中或者经由射频单元301或网络模块302进行发送。麦克3042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元301发送到移动通信基站的格式输出。
移动终端300还包括至少一种传感器305,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板3061的亮度,接近传感器可在移动终端300移动到耳边时,关闭显示面板3061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器305还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元306用于显示由用户输入的信息或提供给用户的信息。显示单元306可包括显示面板3061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板3061。
用户输入单元307可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元307包括触控面板3071以及其他输入设备3072。触控面板3071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板3071上或在触控面板3071附近的操作)。触控面板3071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器310,接收处理器310发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板3071。除了触控面板3071,用户输入单元307还可以包括其他输入设备3072。具体地,其他输入设备3072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板3071可覆盖在显示面板3061上,当触控面板3071检测到在其上或附近的触摸操作后,传送给处理器310以确定触摸事件的类型,随后处理器310根据触摸事件的类型在显示面板3061上提供相应的视觉输出。虽然在图3中,触控面板3071与显示面板3061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板3071与显示面板3061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元308为外部装置与移动终端300连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元308可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端300内的一个或多个元件或者可以用于在移动终端300和外部装置之间传输数据。
存储器309可用于存储软件程序以及各种数据。存储器309可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器309可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器310是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器309内的软件程序和/或模块,以及调用存储在存储器309内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器310可包括一个或多个处理单元;优选的,处理器310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器310中。
移动终端300还可以包括给各个部件供电的电源311(比如电池),优选的,电源311可以通过电源管理系统与处理器310逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,移动终端300包括一些未示出的功能模块,在此不再赘述。
优选地,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中所述任意一种方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (12)
1.一种应用安装包的检测方法,其特征在于,包括:
从待测应用安装包中获取保存有注册广播接收器信息的目标文件;
判断所述目标文件中的特定字符串是否符合预设校验规则,以得到相应的判断结果;其中,所述特定字符串为表示所述广播接收器注册信息的字符串;
根据所述判断结果确定所述待测应用安装包的安全等级。
2.如权利要求1所述的方法,其特征在于,判断所述目标文件中的特定字符串是否符合预设校验规则,包括:
判断所述特定字符串中是否存在与关键字集合中的至少一个关键字匹配的字符串;若存在,则判定所述特定字符串符合预设校验规则;若不存在,则判定所述特定字符串不符合预设校验规则;
其中,所述关键字包括用于表征广播接收器注册规范的字符串。
3.如权利要求2所述的方法,其特征在于,所述关键字包括下述至少一种:
动态注册权限的标识字符串;
动态注册方式的标识字符串;
动态注册系统广播的标识字符串。
4.如权利要求2所述的方法,其特征在于,根据所述判断结果确定所述待测应用安装包的安全等级,具体包括:
若判断出所述特定字符串中存在与所述至少一个关键字匹配的字符串,则统计所述特定字符串中存在的、与关键字集合中的关键字匹配的字符串的数量;
根据所述数量确定所述待测应用安装包的安全等级。
5.如权利要求4所述的方法,其特征在于,根据所述数量确定所述待测应用安装包的安全等级,具体包括:
若所述数量小于预设数量阈值,则确定所述待测应用安装包的安全等级为低级;
若所述数量等于预设数量阈值,则确定所述待测应用安装包的安全等级为中级;
若所述数量大于预设数量阈值,则确定所述待测应用安装包的安全等级为高级。
6.一种应用安装包的检测装置,其特征在于,包括:
目标文件获取模块,用于从待测应用安装包中获取保存有注册广播接收器信息的目标文件;
判断模块,用于判断所述目标文件中的特定字符串是否符合预设校验规则,以得到相应的判断结果,其中,所述特定字符串为表示所述广播接收器注册信息的字符串;
安全等级确定模块,用于根据所述特定字符串的判断结果确定所述待测应用安装包的安全等级。
7.如权利要求6所述的装置,其特征在于,判断模块,用于:
判断所述特定字符串中是否存在与关键字集合中的至少一个关键字匹配的字符串;若存在,则判定所述特定字符串符合预设校验规则;若不存在,则判定所述特定字符串不符合预设校验规则;
其中,所述关键字包括用于表征广播接收器注册规范的字符串。
8.如权利要求7所述的装置,其特征在于,所述关键字包括下述至少一种:
动态注册权限的标识字符串;
动态注册方式的标识字符串;
动态注册系统广播的标识字符串。
9.如权利要求7所述的装置,其特征在于,安全等级确定模块,具体用于:
若判断出所述特定字符串中存在与所述至少一个关键字匹配的字符串,则统计所述特定字符串中存在的、与关键字集合中的关键字匹配的字符串的数量;
根据所述数量确定所述待测应用安装包的安全等级。
10.如权利要求9所述的装置,其特征在于,根据所述数量确定所述待测应用安装包的安全等级,具体包括:
若所述数量小于预设数量阈值,则确定所述待测应用安装包的安全等级为低级;
若所述数量等于预设数量阈值,则确定所述待测应用安装包的安全等级为中级;
若所述数量大于预设数量阈值,则确定所述待测应用安装包的安全等级为高级。
11.一种移动设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器实现如权利要求1~5中任一项所述的应用安装包的检测方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1~5中任一项所述的应用安装包的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811418724.2A CN109542511A (zh) | 2018-11-26 | 2018-11-26 | 一种应用安装包的检测方法、装置及移动设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811418724.2A CN109542511A (zh) | 2018-11-26 | 2018-11-26 | 一种应用安装包的检测方法、装置及移动设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109542511A true CN109542511A (zh) | 2019-03-29 |
Family
ID=65850316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811418724.2A Pending CN109542511A (zh) | 2018-11-26 | 2018-11-26 | 一种应用安装包的检测方法、装置及移动设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542511A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110661777A (zh) * | 2019-08-08 | 2020-01-07 | 西安万像电子科技有限公司 | 数据传输方法及系统 |
CN111459822A (zh) * | 2020-04-01 | 2020-07-28 | 北京字节跳动网络技术有限公司 | 系统组件数据的提取方法、装置、设备及可读介质 |
CN113626312A (zh) * | 2021-07-15 | 2021-11-09 | 荣耀终端有限公司 | 一种测试方法、电子设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103996007A (zh) * | 2014-05-29 | 2014-08-20 | 诸葛建伟 | Android应用权限泄露漏洞的测试方法及系统 |
GB201501786D0 (en) * | 2015-02-03 | 2015-03-18 | Samsung Electronics Co Ltd | Broadcast application security |
CN105303112A (zh) * | 2014-06-24 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 组件调用漏洞的检测方法及装置 |
CN106156611A (zh) * | 2015-03-25 | 2016-11-23 | 北京奇虎科技有限公司 | 智能手机应用程序的动态分析方法及系统 |
-
2018
- 2018-11-26 CN CN201811418724.2A patent/CN109542511A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103996007A (zh) * | 2014-05-29 | 2014-08-20 | 诸葛建伟 | Android应用权限泄露漏洞的测试方法及系统 |
CN105303112A (zh) * | 2014-06-24 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 组件调用漏洞的检测方法及装置 |
GB201501786D0 (en) * | 2015-02-03 | 2015-03-18 | Samsung Electronics Co Ltd | Broadcast application security |
CN106156611A (zh) * | 2015-03-25 | 2016-11-23 | 北京奇虎科技有限公司 | 智能手机应用程序的动态分析方法及系统 |
Non-Patent Citations (2)
Title |
---|
吕荟晶: "《新编个人电脑手册》", 30 September 2003, 南方出版社 * |
吴国信: "Android通信漏洞扫描方法研究与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110661777A (zh) * | 2019-08-08 | 2020-01-07 | 西安万像电子科技有限公司 | 数据传输方法及系统 |
CN111459822A (zh) * | 2020-04-01 | 2020-07-28 | 北京字节跳动网络技术有限公司 | 系统组件数据的提取方法、装置、设备及可读介质 |
CN111459822B (zh) * | 2020-04-01 | 2023-10-03 | 抖音视界有限公司 | 系统组件数据的提取方法、装置、设备及可读介质 |
CN113626312A (zh) * | 2021-07-15 | 2021-11-09 | 荣耀终端有限公司 | 一种测试方法、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107580147B (zh) | 一种通知消息的管理方法和移动终端 | |
CN109558734A (zh) | 一种堆栈安全性的检测方法及装置、移动设备 | |
CN110209323A (zh) | 一种显示未读消息的方法及终端设备 | |
CN107766747A (zh) | 校验应用程序安装包完整性的方法、移动终端及服务器 | |
CN110457935B (zh) | 一种权限配置方法及终端设备 | |
CN109862504A (zh) | 一种显示方法及终端设备 | |
CN109542511A (zh) | 一种应用安装包的检测方法、装置及移动设备 | |
WO2018127048A1 (zh) | 数据显示方法、装置及存储介质 | |
CN109857297A (zh) | 信息处理方法及终端设备 | |
CN108898040A (zh) | 一种识别方法及移动终端 | |
CN110381204A (zh) | 一种信息显示方法及移动终端 | |
CN110309004A (zh) | 数据的处理方法及终端 | |
CN109358931A (zh) | 一种界面显示方法及终端 | |
CN109743724A (zh) | 一种嵌入式sim卡的管理方法及移动终端 | |
CN109271779A (zh) | 一种安装包检测方法、终端设备及服务器 | |
CN114064450A (zh) | 应用程序测试方法、装置、电子设备及存储介质 | |
CN110796552A (zh) | 一种风险提示方法及装置 | |
CN109522719A (zh) | 应用安装包的加固检测方法、装置及移动终端 | |
CN108984231A (zh) | 一种应用程序账号的登录方法及移动终端 | |
CN109284146A (zh) | 一种轻应用开启方法及移动终端 | |
CN108132817B (zh) | 对象管理方法及装置 | |
CN109857673A (zh) | 控件识别方法和装置 | |
CN109639880A (zh) | 一种天气信息显示方法及终端设备 | |
CN109343900A (zh) | 一种权限配置方法及终端 | |
CN109582174A (zh) | 一种触控输入响应方法及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |
|
RJ01 | Rejection of invention patent application after publication |