CN106844532B - 一种应用程序获取方法和装置以及一种终端设备 - Google Patents

一种应用程序获取方法和装置以及一种终端设备 Download PDF

Info

Publication number
CN106844532B
CN106844532B CN201611250149.0A CN201611250149A CN106844532B CN 106844532 B CN106844532 B CN 106844532B CN 201611250149 A CN201611250149 A CN 201611250149A CN 106844532 B CN106844532 B CN 106844532B
Authority
CN
China
Prior art keywords
application program
display information
application
platform client
search
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.)
Expired - Fee Related
Application number
CN201611250149.0A
Other languages
English (en)
Other versions
CN106844532A (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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611250149.0A priority Critical patent/CN106844532B/zh
Publication of CN106844532A publication Critical patent/CN106844532A/zh
Priority to PCT/CN2017/115997 priority patent/WO2018121266A1/zh
Application granted granted Critical
Publication of CN106844532B publication Critical patent/CN106844532B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例中公开了一种应用程序获取方法和装置以及一种终端设备,属于互联网通信技术领域。该方法包括:根据预设的第一搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第一搜索请求;截取所述第一应用程序搜索服务器向所述第一平台客户端返回的第一应用程序搜索结果中的第一应用程序列表展示信息;根据预设的第一目标关键词,在所述第一应用程序列表展示信息中查找与所述第一目标关键词匹配的第一目标应用程序。所述方法和装置实现了对所需的目标应用程序的自动获取,解决了现有只能由人工查找方案中的效率低、查找不全的问题,且方案实施简单、快捷,为根据获取结果对应用程序的后续评定分析处理提供了数据支持。

Description

一种应用程序获取方法和装置以及一种终端设备
技术领域
本发明涉及互联网通信技术领域,具体涉及一种应用程序获取方法和装置以及一种终端设备。
背景技术
随着互联网通信技术的快速发展,各种移动终端设备已经成为人们生活必不可少的工具,具有各种各样功能的终端应用程序APP也层出不穷,为用户带来了更加便捷的体验,各种应用程序安装、现在平台客户端也越来越多。
目前,终端用户一般都是直接在应用平台客户端,如手机助手平台等应用下载平台上通过输入搜索关键词来得到搜索服务器端返回搜索结果列表,再从中选择自己所需要的应用程序进行下载按安装。但是,应用平台客户端上所呈现给用户的应用程序列表中,可选的应用程序是大量的,而应用程序的排名都是按照预设的排序规则来确定的。而对于不同的平台客户端,排名规则也都各不相同,对于同一个应用程序,在不同平台客户端的排序也可能会存在很大差异。在一般的排序规则中,服务器的运营者都会考虑到各自的实际运营需求,会设置一些平台主推的应用程序,或者是根据下载量的大小对应用程序进行热门推荐等操作、或者会在显示结果中直接显示出应用程序提供者的相关信息,以使用户能够更多的了解到程序的相关信息。
但是,目前,如果想要知道某一平台客户端上所显示的大量应该程序列表中的哪些是符合某一特定标准的应用程序,例如,哪些是重点推广的,或者为热门的、再或者是由特定提供者提供的应用程序,只能通过人工查看的方式,该方式不仅效率很低,而且人为统计的方式很容易出现遗漏。
发明内容
针对现有技术中存在的缺陷,本发明实施例的目的在于提供一种能够克服上述问题或者至少能够部分地解决上述问题的应用程序获取方法和装置以及一种终端设备。
为实现上述目的,本发明的一个实施例中提供了一种应用程序获取方法,包括:
根据预设的第一搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第一搜索请求;
截取所述第一应用程序搜索服务器向所述第一平台客户端返回的第一应用程序搜索结果中的第一应用程序列表展示信息;
根据预设的第一目标关键词,在所述第一应用程序列表展示信息中查找与所述第一目标关键词匹配的第一目标应用程序。
优选的,如上所述的获取方法,所述第一应用程序列表展示信息是指在所述第一平台客户端上显示的第一应用程序的相关信息;所述相关信息包括如下信息中的至少一个:应用程序名称、应用程序标签label、应用程序图标icon和应用程序的描述信息。
优选的,如上所述的获取方法,截取所述第一应用程序列表展示信息,包括:
获取所述第一平台客户端的展示信息解析函数;所述展示信息解析函数用于将第一应用程序搜索服务器返回的所述第一应用程序搜索结果解析成所述第一平台客户端能够识别的数据,第一平台客户端能够识别的数据包括所述第一应用程序列表展示信息;
对所述展示信息解析函数进行钩子hook操作,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息。
优选的,如上所述的获取方法,所述获取所述第一平台客户端的展示信息解析函数,包括:
根据第二搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第二搜索请求;
第一平台客户端接收第一应用程序搜索服务器返回的第二应用程序搜索结果,通过展示信息解析函数解析第二应用程序搜索结果得到第二应用程序列表展示信息,并展示;
获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity;
根据所述活动acitvity得到所述第二应用程序展示列表中显示的第二应用程序的关联信息;
获取所述第二应用程序的dex文件;
根据所述第二应用程序的关联信息在所述dex文件中查找到第一平台客户端的展示信息解析函数。
优选的,如上所述的获取方法,获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity,包括:
通过操作系统的日志打印工具logcat打印所述第一平台客户端的日志信息;
根据所述日志信息获取第一平台客户端的实现第二应用程序搜索结果展示的活动activity。
优选的,如上所述的获取方法,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息后,还包括:
所述展示信息解析函数将其解析结果发送到所述第一平台客户端;
第一平台客户端接收所述解析结果,并展示所述第一应用程序列表展示信息。
本发明实施例中还提供了一种应用程序获取装置,包括:
搜索请求发送模块,用于根据预设的第一搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第一搜索请求;
展示信息截获模块,用于截取所述第一应用程序搜索服务器向所述第一平台客户端返回的第一应用程序搜索结果中的第一应用程序列表展示信息;
目标程序查找模块,用于根据预设的第一目标关键词,在所述第一应用程序列表展示信息中查找与所述第一目标关键词匹配的第一目标应用程序。
优选的,如上所述的获取装置,所述展示信息截获模块,包括:
解析函数获取子模块,用于获取所述第一平台客户端的展示信息解析函数;所述展示信息解析函数用于将第一应用程序搜索服务器返回的所述第一应用程序搜索结果解析成所述第一平台客户端能够识别的数据,第一平台客户端能够识别的数据包括所述第一应用程序列表展示信息;
分析函数截取子模块,用于对所述展示信息解析函数进行钩子hook操作,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息。
优选的,如上所述的获取装置,所述解析函数获取子模块,包括:
搜索请求发送单元,用于根据第二搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第二搜索请求;
搜索结果展示单元,用于第一平台客户端接收第一应用程序搜索服务器返回的第二应用程序搜索结果,通过展示信息解析函数解析第二应用程序搜索结果得到第二应用程序列表展示信息,并展示;
活动获取单元,用于获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity;
程序关联信息获取单元,用于根据所述活动acitvity,得到所述第二应用程序展示列表中显示的第二应用程序的关联信息;
Dexdex文件获取单元,用于获取所述第二应用程序的dex文件;
解析函数获取子单元,用于根据所述第二应用程序的关联信息在所述dex文件中查找到第一平台客户端的展示信息解析函数。
本发明实施例中还提供了一种终端设备,包括如上任一项所述的获取装置,所述终端设备上安装有所述第一平台客户端。
本发明的有益效果在于:本发明实施例中所提供的应用程序获取方法和装置及终端设备,能够自动实现对平台客户端的搜索服务器返回的预设搜索关键词对应的搜索结果中的应用程序列表展示信息,从而能够从中查找到与目标关键词匹配的目标应用程序,实现了对所需的应用程序的自动获取。该方案实施简单、快捷,为按照设定的标准选择符合条件的应用程序提供了自动实现方案,为根据获取结果对应用程序的后续评定分析处理提供了数据基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,附图仅限于示出优选实施方式的目的,而并不认为是本发明的限制,且对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一个实施例中的一种应用程序获取方法的流程示意图;
图2为本发明的一个实施例中的获取第一平台客户端的展示信息解析函数的方法的流程示意图;
图3为本发明的一个实施例中的一种应用程序获取方法的流程示意图;
图4为本发明的一个实施例中的一种应用程序获取装置的结构示意图;
图5为本发明的一个实施例中的展示信息截获模块的结构示意图;
图6为本发明的一个实施例中的展示信息截获模块的结构示意图;
图7为本发明的一个实施例中的解析函数获取子模块的结构示意图;
图8为本发明的一个实施例中的活动获取单元的结构示意图;
图9为本发明的一个实施例中的一种应用程序获取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本发明保护的范围。
图1示出了本发明的一个实施例中的一种应用程序获取方法的流程示意图,由图中可以看出,该获取方法主要可以包括以下步骤:
步骤S100:根据预设的第一搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第一搜索请求;
步骤S200:截取所述第一应用程序搜索服务器向所述第一平台客户端返回的第一应用程序搜索结果中的第一应用程序列表展示信息;
步骤S300:根据预设的第一目标关键词,在所述第一应用程序列表展示信息中查找与所述第一目标关键词匹配的第一目标应用程序。
为了获取第一应用程序搜索服务器返回的搜索结果,首先需要确定第一搜索关键词,根据所述第一搜索关键词,通过第一应用程序搜索服务器对应的第一平台客户端向所述第一应用程序搜索服务器发送第一搜索请求,第一应用程序搜索服务器接收到该搜索请求后,会向所述第一平台客户端返回第一应用程序搜索结果,第一平台客户端通过对接收到的搜索结果进行解析后,将解析结果中的第一应用程序列表展示信息展示给用户。因此,可以通过截取所述第一应用程序搜索服务器向所述第一平台客户端返回的第一应用程序搜索结果中的第一应用程序列表展示信息,再根据第一目标关键词,在截获的第一应用程序列表展示信息中查找到与第一目标关键词匹配的第一目标应用程序。
其中,所述第一应用程序列表展示信息是指在所述第一平台客户端上显示的第一应用程序的相关信息,即呈现给用户的搜索结果信息,其中,所述相关信息包括如下信息中的至少一个:应用程序名称、应用程序标签label、应用程序图标icon和应用程序的描述信息等。
其中,第一目标关键词均可以是根据所需获取的目标应用程序进行确定的,例如,所述第一目标关键词可以为包括热门、推广、应用程序提供者的相关信息或者应用程序中包含的特定词语等,此时,可以通过所述获取方法获取到第一应用程序搜索服务器所返回的与所述第一搜索关键词的对应的应用程序中的与目标关键词所述目标关键词匹配的应用程序,如某一应用程序提供者提供的应用程序。
在实际应用中,所述第一目标应用程序一般为当前实际应用中比较热门的应用程序,即终端用户可能比较关注的应用程序。由于应用程序的种类繁多,为了能够快速的获取到不同种类的热门应用程序,可以通过预置一搜索关键词库,用于存储预设的热门应用程序的关键词,再通过脚本自动化运行的方式,依次调用搜索关键词中的关键词,通过第一平台客户端向第一应用程序搜索服务器发送第一搜索请求,实现不同搜索关键词的搜索请求的自动发送。
在本发明的一个实施例中,步骤S200中,所述截取所述第一应用程序搜索服务器向所述第一平台客户端返回的第一应用程序搜索结果中的第一应用程序列表展示信息的具体实现方式可以包括:
获取所述第一平台客户端的展示信息解析函数;所述展示信息解析函数用于将第一应用程序搜索服务器返回的所述第一应用程序搜索结果解析成所述第一平台客户端能够识别的数据,第一平台客户端能够识别的数据包括所述第一应用程序列表展示信息;
对所述展示信息解析函数进行钩子hook操作,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息。
一般的,第一应用程序搜索服务器向其所述第一平台客户端返回的第一应用程序搜索结果是经过处理的,这种处理可能是经过加密的,也可能是采用了第一应用程序搜索服务器与第一平台客户端两者之间约定的其他处理方式,第一应用程序搜索服务器向第一平台客户端返回处理后的应用程序搜索结果后,第一应用程序平台的展示信息解析函数首先会将经过处理的应用程序搜索结果解析成第一平台客户端能够识别的数据。因此,如果直接对第一应用程序搜索服务器返回的搜索结果进行截取,所截取的数据可能无法使用,所以,需要对已经经过展示信息解析函数解析的数据进行截取。
hook,即钩子,实际上是一个处理消息的程序段,通过系统调用,把它挂入系统,每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。因此,可以通过对所述展示信息解析函数进行钩子hook操作,在展示信息解析函数将解析结果发送到第一平台客户端之前,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,直接得到解析函数解析出的所述第一应用程序列表展示信息。
在本发明的一个实施例中,优选将所述钩子hook操作的权限设置为root权限。
通过将钩子函数hook操作的权限设置为root权限,使该操作具有系统最高权限,从而保证了钩子函数hook操作能够顺利执行。
在本发明的一个实施例中,获取所述第一平台客户端的展示信息解析函数的具体方式如图2所示,该方式主要可以包括以下步骤:
步骤S210:根据第二搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第二搜索请求;
步骤S220:第一平台客户端接收第一应用程序搜索服务器返回的第二应用程序搜索结果,通过展示信息解析函数解析第二应用程序搜索结果得到第二应用程序列表展示信息,并展示;
步骤S230:获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity;
步骤S240:根据所述活动acitvity得到所述第二应用程序展示列表中显示的第二应用程序的关联信息;
步骤S250:获取所述第二应用程序的dex文件;
步骤S260:根据所述第二应用程序的关联信息在所述dex文件中查找到第一平台客户端的展示信息解析函数。
APK是AndroidPackage的缩写,即Android安装包(apk),classes.dex为APK的Dalvik字节码文件,对于安卓应用程序来说,程序的所有字节码数据(包括解析运行APK所需要的各种函数的信息,如展示信息解析函数),因此,可以根据第一应用程序搜索服务器返回的第二应用程序的关联信息在第二应用程序的dex文件中关联查找到所述第一平台客户端的展示信息解析函数,这是因为展示信息解析函数即是用于解析应用程序的展示数据的,因此,该解析函数的参数会一定会包括应用程序的关联信息,因此,可以根据已知的应用程序的关联信息,在dex文件中分析查找到该展示信息解析函数。
其中,所述第二应用程序的关联信息包括以下信息中的至少一个:应用程序名称、应用程序标签、应用程序图标和应用程序的jar包的存储路径等。
本实施例中,通过获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity,来得到所述第二应用程序展示列表中显示的第二应用程序的关联信息。
Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供,BroadcastReceiver广播接收器)之一,Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件。因此,可以通过获取所述第一平台客户端上实现第二应用程序搜索结果展示的活动activity,得到所述第二应用程序展示列表中显示的第二应用程序的关联信息。
在本发明的一个实施例中,获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity,包括:
通过操作系统的日志打印工具logcat打印所述第一平台客户端的日志信息;
根据所述日志信息获取第一平台客户端的实现第二应用程序搜索结果展示的活动activity。
日志打印工具logcat是Android系统中一个命令行工具,可以用于得到程序的log信息,因此,可以通过logcat获取所述第一平台客户端的日志文件,得到用于实现搜索结果展示的所述活动activity。
在本发明的一个实施例中,如图3所示,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息后,还可以包括:
步骤S400:所述展示信息解析函数将其解析结果发送到所述第一平台客户端;
步骤S500:第一平台客户端接收所述解析结果,并展示所述第一应用程序列表展示信息。
需要说明的是,所述步骤S300中根据第一目标关键词查找第一目标应用程序的步骤和该步骤S400是没有明显的先后顺序之分的,在完成步骤S200中第一应用程序列表展示信息的截获后,即可控制展示信息解析函数将其解析结果发送到第一平台客户端,以供第一平台客户端显示所述第一应用程序列表展示信息,即通常呈现给用户的应用搜索结果列表信息。
本发明实施例中所提供的应用程序获取方法,通过截获服务器端返回到平台客户端的应用程序搜索结果中的应用程序展示信息,再根据所关注的目标关键词,在截取到的应用程序展示信息中获取到所需要的目标应用程序。通过该方法,能够方便的获取到平台客户端展示的应用程序中的符合某些具体特征(如对应的应用程序提供者信息/产品信息包含特征词语等)的应用程序。
例如,对于360手机助手平台客户端,假设第一搜索关键词为单机游戏,目标关键词为热门,那么通过本实施例所述的获取方法,即可获取到360搜索服务器返回的单机游戏应用程序搜结果中在客户端的展示列表结果中包含有热门这一目标关键词的应用程序。通过该方案,可以依据设定的标准获取符合条件的APP,在此基础上,服务器运营者可以对根据预设的规则对获取到的目标应用程序APP进行后续处理,例如,可以按照预设规则对目标应用程序APP在平台客户端的排名/评分/等级/安全等级等进行相关评定和调整。
图4示出了本发明的一个实施例中的一种应用程序获取装置的结构示意图,由图中可以看出,所述应用程序获取装置1主要可以包括搜索请求发送模块100、展示信息截获模块200和目标程序查找模块300。其中:
搜索请求发送模块100,用于根据预设的第一搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第一搜索请求;
展示信息截获模块200,用于截取所述第一应用程序搜索服务器向所述第一平台客户端返回的第一应用程序搜索结果中的第一应用程序列表展示信息;
目标程序查找模块300,用于根据预设的第一目标关键词,在所述第一应用程序列表展示信息中查找与所述第一目标关键词匹配的第一目标应用程序。
其中,所述第一应用程序列表展示信息是指在所述第一平台客户端上显示的第一应用程序的相关信息;所述相关信息可以包括如下信息中的至少一个:应用程序名称、应用程序标签label、应用程序图标icon和应用程序的描述信息等。
该应用程序获取装置,通过截获第一应用程序搜索服务器返回的应用程序搜索结果中的应用程序列表展示信息,来从中查找到所需要的与目标关键词相匹配的第一目标应用程序。
其中,所述第一搜索关键词和第一目标关键词均可以根据实际应用场景进行设置。所述第一目标关键词包括但不限于热门、推广应用程序的提供者信息、应用程序包含的特定特征词语等。
在本发明的一个实施例中,如图5所示,所述展示信息截获模块200包括解析函数获取子模块210和分析函数截取子模块220。其中:
解析函数获取子模块210,用于获取所述第一平台客户端的展示信息解析函数;所述展示信息解析函数用于将第一应用程序搜索服务器返回的所述第一应用程序搜索结果解析成所述第一平台客户端能够识别的数据,第一平台客户端能够识别的数据包括所述第一应用程序列表展示信息;
分析函数截取子模块220,用于对所述展示信息解析函数进行钩子hook操作,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息。
在本发明的一个实施例中,所述分析函数截取子模块220优选包括钩子权限设置单元221,如图6中所示。
钩子权限设置单元211,用于将所述钩子hook操作的权限设置为root权限。
通过将钩子函数hook操作的权限设置为root权限,使该操作的帐户具有系统最高权限,可以对系统中的任何文件(包括系统文件)执行所有增、删、改、查的操作,从而保证了钩子函数hook操作能够顺利执行。
在本发明的一个实施例中,如图7所示,所述解析函数获取子模块210可以包括搜索请求发送单元211、搜索结果展示单元212、活动获取单元213、程序关联信息获取单元214、dex文件获取单元215和解析函数获取子单元216。
所述搜索请求发送单元211,用于根据第二搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第二搜索请求;
搜索结果展示单元212,用于第一平台客户端接收第一应用程序搜索服务器返回的第二应用程序搜索结果,通过展示信息解析函数解析第二应用程序搜索结果得到第二应用程序列表展示信息,并展示;其中,所述第二应用程序的关联信息包括以下信息中的至少一个:应用程序名称、应用程序标签、应用程序图标和应用程序的jar包的存储路径等。
活动获取单元213,用于获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity;
程序关联信息获取单元214,用于根据所述活动acitvity,得到所述第二应用程序展示列表中显示的第二应用程序的关联信息;
dex文件获取单元215,用于获取所述第二应用程序的dex文件;
解析函数获取子单元216,用于根据所述第二应用程序的关联信息在所述dex文件中查找到第一平台客户端的展示信息解析函数。
本实施例中,所述解析函数获取子模块210通过获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity,来获取到第二应用程序展示列表中显示的第二应用程序的关联信息,在根据第二应用程序的关联信息在第二应用程序的dex文件中即可关联查找到所述第一平台客户端的展示信息解析函数,从而进一步通过hook该展示信息解析函数,截获到所需要获取的应用程序列表展示信息。
在本发明的一个实施例中,所述活动获取单元213可以包括日志打印子单元2131和活动获取子单元2132,如图8所示。其中:
日志打印子单元2131,用于通过操作系统的日志打印工具logcat打印所述第一平台客户端的日志信息;
活动获取子单元2132,用于根据所述日志信息获取第一平台客户端的实现第二应用程序搜索结果展示的活动activity。
在本发明的一个实施例中,如图9中所示,所说应用程序获取装置1还可以包括展示信息发送模块400和客户端展示模块500。其中:
展示信息发送模块400,用于通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息后,由所述展示信息解析函数将其解析结果发送到所述第一平台客户端;
客户端展示模块500,用于在第一平台客户端接收所述解析结果,并展示所述第一应用程序列表展示信息。
完成所述展示信息解析函数的解析结果截获,得到第一应用程序列表展示信息,再由展示信息解析函数将其解析结果发送到所述第一平台客户端,第一平台客户端展示所述解析结果中的第一应用程序列表展示信息,展示的数据即在第一平客户端发送搜索请求后,在显示屏上显示给用户的信息。
在本发明的一个实施例中,还提供了一种终端设备,所述终端设备包括上述的任一实施例中的所述应用程序获取装置1,所述终端设备上安装有所述第一平台客户端。
其中,所述终端设备包括但不限于智能手机、PC机等设备。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,所属领域的技术人员可以清楚地了解到,由于其基本相似于方法实施例,所以描述的比较简单,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解实现上述装置实施方式中各部分的全部或部分可以以硬件实现,或者以在一个或多个硬件上运行的软件模块来实现,方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成。本领域技术人员应该明白,本发明所述的方法和装置并不限于具体实施方式中所述的实施例,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围,本发明的保护范围由权利要求及其等同物限定。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种应用程序获取方法,其特征在于,所述方法包括:
根据预设的第一搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第一搜索请求;
利用第一平台客户端的展示信息解析函数截取所述第一应用程序搜索服务器向所述第一平台客户端返回的第一应用程序搜索结果中的第一应用程序列表展示信息;
根据预设的第一目标关键词,在所述第一应用程序列表展示信息中查找与所述第一目标关键词匹配的第一目标应用程序;
其中,截取所述第一应用程序列表展示信息,包括:
获取所述第一平台客户端的展示信息解析函数;所述展示信息解析函数用于将第一应用程序搜索服务器返回的所述第一应用程序搜索结果解析成所述第一平台客户端能够识别的数据,第一平台客户端能够识别的数据包括所述第一应用程序列表展示信息;
对所述展示信息解析函数进行钩子hook操作,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息;
其中,获取所述第一平台客户端的展示信息解析函数,进一步包括:
根据第二搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第二搜索请求;
第一平台客户端接收第一应用程序搜索服务器返回的第二应用程序搜索结果,通过展示信息解析函数解析第二应用程序搜索结果得到第二应用程序列表展示信息,并展示;
获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity;
根据所述活动activity得到所述第二应用程序展示列表中显示的第二应用程序的关联信息;
获取所述第二应用程序的dex文件;
根据所述第二应用程序的关联信息在所述dex文件中查找到第一平台客户端的展示信息解析函数。
2.根据权利要求1所述的获取方法,其特征在于,所述第一应用程序列表展示信息是指在所述第一平台客户端上显示的第一应用程序的相关信息;所述相关信息包括如下至少一个:应用程序名称、应用程序标签label、应用程序图标icon和应用程序的描述信息。
3.根据权利要求1所述的获取方法,其特征在于,所述第二应用程序的关联信息包括如下至少一个:应用程序名称、应用程序标签、应用程序图标和应用程序的jar包的存储路径。
4.根据权利要求1所述的获取方法,其特征在于,获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity,包括:
通过操作系统的日志打印工具logcat打印所述第一平台客户端的日志信息;
根据所述日志信息获取第一平台客户端的实现第二应用程序搜索结果展示的活动activity。
5.根据权利要求3所述的获取方法,其特征在于,该方法还包括:将所述钩子hook操作的权限设置为root权限。
6.根据权利要求1所述的获取方法,其特征在于,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息后,还包括:
所述展示信息解析函数将其解析结果发送到所述第一平台客户端;
第一平台客户端接收所述解析结果,并展示所述第一应用程序列表展示信息。
7.一种应用程序获取装置,其特征在于,该获取装置包括:
搜索请求发送模块,用于根据预设的第一搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第一搜索请求;
展示信息截获模块,用于利用第一平台客户端的展示信息解析函数截取所述第一应用程序搜索服务器向所述第一平台客户端返回的第一应用程序搜索结果中的第一应用程序列表展示信息;
目标程序查找模块,用于根据预设的第一目标关键词,在所述第一应用程序列表展示信息中查找与所述第一目标关键词匹配的第一目标应用程序;
其中,所述展示信息截获模块,进一步包括:解析函数获取子模块,
所述解析函数获取子模块,进一步包括:
搜索请求发送单元,用于根据第二搜索关键词,通过第一平台客户端向第一应用程序搜索服务器发送第二搜索请求;
搜索结果展示单元,用于第一平台客户端接收第一应用程序搜索服务器返回的第二应用程序搜索结果,通过展示信息解析函数解析第二应用程序搜索结果得到第二应用程序列表展示信息,并展示;
活动获取单元,用于获取所述第一平台客户端的实现所述第二应用程序搜索结果展示的活动activity;
程序关联信息获取单元,用于根据所述活动activity,得到所述第二应用程序展示列表中显示的第二应用程序的关联信息;
dex文件获取单元,用于获取所述第二应用程序的dex文件;
解析函数获取子单元,用于根据所述第二应用程序的关联信息在所述dex文件中查找到第一平台客户端的展示信息解析函数;
其中,所述解析函数获取子模块,还用于获取所述第一平台客户端的展示信息解析函数;所述展示信息解析函数用于将第一应用程序搜索服务器返回的所述第一应用程序搜索结果解析成所述第一平台客户端能够识别的数据,第一平台客户端能够识别的数据包括所述第一应用程序列表展示信息;
所述展示信息截获模块,还包括:分析函数截取子模块,用于对所述展示信息解析函数进行钩子hook操作,通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息。
8.根据权利要求7所述的获取装置,其特征在于,所述第一应用程序列表展示信息是指在所述第一平台客户端上显示的第一应用程序的相关信息;所述相关信息包括如下至少一个:应用程序名称、应用程序标签label、应用程序图标icon和应用程序的描述信息。
9.根据权利要求7所述的获取装置,其特征在于,所述第二应用程序的关联信息包括如下至少一个:应用程序名称、应用程序标签、应用程序图标和应用程序的jar包的存储路径。
10.根据权利要求7所述的获取装置,其特征在于,所述活动获取单元,包括:
日志打印子单元,用于通过操作系统的日志打印工具logcat打印所述第一平台客户端的日志信息;
活动获取子单元,用于根据所述日志信息获取第一平台客户端的实现第二应用程序搜索结果展示的活动activity。
11.根据权利要求7所述的获取装置,其特征在于,所述分析函数截取子模块,包括:
钩子权限设置单元,用于将所述钩子hook操作的权限设置为root权限。
12.根据权利要求7所述的获取装置,其特征在于,该获取装置还包括:
展示信息发送模块,用于通过所述钩子hook操作截获所述展示信息解析函数的解析结果,得到所述第一应用程序列表展示信息后,由所述展示信息解析函数将其解析结果发送到所述第一平台客户端;
客户端展示模块,用于在第一平台客户端接收所述解析结果,并展示所述第一应用程序列表展示信息。
13.一种终端设备,其特征在于,该终端设备包括权利要求7-12中任一项所述的获取装置,所述终端设备上安装有所述第一平台客户端。
CN201611250149.0A 2016-12-29 2016-12-29 一种应用程序获取方法和装置以及一种终端设备 Expired - Fee Related CN106844532B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611250149.0A CN106844532B (zh) 2016-12-29 2016-12-29 一种应用程序获取方法和装置以及一种终端设备
PCT/CN2017/115997 WO2018121266A1 (zh) 2016-12-29 2017-12-13 一种应用程序获取方法和装置以及一种终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611250149.0A CN106844532B (zh) 2016-12-29 2016-12-29 一种应用程序获取方法和装置以及一种终端设备

Publications (2)

Publication Number Publication Date
CN106844532A CN106844532A (zh) 2017-06-13
CN106844532B true CN106844532B (zh) 2020-12-11

Family

ID=59114701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611250149.0A Expired - Fee Related CN106844532B (zh) 2016-12-29 2016-12-29 一种应用程序获取方法和装置以及一种终端设备

Country Status (2)

Country Link
CN (1) CN106844532B (zh)
WO (1) WO2018121266A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844532B (zh) * 2016-12-29 2020-12-11 北京奇虎科技有限公司 一种应用程序获取方法和装置以及一种终端设备
CN109325348B (zh) * 2018-09-13 2021-06-15 江苏通付盾信息安全技术有限公司 应用安全的分析方法、装置、计算设备及计算机存储介质
WO2020093288A1 (zh) * 2018-11-07 2020-05-14 深圳市欢太科技有限公司 数据处理方法、装置、服务器以及存储介质
CN112529392A (zh) * 2020-12-04 2021-03-19 国网山东省电力公司昌乐县供电公司 一种输配电系统中关键电力数据分析展示系统、方法及输配电监控服务器
CN112540929B (zh) * 2020-12-25 2024-03-12 北京百度网讯科技有限公司 检测方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984204A (zh) * 2012-10-31 2013-03-20 广东欧珀移动通信有限公司 一种获取应用程序的方法及移动智能终端
CN103186572A (zh) * 2011-12-29 2013-07-03 腾讯科技(深圳)有限公司 应用程序检索方法、及移动应用平台和系统
CN104462952A (zh) * 2014-12-31 2015-03-25 北京奇虎科技有限公司 一种禁止应用自启动的方法及装置
CN105095407A (zh) * 2015-07-09 2015-11-25 中山大学 一种应用程序内容实时搜索方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041729B2 (en) * 2009-02-20 2011-10-18 Yahoo! Inc. Categorizing queries and expanding keywords with a coreference graph
CN102495903A (zh) * 2011-12-18 2012-06-13 上海量明科技发展有限公司 利用输入法搜索下载软件的方法及系统
US20140040231A1 (en) * 2012-08-06 2014-02-06 Hsiu-Ping Lin Methods and systems for searching software applications
CN103226617A (zh) * 2013-05-17 2013-07-31 蒋锋 一种云计算商品信息搜索系统和搜索方法
CN103488766B (zh) * 2013-09-27 2016-08-10 中国联合网络通信集团有限公司 应用程序搜索方法和装置
CN105574411B (zh) * 2015-12-25 2018-12-28 北京奇虎科技有限公司 一种动态脱壳方法、装置和设备
CN106844532B (zh) * 2016-12-29 2020-12-11 北京奇虎科技有限公司 一种应用程序获取方法和装置以及一种终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186572A (zh) * 2011-12-29 2013-07-03 腾讯科技(深圳)有限公司 应用程序检索方法、及移动应用平台和系统
CN102984204A (zh) * 2012-10-31 2013-03-20 广东欧珀移动通信有限公司 一种获取应用程序的方法及移动智能终端
CN104462952A (zh) * 2014-12-31 2015-03-25 北京奇虎科技有限公司 一种禁止应用自启动的方法及装置
CN105095407A (zh) * 2015-07-09 2015-11-25 中山大学 一种应用程序内容实时搜索方法及系统

Also Published As

Publication number Publication date
WO2018121266A1 (zh) 2018-07-05
CN106844532A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106844532B (zh) 一种应用程序获取方法和装置以及一种终端设备
CN108255730B (zh) 软件接口测试方法、测试设备、存储介质及装置
CN109495467B (zh) 拦截规则的更新方法、设备及计算机可读存储介质
CN110769283B (zh) 一种视频推送方法、装置、计算机设备和存储介质
CN110535865B (zh) 信息处理方法、装置、测试终端、测试平台及存储介质
US20170187837A1 (en) Ad download method, the client and the server
US20170017695A1 (en) Question and answer information providing system, information processing device, and non-transitory computer-readable medium
CN104010035A (zh) 一种应用程序分发的方法及系统
KR20140023225A (ko) 통신행동의 통계분석 시스템
CN109067816B (zh) 一种游戏资源推送方法、服务器及客户端
CN108600780B (zh) 用于推送信息的方法、电子设备、计算机可读介质
CN109587197B (zh) 关联上报数据的方法、装置和系统
CN107704494B (zh) 一种基于应用软件的用户信息收集方法和系统
CN108429848B (zh) 一种信息处理方法、装置和设备
CN111046287B (zh) 用户生产内容推送方法及服务器端
CN113055420B (zh) Https业务识别方法、装置及计算设备
CN107534859B (zh) 一种网络认证方法、客户端、终端设备及平台
CN112087455A (zh) 一种waf站点防护规则生成方法、系统、设备及介质
CN115617555A (zh) 一种信息处理系统以及方法
CN112231566B (zh) 信息推送方法、装置、系统和可读存储介质
EP2490467A1 (en) Method and arrangement for registering a user
KR20180088260A (ko) 웹 페이지를 생성하는 방법 및 장치
CN109982143B (zh) 一种确定视频播放时延的方法、装置、介质及设备
CN106021589B (zh) 一种网页地址分享方法和装置
JP6219621B2 (ja) 通信照合装置

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201211

CF01 Termination of patent right due to non-payment of annual fee