CN111240694A - 应用检测方法、应用检测装置及存储介质 - Google Patents

应用检测方法、应用检测装置及存储介质 Download PDF

Info

Publication number
CN111240694A
CN111240694A CN202010006516.2A CN202010006516A CN111240694A CN 111240694 A CN111240694 A CN 111240694A CN 202010006516 A CN202010006516 A CN 202010006516A CN 111240694 A CN111240694 A CN 111240694A
Authority
CN
China
Prior art keywords
sdk
application
permission
authority
condition
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
CN202010006516.2A
Other languages
English (en)
Other versions
CN111240694B (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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202010006516.2A priority Critical patent/CN111240694B/zh
Publication of CN111240694A publication Critical patent/CN111240694A/zh
Application granted granted Critical
Publication of CN111240694B publication Critical patent/CN111240694B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本公开是一种应用检测方法、应用检测装置及存储介质。其中,所述应用检测方法包括:获取应用中软件开发工具包SDK权限申请情况和SDK权限使用情况;基于SDK权限的申请情况和SDK权限的使用情况,检测SDK权限的合规性。本公开提供的应用检测方法,根据SDK权限申请情况和SDK权限使用情况,检测SDK权限的合规性。根据SDK权限的合规性的检测结果,可以为合理优化应用的各SDK中的SDK权限提供了依据。

Description

应用检测方法、应用检测装置及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种应用检测方法、应用检测装置及存储介质。
背景技术
软件开发工具包(Software Development Kit,SDK)是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。一般而言,SDK可以简单理解为是为某个程序设计语言提供应用程序接口(ApplicationProgramming Interface,API)的一些文件。
相关技术中,应用(Application,APP)中会集成有第三方SDK,但是目前,会出现SDK权限滥用的情况。
发明内容
为克服相关技术中存在的问题,本公开提供一种应用检测方法、应用检测装置及存储介质。
根据本公开实施例的第一方面,提供一种应用检测方法,其包括:获取应用中软件开发工具包SDK权限申请情况和SDK权限使用情况;基于SDK权限的申请情况和SDK权限的使用情况,检测SDK权限的合规性。
一种实施方式中,SDK权限申请情况包括SDK权限已申请和SDK权限未申请,SDK权限使用情况包括SDK权限已使用和SDK权限未使用。
另一种实施方式中,获取应用中SDK权限申请情况,包括:反编译应用,以获取应用的全局配置文件;基于应用的全局配置文件,得到应用中SDK权限的申请情况;其中,全局配置文件中声明的SDK权限为应用中已申请的SDK权限,全局配置文件中未声明的SDK权限为应用中未申请的SDK权限。
又一种实施方式中,获取应用中SDK权限的使用情况,包括:反编译应用,以获取应用的SDK的应用程序接口API源码,其中,应用中的每一SDK对应有至少一个API源码;基于SDK的API源码,得到应用中SDK权限的使用情况;其中,API源码中声明的SDK权限为应用中已使用的SDK权限,API源码中未声明的SDK权限为应用中未使用的SDK权限。
又一种实施方式中,反编译应用,以获取应用的SDK的API源码,包括:通过dex2jar或jd-gui反编译应用,得到SDK的API源码。
又一种实施方式中,基于SDK权限的申请情况和SDK权限的使用情况,检测SDK权限的合规性,包括:将应用中SDK权限申请情况为已申请的SDK权限,与应用中SDK权限使用情况为已使用的SDK权限,进行比对;若已申请的SDK权限和已使用的SDK权限一致,则确定SDK权限为合规;若已申请的SDK权限和已使用的SDK权限不一致,则确定SDK权限为不合规。
又一种实施方式中,若已申请的SDK权限和已使用的SDK权限不一致,则确定SDK权限为不合规包括:若已申请的SDK权限为未使用的SDK权限,则SDK权限为冗余使用权限;若已使用的SDK权限为未申请的SDK权限,则SDK权限为过度使用权限。
根据本公开实施例的第二方面,提供一种应用检测装置,该装置包括:获取模块,用于获取应用中软件开发工具包SDK权限申请情况和SDK权限使用情况;处理模块,用于基于SDK权限的申请情况和SDK权限的使用情况,检测SDK权限的合规性。
一种实施方式中,SDK权限申请情况包括SDK权限已申请和SDK权限未申请,SDK权限使用情况包括SDK权限已使用和SDK权限未使用。
另一种实施方式中,获取模块用于:反编译应用,以获取应用的全局配置文件;基于应用的全局配置文件,得到应用中SDK权限的申请情况;
其中,全局配置文件中声明的SDK权限为应用中已申请的SDK权限,全局配置文件中未声明的SDK权限为应用中未申请的SDK权限。
又一种实施方式中,获取模块用于:反编译应用,以获取应用的SDK的应用程序接口API源码,其中,应用中的每一SDK对应有至少一个API源码;基于SDK的API源码,得到应用中SDK权限的使用情况;其中,API源码中声明的SDK权限为应用中已使用的SDK权限,API源码中未声明的SDK权限为应用中未使用的SDK权限。
又一种实施方式中,获取模块用于:通过dex2jar或jd-gui反编译应用,得到SDK的API源码。
又一种实施方式中,处理模块用于:将应用中SDK权限申请情况为已申请的SDK权限,与应用中SDK权限使用情况为已使用的SDK权限,进行比对;若已申请的SDK权限和已使用的SDK权限一致,则确定SDK权限为合规;若已申请的SDK权限和已使用的SDK权限不一致,则确定SDK权限为不合规。
又一种实施方式中,处理模块用于:将应用中SDK权限申请情况为已申请的SDK权限,与应用中SDK权限使用情况为已使用的SDK权限,进行比对;若已申请的SDK权限为未使用的SDK权限,则SDK权限为冗余使用权限;若已使用的SDK权限为未申请的SDK权限,则SDK权限为过度使用权限。
根据本公开实施例的第三方面,提供一种应用检测装置,包括:存储器,配置用于存储指令;以及处理器,配置用于调用所述指令执行第一方面或第一方面任意一种实施方式中所述的应用检测方法。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,非临时性计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在由处理器执行时,执行第一方面或第一方面任意一种实施方式中所述的应用检测方法。
本公开的实施例提供的技术方案可以包括以下有益效果:本公开提供的应用检测方法,根据SDK权限申请情况和SDK权限使用情况,检测SDK权限的合规性。基于SDK权限的合规性的检测结果,可以为合理优化APP应用的各SDK中的SDK权限提供了依据。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据本公开的一示例性实施例的一种应用检测方法的流程图;
图2是根据本公开一示例性实施例的一种应用检测方法中获取应用中SDK权限申请情况的流程图;
图3是根据本公开的一示例性实施例的一种应用检测方法中获取应用中SDK权限申请情况和SDK权限使用情况的流程图;
图4是根据本公开的一示例性实施例的又一种应用检测方法的流程图;
图5是根据本公开的一示例性实施例的一种应用检测装置的框图;
图6是根据本公开的一示例性实施例的一种用于应用检测的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
随着大众对于个人信息保护的日益关注和国家监管力度的不断加强,确保隐私合规成为APP应用开发者和运营者必须考量的问题。
大部分的APP应用都会集成一个甚至多个第三方SDK。在此种情况下就会出现SDK权限滥用的情况。例如,哪些权限已经申请但未使用,哪些权限已经使用但未申请。SDK权限滥用的情况,可能会造成APP应用中相关隐私的泄露。
本公开提供的一种应用检测方法,将通过监控APP应用中SDK权限申请情况和SDK权限使用情况,来检测APP应用中SDK权限的使用是否符合规定。
图1是根据本公开的一示例性实施例的一种应用检测方法的流程图。
如图1所示,应用检测方法包括步骤S101和步骤S102。下面将分别介绍各步骤的情况。
在步骤S101中,获取APP应用中软件开发工具包SDK权限申请情况和SDK权限使用情况。
作为一种可能的实施例,SDK权限申请情况包括SDK权限已申请和SDK权限未申请;SDK权限使用情况包括SDK已使用和SDK权限未使用。
APP应用中的SDK可以理解为是由第三方服务商提供的实现软件产品某项功能的工具包。开发者不需要对实现软件产品的每个功能进行开发,而仅需选择合适、稳定的SDK服务,就可在产品中集成实现产品所需的功能。
因此,在实际应用过程中,可以通过获取并使用可实现产品功能的权限,即本文所述的SDK权限,来实现产品的功能。其中,上文所述软件产品或产品可以理解为APP应用。
在步骤S102中,基于SDK权限的申请情况和SDK权限的使用情况,检测SDK权限的合规性。
对于一个APP应用来说,为了实现APP应用的功能,需要获取并使用多个SDK权限。为了避免SDK权限滥用的情况发生,需要检测SDK权限的使用是否符合规定。进一步的,可以根据检测结果,为合理优化APP应用的各SDK中的SDK权限提供了依据。
由于SDK权限可以包括SDK权限的申请情况和SDK权限的使用情况这两大方面。对于某一SDK权限来说,可以通过SDK权限的申请情况和SDK权限的使用情况来检测SDK权限的合规性。
本公开提供的应用检测方法,根据SDK权限申请情况和SDK权限使用情况,检测SDK权限的合规性。基于SDK权限的合规性的检测结果,可以为合理优化APP应用的各SDK中的SDK权限提供了依据。
图2是根据本公开一示例性实施例的一种应用检测方法中获取应用中SDK权限申请情况的流程图。
在本公开一示例性实施例中,如图2所示,本公开提供的应用检测方法,在步骤S101中,获取APP应用中SDK权限申请情况,可以包括步骤S1011和步骤S1012。下面将分别介绍步骤S1011和步骤S1012。
在步骤S1011中,反编译APP应用,以获取APP应用的全局配置文件。
全局配置文件可以是mainfest.xml,全局配置文件mainfest.xml是位于APP应用的根目录下,可以描述APP应用中的全局数据。其中,全局数据可以包括APP应用中暴露的组件(activities、services等),以及它们各自的实现类,各种能被处理的数据和启动位置等重要信息。
其中,APP应用中的SDK权限的申请情况也存在于全局数据中。
在步骤S1012中,基于APP应用的全局配置文件,得到APP应用中SDK权限的申请情况。
其中,全局配置文件mainfest.xml中声明的SDK权限为APP应用中已申请的SDK权限。全局配置文件mainfest.xml中未声明的SDK权限为APP应用中未申请的SDK权限。
图3是根据本公开的一示例性实施例的一种应用检测方法中获取应用中SDK权限申请情况和SDK权限使用情况的流程图。
在本公开一示例性实施例中,如图3所示,本公开提供的应用检测方法,除了包括如图2所示的步骤S1011、步骤S1012和步骤S102之外,在步骤S101中,获取APP应用中SDK权限的使用情况,可以包括步骤S1013和步骤S1014。下面将分别介绍步骤S1013和步骤S1014。
在步骤S1013中,反编译APP应用,以获取APP应用的SDK的应用程序接口API源码。
其中,APP应用中的每一SDK对应有至少一个API源码。
API,可以理解为是提供用户编程时的接口,是一些预先定义的函数。其目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
在实际应用过程中,SDK通过调用相应的应用程序接口API来实现APP应用的某些功能。SDK权限与应用程序接口API是相对应的。因此,SDK权限的使用情况可以通过判断是否调用了相应的应用程序接口API来确定。
若调用了某一应用程序接口API,则表示与该应用程序接口API对应的SDK权限已使用;若未调用某一应用程序接口API,则表示与该应用程序接口API对应的SDK权限未使用。
在步骤S1014中,基于SDK的API源码,得到APP应用中SDK权限的使用情况。
通过应用程序接口API源码,可以得到调用的应用程序接口API,以及应用程序接口API对应的SDK权限。
其中,应用程序接口API源码中声明的SDK权限为APP应用中已使用的SDK权限;应用程序接口API源码中未声明的SDK权限为APP应用中未使用的SDK权限。
在本公开一示例性实施例中,在步骤S1013中,可以通过反编译工具dex2jar或jd-gui反编译APP应用,以得到SDK的API源码。
进一步的,基于SDK的API源码,得到APP应用中SDK权限的使用情况。并根据SDK权限的申请情况和SDK权限的使用情况,检测SDK权限的合规性。
图4是根据本公开的一示例性实施例的另一种应用检测方法的流程图。
在本公开一示例性实施例中,如图4所示,本公开提供的应用检测方法,除了包括如图3所示的步骤S1011、步骤S1012、步骤S1013、步骤S1014和步骤S102之外,在步骤S102中,基于SDK权限的申请情况和SDK权限的使用情况,检测SDK权限的合规性,可以包括步骤S1021、步骤S1022和步骤S1023。下面将分别介绍步骤S1021、步骤S1022和步骤S1023。
在步骤S1021中,将APP应用中SDK权限申请情况为已申请的SDK权限,与应用中SDK权限使用情况为已使用的SDK权限,进行比对。
在步骤S1022中,若已申请的SDK权限和已使用的SDK权限一致,则确定SDK权限为合规。
在步骤S1023中,若已申请的SDK权限和已使用的SDK权限不一致,则确定SDK权限为不合规。
现以下例说明本公开实施例涉及的应用检测方法。
在APP应用中,已申请的SDK权限包括SDK权限I、SDK权限II和SDK权限III。若已使用的SDK权限包括SDK权限I、SDK权限III和SDK IV。
对于SDK权限I而言,SDK权限I为已申请的权限,并且SDK权限I为已使用的权限,因此,可以确定SDK权限I为合规。
对于SDK权限II而言,SDK权限II为已申请的权限,但SDK权限II并未使用,因此,可以确定SDK权限II为不合规。
对于SDK权限III而言,SDK权限III为已申请的权限,并且SDK权限III为已使用的权限,因此,可以确定SDK权限I为合规。
对于SDK权限IV而言,SDK权限IV为未申请的权限,但SDK权限IV为已使用,因此,可以确定SDK权限II为不合规。
在本公开一示例性实施例中,若已申请的SDK权限和已使用的SDK权限不一致,则确定SDK权限为不合规包括:若已申请的SDK权限为未使用的SDK权限,则SDK权限为冗余使用权限;若已使用的SDK权限为未申请的SDK权限,则SDK权限为过度使用权限。
同样以上述示例为例,对于权限不合规的SDK权限II而言,由于SDK权限II为已申请的权限,但SDK权限II并未使用,因此可以确定SDK权限II为冗余使用权限。
可以理解为,在APP应用中,SDK权限II并非实现该APP应用的功能所必须的权限,因此,在后期对APP应用进行系统优化时,可以将非必须的SDK权限II从申请的SDK权限列表中删除,以减少APP应用对资源的占用。
对于权限不合规的SDK权限IV而言,由于SDK权限IV为未申请的权限,但SDK权限IV为已使用,因此,可以确定SDK权限II为过度使用权限。
可以理解为,在APP应用中,SDK权限IV为实现该APP应用的功能所必须的权限,因此,在后期对APP应用进行系统优化时,可以将必须的SDK权限IV添加到申请的SDK权限列表中,以保证对SDK权限IV的合规使用。
基于相同的发明构思,本公开实施例还提供一种应用检测装置。
可以理解的是,本公开实施例提供的应用检测装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本公开实施例中所公开的各示例的单元及算法步骤,本公开实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本公开实施例的技术方案的范围。
图5是根据一示例性实施例示出的一种应用检测装置的框图。
如图5所示,应用检测装置包括:获取模块201和处理模块202。下面对各模块的具体情况进行介绍。
获取模块201,用于获取应用中软件开发工具包SDK权限申请情况和SDK权限使用情况,SDK权限申请情况包括SDK权限已申请和SDK权限未申请,SDK权限使用情况包括SDK权限已使用和SDK权限未使用。
处理模块202,用于基于SDK权限的申请情况和SDK权限的使用情况,检测SDK权限的合规性。
在本公开一示例性实施例中,获取模块201用于:反编译应用,以获取应用的全局配置文件;基于应用的全局配置文件,得到应用中SDK权限的申请情况;其中,全局配置文件中声明的SDK权限为应用中已申请的SDK权限,全局配置文件中未声明的SDK权限为应用中未申请的SDK权限。
在本公开一示例性实施例中,获取模块201用于:反编译应用,以获取应用的SDK的应用程序接口API源码,其中,应用中的每一SDK对应有至少一个API源码;基于SDK的API源码,得到应用中SDK权限的使用情况;其中,API源码中声明的SDK权限为应用中已使用的SDK权限,API源码中未声明的SDK权限为应用中未使用的SDK权限。
在本公开一示例性实施例中,获取模块201用于:通过dex2jar或jd-gui反编译应用,得到SDK的API源码。
在本公开一示例性实施例中,处理模块202用于:将应用中SDK权限申请情况为已申请的SDK权限,与应用中SDK权限使用情况为已使用的SDK权限,进行比对;若已申请的SDK权限和已使用的SDK权限一致,则确定SDK权限为合规;若已申请的SDK权限和已使用的SDK权限不一致,则确定SDK权限为不合规。
在本公开一示例性实施例中,处理模块202用于:将应用中SDK权限申请情况为已申请的SDK权限,与应用中SDK权限使用情况为已使用的SDK权限,进行比对;若已申请的SDK权限为未使用的SDK权限,则SDK权限为冗余使用权限;若已使用的SDK权限为未申请的SDK权限,则SDK权限为过度使用权限。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种用于应用检测方法的装置的框图。例如,用于应用检测的装置可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,用于应用检测的装置可以包括以下一个或多个组件:处理组件1302,存储器1304,电力组件1306,多媒体组件1308,音频组件1310,输入/输出(I/O)的接口1312,传感器组件1314,以及通信组件1316。
处理组件1302通常控制装置的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1302可以包括一个或多个处理器1320来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1302可以包括一个或多个模块,便于处理组件1302和其他组件之间的交互。例如,处理组件1302可以包括多媒体模块,以方便多媒体组件1308和处理组件1302之间的交互。
存储器1304被配置为存储各种类型的数据以支持在设备的操作。这些数据的示例包括用于在用于应用检测的装置上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件1306为装置的各种组件提供电力。电力组件1306可以包括电源管理系统,一个或多个电源,及其他与为装置生成、管理和分配电力相关联的组件。
多媒体组件1308包括在所述用于应用检测的装置和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1308包括一个前置摄像头和/或后置摄像头。当设备处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1310被配置为输出和/或输入音频信号。例如,音频组件1310包括一个麦克风(MIC),当用于应用检测的装置处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1304或经由通信组件816发送。在一些实施例中,音频组件1310还包括一个扬声器,用于输出音频信号。
I/O接口1312为处理组件1302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1314包括一个或多个传感器,用于为用于应用检测的装置提供各个方面的状态评估。例如,传感器组件1314可以检测到设备的打开/关闭状态,组件的相对定位,例如所述组件为用于应用检测的装置的显示器和小键盘,传感器组件1314还可以检测用于应用检测的装置或用于应用检测的装置一个组件的位置改变,用户与用于笔记本书写信息处理的装置接触的存在或不存在,用于应用检测的装置方位或加速/减速和装置的温度变化。传感器组件1314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1314还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1316被配置为便于装置和其他设备之间有线或无线方式的通信。用于应用检测的装置可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1316还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,用于应用检测的装置可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1304,上述指令可由用于应用检测的装置的处理器1320执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1304,上述指令可由用于应用检测的装置的处理器1320执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
进一步可以理解的是,本公开中“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
进一步可以理解的是,本公开实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (16)

1.一种应用检测方法,其特征在于,包括:
获取应用中软件开发工具包SDK权限申请情况和SDK权限使用情况;
基于所述SDK权限的申请情况和所述SDK权限的使用情况,检测所述SDK权限的合规性。
2.根据权利要求1所述的应用检测方法,其特征在于,
所述SDK权限申请情况包括SDK权限已申请和SDK权限未申请;
所述SDK权限使用情况包括SDK权限已使用和SDK权限未使用。
3.根据权利要求1所述的应用检测方法,其特征在于,所述获取应用中SDK权限申请情况,包括:
反编译所述应用,以获取所述应用的全局配置文件;
基于所述应用的所述全局配置文件,得到所述应用中所述SDK权限的申请情况;
其中,所述全局配置文件中声明的所述SDK权限为所述应用中已申请的SDK权限,所述全局配置文件中未声明的所述SDK权限为所述应用中未申请的SDK权限。
4.根据权利要求1所述的应用检测方法,其特征在于,所述获取应用中SDK权限的使用情况,包括:
反编译所述应用,以获取所述应用的SDK的应用程序接口API源码,其中,所述应用中的每一SDK对应有至少一个API源码;
基于所述SDK的API源码,得到所述应用中所述SDK权限的使用情况;
其中,所述API源码中声明的所述SDK权限为所述应用中已使用的SDK权限,所述API源码中未声明的所述SDK权限为所述应用中未使用的SDK权限。
5.根据权利要求4所述的应用检测方法,其特征在于,所述反编译所述应用,以获取所述应用的SDK的API源码,包括:
通过dex2jar或jd-gui反编译所述应用,得到所述SDK的API源码。
6.根据权利要求1至5中任意一项所述的应用检测方法,其特征在于,基于所述SDK权限的申请情况和所述SDK权限的使用情况,检测所述SDK权限的合规性,包括:
将应用中SDK权限申请情况为已申请的SDK权限,与应用中SDK权限使用情况为已使用的SDK权限,进行比对;
若所述已申请的SDK权限和所述已使用的SDK权限一致,则确定所述SDK权限为合规;
若所述已申请的SDK权限和所述已使用的SDK权限不一致,则确定所述SDK权限为不合规。
7.根据权利要求6所述的应用检测方法,其特征在于,若所述已申请的SDK权限和所述已使用的SDK权限不一致,则确定所述SDK权限为不合规包括:
若所述已申请的SDK权限为未使用的SDK权限,则所述SDK权限为冗余使用权限;
若所述已使用的SDK权限为未申请的SDK权限,则所述SDK权限为过度使用权限。
8.一种应用检测装置,其特征在于,包括:
获取模块,用于获取应用中软件开发工具包SDK权限申请情况和SDK权限使用情况;
处理模块,用于基于所述SDK权限的申请情况和所述SDK权限的使用情况,检测所述SDK权限的合规性。
9.根据权利要求8所述的应用检测装置,其特征在于,所述SDK权限申请情况包括SDK权限已申请和SDK权限未申请;
所述SDK权限使用情况包括SDK权限已使用和SDK权限未使用。
10.根据权利要求8所述的应用检测装置,其特征在于,所述获取模块用于:
反编译所述应用,以获取所述应用的全局配置文件;
基于所述应用的所述全局配置文件,得到所述应用中所述SDK权限的申请情况;
其中,所述全局配置文件中声明的所述SDK权限为所述应用中已申请的SDK权限,所述全局配置文件中未声明的所述SDK权限为所述应用中未申请的SDK权限。
11.根据权利要求8所述的应用检测装置,其特征在于,所述获取模块用于:
反编译所述应用,以获取所述应用的SDK的应用程序接口API源码,其中,所述应用中的每一SDK对应有至少一个API源码;
基于所述SDK的API源码,得到所述应用中所述SDK权限的使用情况;
其中,所述API源码中声明的所述SDK权限为所述应用中已使用的SDK权限,所述API源码中未声明的所述SDK权限为所述应用中未使用的SDK权限。
12.根据权利要求11所述的应用检测装置,其特征在于,所述获取模块用于:
通过dex2jar或jd-gui反编译所述应用,得到所述SDK的API源码。
13.根据权利要求8至12中任意一项所述的应用检测装置,其特征在于,所述处理模块用于:
将应用中SDK权限申请情况为已申请的SDK权限,与应用中SDK权限使用情况为已使用的SDK权限,进行比对;
若所述已申请的SDK权限和所述已使用的SDK权限一致,则确定所述SDK权限为合规;
若所述已申请的SDK权限和所述已使用的SDK权限不一致,则确定所述SDK权限为不合规。
14.根据权利要求13所述的应用检测装置,其特征在于,所述处理模块用于:
将应用中SDK权限申请情况为已申请的SDK权限,与应用中SDK权限使用情况为已使用的SDK权限,进行比对;
若所述已申请的SDK权限为未使用的SDK权限,则所述SDK权限为冗余使用权限;
若所述已使用的SDK权限为未申请的SDK权限,则所述SDK权限为过度使用权限。
15.一种应用检测装置,其特征在于,所述应用检测装置包括:
存储器,配置用于存储指令;以及
处理器,配置用于调用所述指令执行权利要求1至7中任意一项所述的应用检测方法。
16.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时,执行权利要求1至7中任意一项所述的应用检测方法。
CN202010006516.2A 2020-01-03 2020-01-03 应用检测方法、应用检测装置及存储介质 Active CN111240694B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010006516.2A CN111240694B (zh) 2020-01-03 2020-01-03 应用检测方法、应用检测装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010006516.2A CN111240694B (zh) 2020-01-03 2020-01-03 应用检测方法、应用检测装置及存储介质

Publications (2)

Publication Number Publication Date
CN111240694A true CN111240694A (zh) 2020-06-05
CN111240694B CN111240694B (zh) 2024-01-09

Family

ID=70877626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010006516.2A Active CN111240694B (zh) 2020-01-03 2020-01-03 应用检测方法、应用检测装置及存储介质

Country Status (1)

Country Link
CN (1) CN111240694B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257114A (zh) * 2020-12-02 2021-01-22 支付宝(杭州)信息技术有限公司 一种应用程序隐私合规检测方法、装置、设备和介质
CN112749088A (zh) * 2021-01-13 2021-05-04 挂号网(杭州)科技有限公司 应用程序检测方法、装置、电子设备和存储介质
CN115879149A (zh) * 2022-12-01 2023-03-31 武汉卓讯互动信息科技有限公司 一种App隐私合规安全检测方法和检测平台
CN117235771A (zh) * 2023-11-07 2023-12-15 荣耀终端有限公司 一种应用程序的权限管控方法和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809974A (zh) * 2014-02-12 2014-05-21 Tcl集团股份有限公司 一种应用自动审核的方法、装置及云服务器
CN104462970A (zh) * 2014-12-17 2015-03-25 中国科学院软件研究所 一种基于进程通信的Android应用程序权限滥用检测方法
CN106125887A (zh) * 2016-06-22 2016-11-16 乐视控股(北京)有限公司 一种权限检测的方法及电子设备
CN109598127A (zh) * 2018-12-07 2019-04-09 百度在线网络技术(北京)有限公司 隐私风险评估方法和装置
CN111221733A (zh) * 2020-01-06 2020-06-02 北京小米移动软件有限公司 信息处理方法、装置、移动终端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809974A (zh) * 2014-02-12 2014-05-21 Tcl集团股份有限公司 一种应用自动审核的方法、装置及云服务器
CN104462970A (zh) * 2014-12-17 2015-03-25 中国科学院软件研究所 一种基于进程通信的Android应用程序权限滥用检测方法
CN106125887A (zh) * 2016-06-22 2016-11-16 乐视控股(北京)有限公司 一种权限检测的方法及电子设备
CN109598127A (zh) * 2018-12-07 2019-04-09 百度在线网络技术(北京)有限公司 隐私风险评估方法和装置
CN111221733A (zh) * 2020-01-06 2020-06-02 北京小米移动软件有限公司 信息处理方法、装置、移动终端及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257114A (zh) * 2020-12-02 2021-01-22 支付宝(杭州)信息技术有限公司 一种应用程序隐私合规检测方法、装置、设备和介质
CN112749088A (zh) * 2021-01-13 2021-05-04 挂号网(杭州)科技有限公司 应用程序检测方法、装置、电子设备和存储介质
CN112749088B (zh) * 2021-01-13 2023-02-17 挂号网(杭州)科技有限公司 应用程序检测方法、装置、电子设备和存储介质
CN115879149A (zh) * 2022-12-01 2023-03-31 武汉卓讯互动信息科技有限公司 一种App隐私合规安全检测方法和检测平台
CN117235771A (zh) * 2023-11-07 2023-12-15 荣耀终端有限公司 一种应用程序的权限管控方法和电子设备
CN117235771B (zh) * 2023-11-07 2024-04-23 荣耀终端有限公司 一种应用程序的权限管控方法和电子设备

Also Published As

Publication number Publication date
CN111240694B (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
EP3418885B1 (en) Method and device for calling software development kit
EP3306441B1 (en) Temperature control method and apparatus
CN111240694B (zh) 应用检测方法、应用检测装置及存储介质
EP2998899A1 (en) Method and apparatus for running application program
CN108764003B (zh) 图片识别方法及装置
US20160077819A1 (en) Method and device for running application program
CN111221733A (zh) 信息处理方法、装置、移动终端及存储介质
CN109117144B (zh) 页面处理方法、装置、终端及存储介质
CN107463372B (zh) 一种数据驱动的页面更新方法和装置
EP3142337A1 (en) Method and apparatus for installing application and smart device using them
CN111580824B (zh) 程序优化方法、装置及存储介质
CN111090463B (zh) 资源标识方法及装置、计算机存储介质
CN110515623B (zh) 图形操作实现方法、装置、电子设备及存储介质
CN107861666B (zh) 桌面应用安装方法及装置
CN112083841B (zh) 信息输入方法、装置和存储介质
CN113805763A (zh) 权限授权方法、装置及存储介质
CN113805978A (zh) 权限显示方法、装置及存储介质
CN112631695A (zh) 一种数据校验方法、装置、电子设备及存储介质
CN111597106A (zh) 一种埋点管理方法及装置
CN114489641B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN108536427B (zh) 应用程序的编译方法及装置
EP3211868A1 (en) Method and device for processing information
CN110347394B (zh) 软件代码解析方法及装置
CN111767249B (zh) 确定函数自身运行时间的方法及装置
CN107784224B (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
GR01 Patent grant
GR01 Patent grant