CN114398164A - 在应用程序检测终端处执行的方法及应用程序检测终端 - Google Patents

在应用程序检测终端处执行的方法及应用程序检测终端 Download PDF

Info

Publication number
CN114398164A
CN114398164A CN202210041307.0A CN202210041307A CN114398164A CN 114398164 A CN114398164 A CN 114398164A CN 202210041307 A CN202210041307 A CN 202210041307A CN 114398164 A CN114398164 A CN 114398164A
Authority
CN
China
Prior art keywords
application
programming interface
application program
detection
application programming
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
Application number
CN202210041307.0A
Other languages
English (en)
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 Tendcloud Tianxia Technology Co ltd
Original Assignee
Beijing Tendcloud Tianxia Technology 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 Tendcloud Tianxia Technology Co ltd filed Critical Beijing Tendcloud Tianxia Technology Co ltd
Priority to CN202210041307.0A priority Critical patent/CN114398164A/zh
Publication of CN114398164A publication Critical patent/CN114398164A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

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

Abstract

一种在应用程序检测终端处执行的方法、应用程序检测终端、在应用程序检测服务器处执行的方法、应用程序检测服务器、电子设备、存储介质和程序产品。在应用程序检测终端处执行的方法包括:响应于接收到来自应用程序检测服务器的待检测应用程序安装包,安装所述待检测应用程序安装包对应的应用程序;运行已安装的所述应用程序;响应于所述至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用,获取该目标应用编程接口的调用信息,其中,所述调用信息包括调用该目标应用编程接口的堆栈信息;以及将所述至少一个目标应用编程接口的调用信息发送给所述应用程序检测服务器。

Description

在应用程序检测终端处执行的方法及应用程序检测终端
技术领域
本公开涉及计算机技术领域,具体涉及软件安全技术,特别涉及一种在应用程序检测终端处执行的方法、应用程序检测终端、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
在应用程序开发过程中,可能面临应用程序合规(例如,隐私保护)方面的风险,亟需进行相关检测,以帮助开发者进行整改。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种在应用程序检测终端处执行的方法、在应用程序检测服务器处执行的方法、应用程序检测终端、应用程序检测服务器、应用程序检测系统、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种在应用程序检测终端处执行的方法,包括:响应于接收到来自应用程序检测服务器的待检测应用程序安装包,安装所述待检测应用程序安装包对应的应用程序;运行已安装的所述应用程序;响应于所述至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用,获取该目标应用编程接口的调用信息,其中,所述调用信息包括调用该目标应用编程接口的堆栈信息;以及将所述至少一个目标应用编程接口的调用信息发送给所述应用程序检测服务器。
根据本公开的另一方面,提供了一种在应用程序检测服务器处执行的方法,包括:响应于对待检测应用程序安装包进行检测的检测请求,将所述待检测应用程序安装包发送给应用程序检测终端,以使得所述应用程序检测终端安装和运行所述待检测应用程序安装包对应的应用程序,且获取与至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用有关的调用信息,其中,所述应用程序检测终端安装有操作系统,并且所述操作系统包括所述至少一个目标应用编程接口;接收来自所述应用程序检测终端的所述至少一个目标应用编程接口的调用信息;以及基于所述至少一个目标应用编程接口的调用信息,生成所述应用程序的检测结果。
根据本公开的另一方面,提供了一种应用程序检测终端,所述应用程序检测终端安装有操作系统,并且所述操作系统包括至少一个目标应用编程接口,所述应用程序检测终端包括:安装单元,被配置用于响应于接收到来自应用程序检测服务器的待检测应用程序安装包,安装所述待检测应用程序安装包对应的应用程序;运行单元,被配置用于运行已安装的所述应用程序;获取单元,被配置用于响应于所述至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用,获取该目标应用编程接口的调用信息,其中,所述调用信息包括调用该目标应用编程接口的堆栈信息;以及发送单元,被配置用于将所述至少一个目标应用编程接口的调用信息发送给所述应用程序检测服务器。
根据本公开的另一方面,提供了一种应用程序检测服务器,包括:发送单元,被配置用于响应于对待检测应用程序安装包进行检测的检测请求,将所述待检测应用程序安装包发送给应用程序检测终端,以使得所述应用程序检测终端安装和运行所述待检测应用程序安装包对应的应用程序,且获取与至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用有关的调用信息,其中,所述应用程序检测终端安装有操作系统,并且所述操作系统包括所述至少一个目标应用编程接口;接收单元,被配置用于接收来自所述应用程序检测终端的所述至少一个目标应用编程接口的调用信息;以及生成单元,被配置用于基于所述至少一个目标应用编程接口的调用信息,生成所述应用程序的检测结果。
根据本公开的另一方面,提供了一种应用程序检测系统,包括如上所述的应用程序检测服务器和至少一个如上所述的应用程序检测终端。
根据本公开的另一方面,提供了一种电子设备,包括:存储器、处理器以及存储在存储器上的计算机程序,其中,处理器被配置为执行计算机程序以实现如本公开中所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开中所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序被处理器执行时实现如本公开中所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
图2示出了根据本公开示例性实施例的应用程序检测系统的结构框图;
图3示出了根据本公开示例性实施例的应用程序检测方法的交互流程图;
图4示出了根据本公开示例性实施例的在应用程序检测终端处执行的方法的流程图;
图5示出了根据本公开示例性实施例的在应用程序检测服务器处执行的方法的流程图;
图6示出了根据本公开示例性实施例的应用程序检测终端的结构框图;
图7示出了根据本公开示例性实施例的应用程序检测服务器的结构框图;
图8示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一示例,而在某些情况下,基于上下文的描述,它们也可以指代不同示例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在应用程序开发过程中,可能面临隐私保护合规方面的风险,亟需进行相关检测,明确应用程序中具体涉及隐私敏感信息的调用者模块,以帮助开发者进行整改。相关技术中,通常是通过定制终端操作系统,并运行待检测应用程序来实现对应用程序的检测,实现难度和复杂度较高。
基于此,本公开提供了一种在应用程序检测终端处执行的方法,通过记录应用程序运行过程中调用目标应用编程接口的堆栈信息,帮助用户明确应用程序中相应的调用者信息,以作为应用程序开发过程中的参考。
下面将结合附图详细描述本公开的实施例。
图1示出了根据示例性实施例的可以在其中实施本文描述的各种方法的示例系统100的示意图。
参考图1,该系统100包括客户端设备110、服务器120、以及将客户端设备110与服务器120通信地耦合的网络130。
客户端设备110包括显示器114和可经由显示器114显示的客户端应用(APP)112。客户端应用112可以为运行前需要下载和安装的应用程序或者作为轻量化应用程序的小程序(lite app)。在客户端应用112为运行前需要下载和安装的应用程序的情况下,客户端应用112可以被预先安装在客户端设备110上并被激活。在客户端应用112为小程序的情况下,用户102可以通过在宿主应用中搜索客户端应用112(例如,通过客户端应用112的名称等)或扫描客户端应用112的图形码(例如,条形码、二维码等)等方式,在客户端设备110上直接运行客户端应用112,而无需安装客户端应用112。在一些实施例中,客户端设备110可以是任何类型的移动电子设备,包括移动计算机、移动电话、可穿戴式电子设备(例如智能手表、头戴式设备,包括智能眼镜,等)或其他类型的移动设备。在一些实施例中,客户端设备110可以替换地是固定式电子设备,例如台式机、服务器计算机或其他类型的固定式电子设备。
服务器120典型地为由互联网服务提供商(ISP)或互联网内容提供商(ICP)部署的服务器。服务器120可以代表单台服务器、多台服务器的集群、分布式系统、或者提供基础云服务(诸如云数据库、云计算、云存储、云通信)的云服务器。将理解的是,虽然图1中示出服务器120与仅一个客户端设备110通信,但是服务器120可以同时为多个客户端设备提供后台服务。
网络130的示例包括局域网(LAN)、广域网(WAN)、个域网(PAN)、和/或诸如互联网之类的通信网络的组合。网络130可以是有线或无线网络。在一些实施例中,使用包括超文本标记语言(HTML)、可扩展标记语言(XML)等的技术和/或格式来处理通过网络130交换的数据。此外,还可以使用诸如安全套接字层(SSL)、传输层安全(TLS)、虚拟专用网络(VPN)、网际协议安全(IPsec)等加密技术来加密所有或者一些链路。在一些实施例中,还可以使用定制和/或专用数据通信技术来取代或者补充上述数据通信技术。
为了本公开实施例的目的,在图1的示例中,客户端应用112可以为发送对待检测应用程序安装包进行检测的检测请求以及接收并展示服务器120所返回的所述应用程序的检测结果的应用程序。与此相应,服务器120可以是与发送对待检测应用程序安装包进行检测的检测请求以及接收并展示所述应用程序的检测结果的应用程序一起使用的服务器。该服务器120可以向客户端设备110中运行的客户端应用112提供应用程序检测功能。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
图2示出了根据本公开示例性实施例的应用程序检测系统200的结构框图。如图2所示,所述应用程序检测系统200包括应用程序检测服务器201和至少一个应用程序检测终端202。所述应用程序检测服务器201被配置用于接收应用程序检测请求并执行与所述应用程序检测终端202的交互操作,以接收所述应用程序检测终端所发送的信息,并基于此生成应用程序的检测结果。所述应用程序检测终端202安装有操作系统,并且所述操作系统包括至少一个目标应用编程接口。
在本公开的各个实施例中,应用程序检测终端可以但不限于是便携式手持设备、通用计算机、可穿戴设备、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些设备可以运行各种类型和版本的软件应用程序和操作系统。
在一些实施例中,所述目标应用编程接口为终端操作系统中涉及隐私敏感权限的应用编程接口(Application Programming Interface,API)。所述终端中所安装的应用程序能够在运行过程中通过调用终端操作系统的应用编程接口来操纵终端中的各类资源,以实现自己的运行目的。示例性地,所述应用程序的运行过程可以是在终端操作系统的前台运行,也可以是在终端操作系统的后台运行。
示例性地,所述目标应用编程接口可以是人工定义的列表中所包括的应用编程接口。例如,当所述终端为智能手机,所述操作系统为Android系统,则可以将与定位权限、摄像头权限相关的系列应用编程接口定义为目标应用编程接口。在这种情况下,所述目标应用编程接口可以包括与定位权限相关的系列应用编程接口(例如getLastKnownLocation)、与摄像头权限相关的系列应用编程接口等。
应当理解,通常而言,应用程序在运行过程中违规获取用户隐私信息时,需要通过调用操作系统中涉及隐私敏感权限的应用编程接口来实现。因此,可以通过获取待检测应用程序在运行过程中对涉及隐私敏感权限的应用编程接口的调用情况,来实现对待检测应用程序的检测。
示例性地,当所述应用程序检测系统200包括多个应用程序检测终端202时,可以由所述应用程序检测服务器201实现对应用程序检测任务的调度分配。例如,所述应用程序检测服务器201在接收应用程序检测请求之后,获取所述多个应用程序检测终端202的工作状态,将其中一个空闲的应用程序检测终端202确定为目标应用程序检测终端,并执行与所述目标应用程序检测终端的交互操作,以实现对待检测应用程序的检测。
图3示出了根据本公开示例性实施例的应用程序检测方法的交互流程图。如图3所示,所述应用程序检测方法由应用程序检测系统执行,所述应用程序检测系统包括应用程序检测服务器和应用程序检测终端。所述方法包括:所述应用程序检测服务器响应于接收到客户端所发送的对待检测应用程序安装包进行检测的检测请求,执行步骤S301:将所述待检测应用程序安装包发送给应用程序检测终端,以使得所述应用程序检测终端执行步骤S302~S305。
具体地,所述步骤S302~S305包括:
步骤S302:安装所述待检测应用程序安装包对应的应用程序;
步骤S303:运行已安装的所述应用程序;
步骤S304:响应于所述至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用,获取该目标应用编程接口的调用信息;
步骤S305:将所述至少一个目标应用编程接口的调用信息发送给应用程序检测服务器。
所述应用程序检测服务器响应于接收到应用程序检测终端所发送的所述至少一个目标应用编程接口的调用信息,执行步骤S306:基于所述至少一个目标应用编程接口的调用信息,生成所述应用程序的检测结果,并将所述应用程序的检测结果返回给客户端。
通过记录应用程序运行过程中对目标应用编程接口的调用信息,能够实现对待检测应用程序的检测,并将所述应用程序的检测结果返回给客户端,供用户参考。
根据本公开的一方面,提供了一种在应用程序检测终端处执行的方法。图4示出了根据本公开示例性实施例的在应用程序检测终端处执行的方法的流程图。如图4所示,所述方法包括:
步骤S401、响应于接收到来自应用程序检测服务器的待检测应用程序安装包,安装所述待检测应用程序安装包对应的应用程序;
步骤S402、运行已安装的所述应用程序;
步骤S403、响应于所述至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用,获取该目标应用编程接口的调用信息,其中,所述调用信息包括调用该目标应用编程接口的堆栈信息;以及
步骤S404、将所述至少一个目标应用编程接口的调用信息发送给所述应用程序检测服务器。
由此,能够通过记录应用程序运行过程中调用目标应用编程接口的堆栈信息,帮助用户明确应用程序中相应的调用者信息,以作为应用程序开发过程中的参考。
在一些实施例中,所述堆栈信息是记录当前应用程序运行时的详细调用关系的信息,能够展示详细的调用轨迹,从而能够明确应用程序中相应的调用者信息。
应当理解,所述待检测的应用程序可能包括多个代码模块或第三方软件开发工具包,通过获取调用目标应用编程接口的堆栈信息并返回给用户,能够令用户获取详细的调用轨迹,从而能够快速从所述待检测的应用程序中定位到相应的调用目标应用编程接口的代码模块或软件开发工具包,以及定位相应的代码位置,以作为用户在应用程序开发过程中的参考。
示例性地,所述目标应用编程接口的调用信息还可以包括相应的目标应用编程接口名称、应用程序名称、调用行为发生的时间戳信息等。由此,能够更充分、完整地生成对所述应用程序的检测结果,以供用户参考。
根据一些实施例,所述操作系统包括Android系统。可以理解,Android系统集成了多种涉及终端系统隐私敏感权限的应用编程接口,通过运行待检测的应用程序并记录相应的目标应用编程接口的调用信息,能够实现对Android系统中的应用程序的检测。
应当理解,所述操作系统不限于Android系统,其可以是任何类型的操作系统,例如MICROSOFT Windows、APPLE iOS、类UNIX操作系统,Linux或类Linux操作系统(诸如GOOGLE Chrome OS);或包括各种移动操作系统,例如MICROSOFT Windows Mobile OS、iOS、Windows Phone等。只要其中包括可被调用的目标应用编程接口,并且能够实现相应的待检测应用程序的安装和运行,对具体的操作系统的类型不作限制。
根据一些实施例,所述应用程序检测终端安装有监测应用程序,并且所述步骤S403中获取该目标应用编程接口的调用信息包括:利用所述监测应用程序监测该目标应用编程接口是否被调用;以及响应于所述监测应用程序监测到该目标应用编程接口被调用,利用所述监测应用程序记录该目标应用编程接口的调用信息。由此,通过安装相应的应用程序,即可实现所述在应用程序检测终端执行的方法的应用,从而能够提升应用程序检测的便捷性,充分满足实际应用场景的需求。
示例性地,当所述操作系统为Android系统时,所述监测应用程序可以是基于VirtualXposed开源框架开发的hook插件。所述VirtualXposed开源框架能够在Android系统终端上创建一个模拟的应用程序运行环境,利用hook插件监测并记录所述应用程序在所述模拟的应用程序运行环境中运行时目标应用编程接口的调用信息。
应当理解,上述对监测应用程序的具体实现方式的说明仅是对所述在应用程序检测终端处执行的方法的示例,只要能够实现对目标应用编程接口的调用信息的监测和记录,对所述监测应用程序的类型和实现方式不作限制。
根据本公开的另一方面,提供了一种在应用程序检测服务器处执行的方法。图5示出了根据本公开示例性实施例的在应用程序检测服务器处执行的方法的流程图。如图5所示,所述方法包括:
步骤S501、响应于对待检测应用程序安装包进行检测的检测请求,将所述待检测应用程序安装包发送给应用程序检测终端,以使得所述应用程序检测终端安装和运行所述待检测应用程序安装包对应的应用程序,且获取与至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用有关的调用信息,其中,所述应用程序检测终端安装有操作系统,并且所述操作系统包括所述至少一个目标应用编程接口;
步骤S502、接收来自所述应用程序检测终端的所述至少一个目标应用编程接口的调用信息;以及
步骤S503、基于所述至少一个目标应用编程接口的调用信息,生成所述应用程序的检测结果。
由此,能够通过执行与应用程序检测终端的交互操作,利用所述应用程序检测终端所获取和发送的目标应用编程接口的调用信息生成所述应用程序的检测结果,更加简便快捷。
根据一些实施例,所述步骤503中基于所述至少一个目标应用编程接口的调用信息,生成所述应用程序的检测结果包括:将所述至少一个目标应用编程接口的调用信息写入用于展示所述检测结果的页面。由此,能够直观地向用户展示所述应用程序的检测结果,以供用户参考。
示例性地,所述用于展示所述检测结果的页面可以是HTML页面,从而能够更简捷直观地向用户展示所述检测结果。
在一个示例中,所述目标应用编程接口的调用信息包括多个目标应用编程接口的调用信息,并且所述调用信息还包括相应的目标应用编程接口名称、应用程序名称、调用行为发生的时间戳信息等。在这种情况下,所述应用程序检测服务器可以根据目标应用编程接口名称、应用程序名称对所述目标应用编程接口的调用信息进行分类,并根据调用行为发生的时间戳信息进行排序,将分类和排序后的调用信息写入用于展示所述检测结果的页面并展示给用户,从而能够向用户展示简洁清晰的所述应用程序的检测结果,方便用户在应用程序开发过程中作为参考。
根据一些实施例,所述检测请求中包含有所述待检测应用程序安装包。由此,所述应用程序检测服务器能够将所述待检测应用程序安装包直接发送给应用程序检测终端,以使得所述应用程序检测终端能够利用所述待检测应用程序安装包来安装并运行待检测的应用程序。
根据本公开的另一方面,提供了一种应用程序检测终端,所述应用程序检测终端安装有操作系统,并且所述操作系统包括至少一个目标应用编程接口。图6示出了根据本公开示例性实施例的应用程序检测终端600的结构框图。如图6所示,所述应用程序检测终端600包括:
安装单元601,被配置用于响应于接收到来自应用程序检测服务器的待检测应用程序安装包,安装所述待检测应用程序安装包对应的应用程序;
运行单元602,被配置用于运行已安装的所述应用程序;
获取单元603,被配置用于响应于所述至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用,获取该目标应用编程接口的调用信息,其中,所述调用信息包括调用该目标应用编程接口的堆栈信息;以及
发送单元604,被配置用于将所述至少一个目标应用编程接口的调用信息发送给所述应用程序检测服务器。
应当理解,图6中所示应用程序检测终端600的各个单元的操作可以与图4描述的在应用程序检测终端处执行的方法中的各个步骤相对应。由此,上面针对在应用程序检测终端处执行的方法描述的操作、特征和优点同样适用于应用程序检测终端600及其包括的各个单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
根据一些实施例,所述操作系统包括Android系统。
根据一些实施例,所述应用程序检测终端安装有监测应用程序,并且所述获取单元603被配置用于:利用所述监测应用程序监测该目标应用编程接口是否被调用;以及响应于所述监测应用程序监测到该目标应用编程接口被调用,利用所述监测应用程序记录该目标应用编程接口的调用信息。
根据本公开的另一方面,提供了一种应用程序检测服务器。图7示出了根据本公开示例性实施例的应用程序检测服务器700的结构框图。如图7所示,所述应用程序检测服务器700包括:
发送单元701,被配置用于响应于对待检测应用程序安装包进行检测的检测请求,将所述待检测应用程序安装包发送给应用程序检测终端,以使得所述应用程序检测终端安装和运行所述待检测应用程序安装包对应的应用程序,且获取与至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用有关的调用信息,其中,所述应用程序检测终端安装有操作系统,并且所述操作系统包括所述至少一个目标应用编程接口;
接收单元702,被配置用于接收来自所述应用程序检测终端的所述至少一个目标应用编程接口的调用信息;以及
生成单元703,被配置用于基于所述至少一个目标应用编程接口的调用信息,生成所述应用程序的检测结果。
应当理解,图7中所示应用程序检测服务器700的各个单元的操作可以与图5描述的在应用程序检测服务器处执行的方法中的各个步骤相对应。由此,上面针对在应用程序检测服务器处执行的方法描述的操作、特征和优点同样适用于应用程序检测服务器700及其包括的各个单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
根据一些实施例,所述生成单元703被配置用于将所述至少一个目标应用编程接口的调用信息写入用于展示所述检测结果的页面。
根据一些实施例,所述检测请求中包含有所述待检测应用程序安装包。
根据本公开的另一方面,提供了一种应用程序检测系统,包括如上所述的应用程序检测服务器700和至少一个如上所述的应用程序检测终端600。
根据本公开的另一方面,提供了一种电子设备,包括:存储器、处理器以及存储在存储器上的计算机程序,其中,处理器被配置为执行计算机程序以实现如本公开中所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开中所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序被处理器执行时实现如本公开中所述的方法。
虽然上面参考特定单元讨论了特定功能,但是应当注意,本文讨论的各个单元的功能可以分为多个单元,和/或多个单元的至少一些功能可以组合成单个单元。本文讨论的特定单元执行动作包括该特定单元本身执行该动作,或者替换地该特定单元调用或以其他方式访问执行该动作(或结合该特定单元一起执行该动作)的另一个组件或单元。因此,执行动作的特定单元可以包括执行动作的该特定单元本身和/或该特定单元调用或以其他方式访问的、执行动作的另一单元。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图6或图7描述的各个单元可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些单元可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些单元可以被实现为硬件逻辑/电路。
图8示出了可以被用来实施本文所描述的方法的电子设备800的示例配置。举例来说,图1中所示的服务器120和/或客户端设备110可以包括类似于电子设备800的架构。上述应用程序检测终端和应用程序检测服务器也可以全部或至少部分地由电子设备800或类似设备或系统实现。
电子设备800可以是各种不同类型的设备,例如服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上系统、和/或任何其它合适的电子设备或计算系统。电子设备800的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等等。因此,电子设备800的范围可以从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持游戏控制台)。
电子设备800可以包括能够诸如通过系统总线814或其他适当的连接彼此通信的至少一个处理器802、存储器804、(多个)通信接口806、显示设备808、其他输入/输出(I/O)设备810以及一个或更多大容量存储设备812。
处理器802可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器802可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器802可以被配置成获取并且执行存储在存储器804、大容量存储设备812或者其他计算机可读介质中的计算机可读指令,诸如操作系统816的程序代码、应用程序818的程序代码、其他程序820的程序代码等。
存储器804和大容量存储设备812是用于存储指令的计算机可读存储介质的示例,所述指令由处理器802执行来实施前面所描述的各种功能。举例来说,存储器804一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,大容量存储设备812一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。存储器804和大容量存储设备812在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,所述计算机程序代码可以由处理器802作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
多个程序模块可以存储在大容量存储设备812上。这些程序包括操作系统816、一个或多个应用程序818、其他程序820和程序数据822,并且它们可以被加载到存储器804以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机程序代码或指令):安装单元601、运行单元602、获取单元603、发送单元604、发送单元701、接收单元702、生成单元703、在应用程序检测终端处执行的方法、在应用程序检测服务器处执行的方法和/或本文描述的另外的实施例。
模块816、818、820和822或者其部分可以使用可由电子设备800访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机存储介质和通信介质。
计算机存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,所述信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机存储介质包括而不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供电子设备访问的任何其他非传送介质。
与此相对,通信介质可以在诸如载波或其他传送机制之类的已调数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机存储介质不包括通信介质。
电子设备800还可以包括一个或更多通信接口806,以用于诸如通过网络、直接连接等等与其他设备交换数据,正如前面所讨论的那样。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。通信接口806可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等等)和无线网络(例如WLAN、蜂窝、卫星等等)、因特网等等。通信接口806还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
在一些示例中,可以包括诸如监视器之类的显示设备808,以用于向用户显示信息和图像。其他I/O设备810可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
虽然在附图和前面的描述中已经详细地说明和描述了本公开,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;本公开不限于所公开的实施例。通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除未列出的其他元件或步骤,并且词语“一”或“一个”不排除多个。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获益。

Claims (16)

1.一种在应用程序检测终端处执行的方法,其中,所述应用程序检测终端安装有操作系统,并且所述操作系统包括至少一个目标应用编程接口,所述方法包括:
响应于接收到来自应用程序检测服务器的待检测应用程序安装包,安装所述待检测应用程序安装包对应的应用程序;
运行已安装的所述应用程序;
响应于所述至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用,获取该目标应用编程接口的调用信息,其中,所述调用信息包括调用该目标应用编程接口的堆栈信息;以及
将所述至少一个目标应用编程接口的调用信息发送给所述应用程序检测服务器。
2.根据权利要求1所述的方法,其中,所述应用程序检测终端安装有监测应用程序,并且其中,所述获取该目标应用编程接口的调用信息包括:
利用所述监测应用程序监测该目标应用编程接口是否被调用;以及
响应于所述监测应用程序监测到该目标应用编程接口被调用,利用所述监测应用程序记录该目标应用编程接口的调用信息。
3.根据权利要求1或2所述的方法,其中,所述操作系统包括Android系统。
4.一种在应用程序检测服务器处执行的方法,包括:
响应于对待检测应用程序安装包进行检测的检测请求,将所述待检测应用程序安装包发送给应用程序检测终端,以使得所述应用程序检测终端安装和运行所述待检测应用程序安装包对应的应用程序,且获取与至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用有关的调用信息,其中,所述应用程序检测终端安装有操作系统,并且所述操作系统包括所述至少一个目标应用编程接口;
接收来自所述应用程序检测终端的所述至少一个目标应用编程接口的调用信息;以及
基于所述至少一个目标应用编程接口的调用信息,生成所述应用程序的检测结果。
5.根据权利要求4所述的方法,其中,所述基于所述至少一个目标应用编程接口的调用信息,生成所述应用程序的检测结果包括:
将所述至少一个目标应用编程接口的调用信息写入用于展示所述检测结果的页面。
6.根据权利要求4或5所述的方法,其中,所述检测请求中包含有所述待检测应用程序安装包。
7.一种应用程序检测终端,其中,所述应用程序检测终端安装有操作系统,并且所述操作系统包括至少一个目标应用编程接口,所述应用程序检测终端包括:
安装单元,被配置用于响应于接收到来自应用程序检测服务器的待检测应用程序安装包,安装所述待检测应用程序安装包对应的应用程序;
运行单元,被配置用于运行已安装的所述应用程序;
获取单元,被配置用于响应于所述至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用,获取该目标应用编程接口的调用信息,其中,所述调用信息包括调用该目标应用编程接口的堆栈信息;以及
发送单元,被配置用于将所述至少一个目标应用编程接口的调用信息发送给所述应用程序检测服务器。
8.根据权利要求7所述的应用程序检测终端,其中,所述应用程序检测终端安装有监测应用程序,并且其中,所述获取单元被配置用于:
利用所述监测应用程序监测该目标应用编程接口是否被调用;以及
响应于所述监测应用程序监测到该目标应用编程接口被调用,利用所述监测应用程序记录该目标应用编程接口的调用信息。
9.根据权利要求7或8所述的应用程序检测终端,其中,所述操作系统包括Android系统。
10.一种应用程序检测服务器,包括:
发送单元,被配置用于响应于对待检测应用程序安装包进行检测的检测请求,将所述待检测应用程序安装包发送给应用程序检测终端,以使得所述应用程序检测终端安装和运行所述待检测应用程序安装包对应的应用程序,且获取与至少一个目标应用编程接口中的任一目标应用编程接口在所述应用程序的运行期间被调用有关的调用信息,其中,所述应用程序检测终端安装有操作系统,并且所述操作系统包括所述至少一个目标应用编程接口;
接收单元,被配置用于接收来自所述应用程序检测终端的所述至少一个目标应用编程接口的调用信息;以及
生成单元,被配置用于基于所述至少一个目标应用编程接口的调用信息,生成所述应用程序的检测结果。
11.根据权利要求10所述的应用程序检测服务器,其中,所述生成单元被配置用于将所述至少一个目标应用编程接口的调用信息写入用于展示所述检测结果的页面。
12.根据权利要求10或11所述的应用程序检测服务器,其中,所述检测请求中包含有所述待检测应用程序安装包。
13.一种应用程序检测系统,包括根据权利要求10-12中任一项所述的应用程序检测服务器和至少一个根据权利要求7-9中任一项所述的应用程序检测终端。
14.一种电子设备,包括:
存储器、处理器以及存储在所述存储器上的计算机程序,
其中,所述处理器被配置为执行所述计算机程序以实现权利要求1-6中任一项所述的方法。
15.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令被计算机执行时使所述计算机执行根据权利要求1-6中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,其中,所述计算机程序被计算机执行时使所述计算机执行权利要求1-6中任一项所述的方法。
CN202210041307.0A 2022-01-14 2022-01-14 在应用程序检测终端处执行的方法及应用程序检测终端 Pending CN114398164A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210041307.0A CN114398164A (zh) 2022-01-14 2022-01-14 在应用程序检测终端处执行的方法及应用程序检测终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210041307.0A CN114398164A (zh) 2022-01-14 2022-01-14 在应用程序检测终端处执行的方法及应用程序检测终端

Publications (1)

Publication Number Publication Date
CN114398164A true CN114398164A (zh) 2022-04-26

Family

ID=81231797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210041307.0A Pending CN114398164A (zh) 2022-01-14 2022-01-14 在应用程序检测终端处执行的方法及应用程序检测终端

Country Status (1)

Country Link
CN (1) CN114398164A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780133A (zh) * 2022-05-13 2022-07-22 阿里巴巴(中国)有限公司 数据处理方法、电子设备及计算机程序产品

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780133A (zh) * 2022-05-13 2022-07-22 阿里巴巴(中国)有限公司 数据处理方法、电子设备及计算机程序产品

Similar Documents

Publication Publication Date Title
EP3966681B1 (en) Automated application updates during operating system upgrades
US20170244626A1 (en) Device and settings management platform
WO2018227822A1 (zh) 异常堆栈信息获取方法、装置及计算机可读存储介质
US9386079B2 (en) Method and system of virtual desktop infrastructure deployment studio
US8140905B2 (en) Incremental problem determination and resolution in cloud environments
EP3977268A1 (en) Update management service for enterprise computing environments
AU2019203361A1 (en) Application management platform
CN108427616B (zh) 后台程序监控方法及监控装置
US20160242024A1 (en) Purposed device management platform
US10459772B2 (en) System, method and computer program product for capturing touch events for a virtual mobile device platform
US20100229022A1 (en) Common troubleshooting framework
EP3614250A1 (en) Data processing method and electronic device
CN102306117B (zh) 一种硬件检测自动报警的方法及装置
CN109308241B (zh) 监听应用程序启动流程方法、装置、终端设备和存储介质
US20170286081A1 (en) Silent Installation of Software with Dependencies
KR20110052521A (ko) 정보 처리 장치, 통신 시스템, 컴퓨터 판독 가능 매체 및 정보 처리 방법
WO2015176352A1 (zh) 一种基于安卓系统的应用间信息交互方法及装置
CN111143873A (zh) 隐私数据处理方法、装置和终端设备
US10135684B2 (en) Differential staging of devices in bulk enrollment
CN109947659B (zh) 用于测试应用的系统、方法和装置
CN114398164A (zh) 在应用程序检测终端处执行的方法及应用程序检测终端
US20170075748A1 (en) System for monitoring a plurality of distributed devices
US10853215B2 (en) Intelligent configuration management of user devices
US11822452B2 (en) Dynamic remote collection of supplemental diagnostic data and triggering of client actions for client software application
US10966096B1 (en) Systems and methods for system recovery from a system user interface process malfunction

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40069146

Country of ref document: HK