CN106022110B - 识别推送平台应用的方法及装置 - Google Patents

识别推送平台应用的方法及装置 Download PDF

Info

Publication number
CN106022110B
CN106022110B CN201610334249.5A CN201610334249A CN106022110B CN 106022110 B CN106022110 B CN 106022110B CN 201610334249 A CN201610334249 A CN 201610334249A CN 106022110 B CN106022110 B CN 106022110B
Authority
CN
China
Prior art keywords
application
platform
file name
starting
party
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.)
Active
Application number
CN201610334249.5A
Other languages
English (en)
Other versions
CN106022110A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201610334249.5A priority Critical patent/CN106022110B/zh
Publication of CN106022110A publication Critical patent/CN106022110A/zh
Application granted granted Critical
Publication of CN106022110B publication Critical patent/CN106022110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

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

Abstract

本发明实施例公开了一种识别推送平台应用的方法,包括:解压扫描已安装应用的APK文件,得到所述APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;查找属于预设的第三方推送平台黑名单的库文件名,标记包含所述查找到的库文件名的APK文件对应的应用为实现第三方推送平台SDK的应用;通过操作系统的启动管理服务检测应用启动请求,获取所述应用启动请求对应的目标应用;在所述目标应用为所述实现第三方推送平台SDK的应用时,拒绝响应所述应用启动请求。另外,本发明实施例还公开了一种识别推送平台应用的装置。采用本发明,可有效识别三方推送平台的应用。

Description

识别推送平台应用的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种识别推送平台应用的方法及装置。
背景技术
随着互联网技术的兴起,越来越多的互联网企业、电商平台将应用程序作为盈利的主战场之一,目前各种系统平台上的应用越来越多,用户在终端上安装的应用程序也越来越多。目前,智能系统己经是用户群最大的智能终端操作系统平台,智能终端是目前许多用户最常用最重要的电子设备,用户经常会安装各种第三方应用,但是这些第三方应用经常会在后台偷偷启动,在后台偷偷地进行各种对用户有影响的行为,并且消耗用户的流量与终端的电量,这些三方应用有一种比较隐蔽特殊的方式来进行后台自启动,就是通过实现各种三方推送平台SDK的方式来实现,现有的智能系统对这种情况没有限制,也没有有效的识别方法,很多三方应用都会通过实现各种三方推送平台SDK来实现相互启动,关联启动,后台自启动,这样在用户不知情的情况下,会被一些流氓应用所利用,造成耗电耗流量,还有各种损失,不利于用户的操作体验与安全。
三方推送平台SDK是指市场上一些公司提供给其它三方APK应用,用于推送消息,统计数据,推送配置信息等功能的JAR包或公共服务包,这种三方三方推送平台SDK一般都有公布给其它三方APK应用的标准接口与实现接入标准。其它三方APK应用通过实现三方推送平台SDK的接入标准,并实现SDK的标准接口,就可以使用这些三方推送平台SDK来进行推送消息,统计数据,推送配置信息等功能。实现了三方推送平台SDK的应用是指在自己的APK应用中使用了这些三方推送平台SDK公共服务包的应用。
申请人经研究发现,上述实现了三方推送平台SDK的应用对android系统来说,会有下面一些不良作用:
1、实现了三方推送平台SDK的应用可能会通过推送平台SDK实现的服务,去启动其它不相关的三方应用,实现它的非法目的,会耗电耗流量,并且不安全;
2、实现了三方推送平台SDK的应用可能会通过推送平台SDK实现的服务,在实现同一个三方推送平台的各种应用间可能会相互启动,后台自启动,关联启动,达到它们常驻,不被系统回收的目的,会耗电耗流量,并且不安全;
3、实现了三方推送平台SDK的应用可能会通过推送平台SDK实现的服务,推送大量信息,弹出界面,状态栏通知,锁屏通知等,骚扰用户,会耗电耗流量,并且不安全;
4、其它非法目的,导致系统不安全。
综上所述,现有技术中三方应用通过实现各种三方推送平台SDK来实现相互启动、关联启动、后台自启动等非法启动的方案存在安全性不足的问题。
发明内容
基于此,为解决传统技术中三方应用通过实现各种三方推送平台SDK来实现相互启动、关联启动、后台自启动等非法启动的方案存在安全性不足的技术问题,特提出了一种识别推送平台应用的方法。
一种识别推送平台应用的方法,包括:
解压扫描已安装应用的APK文件,得到所述APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;
查找属于预设的第三方推送平台黑名单的库文件名,标记包含所述查找到的库文件名的APK文件对应的应用为实现第三方推送平台SDK的应用;
通过操作系统的启动管理服务检测应用启动请求,获取所述应用启动请求对应的目标应用;
在所述目标应用为所述实现第三方推送平台SDK的应用时,拒绝响应所述应用启动请求。
可选的,在其中一个实施例中,所述方法还包括:
解压扫描已安装应用的APK文件中包含的dex文件,得到dex文件包含的类文件名;
查找属于预设的第三方推送平台黑名单的类文件名,标记包含所述查找到的类文件名的APK文件对应的应用为实现第三方推送平台SDK的应用。
可选的,在其中一个实施例中,所述拒绝响应所述应用启动请求的步骤之后还包括:
获取所述应用启动请求对应的调用者应用;
获取所述调用者应用创建的与所述应用启动请求对应的中间对象,回收所述中间对象。
可选的,在其中一个实施例中,所述拒绝响应所述应用启动请求的步骤之后还包括:
通过展示弹出窗或在通知栏提示用户已将所述应用启动请求屏蔽;
接收输入的强制启动指令,重新响应所述已拒绝的应用启动请求。
可选的,在其中一个实施例中,所述第三方推送平台黑名单存储于本地或云服务器上。
可选的,在其中一个实施例中,所述标记包含所述查找到的库文件名的APK文件对应的应用为实现第三方推送平台SDK的应用的步骤之后还包括:
在安装应用时,解压扫描所述安装应用的APK文件,得到所述安装应用的APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;
在所述安装应用的APK文件包含属于所述预设的第三方推送平台黑名单的库文件名时,拒绝安装。
此外,为解决传统技术中三方应用通过实现各种三方推送平台SDK来实现相互启动、关联启动、后台自启动等非法启动的方案存在安全性不足的技术问题,还提出了一种识别推送平台应用的装置。
一种识别推送平台应用的装置,包括:
APK文件分析模块,用于解压扫描已安装应用的APK文件,得到所述APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;
第一黑名单标记模块,用于查找属于预设的第三方推送平台黑名单的库文件名,标记包含所述查找到的库文件名的APK文件对应的应用为实现第三方推送平台SDK的应用;
应用启动请求检测模块,用于通过操作系统的启动管理服务检测应用启动请求,获取所述应用启动请求对应的目标应用;
拒绝响应模块,用于在所述目标应用为所述实现第三方推送平台SDK的应用时,拒绝响应所述应用启动请求。
可选的,在其中一个实施例中,所述装置还包括dex文件获取模块和第二黑名单标记模块,其中:
所dex文件获取模块用于解压扫描已安装应用的APK文件中包含的dex文件,得到dex文件包含的类文件名;
所述第二黑名单标记模块用于查找属于预设的第三方推送平台黑名单的类文件名,标记包含所述查找到的类文件名的APK文件对应的应用为实现第三方推送平台SDK的应用。
可选的,在其中一个实施例中,所述装置还包括中间对象回收模块,用于获取所述应用启动请求对应的调用者应用;获取所述调用者应用创建的与所述应用启动请求对应的中间对象,回收所述中间对象。
可选的,在其中一个实施例中,所述装置还包括消息通知模块和强制启动模块,其中:
所述消息通知模块用于通过展示弹出窗或在通知栏提示用户已将所述应用启动请求屏蔽;
所述强制启动模块用于接收输入的强制启动指令,重新响应所述已拒绝的应用启动请求。
可选的,在其中一个实施例中,所述第三方推送平台黑名单存储于本地或云服务器上。
可选的,在其中一个实施例中,所述装置还包括风险信息提示模块,用于在安装应用时,解压扫描所述安装应用的APK文件,得到所述安装应用的APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;在所述安装应用的APK文件包含属于所述预设的第三方推送平台黑名单的库文件名时,拒绝安装。
实施本发明实施例,将具有如下有益效果:
采用了上述识别推送平台应用的方法和装置之后,针对终端中已经安装的应用程序,根据预设的第三方推送平台黑名单,对其对应的安装文件APK文件中包含的库文件进行分析,判断库文件名是否属于上述预设的第三方推送平台黑名单,若是,则将该应用标识为实现第三方推送平台SDK的应用,并在已经被标识为实现第三方推送平台SDK的应用被启动时,拒绝响应响应的应用启动请求。也就是说,对终端中已经安装的应用程序,找出其中存在安全隐患的应用并阻止这些应用的后台启动,减少了后台应用在用户不知觉的情况下的非法启动,给用户提供了一个安全的使用环境,提高了终端和用户资料的安全性,并且,提高了系统资源的有效利用率,增加了终端的续航时间和移动数据流量的有效利用率,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中一种识别推送平台应用的方法的流程示意图;
图2为一个实施例中一种识别推送平台应用的.装置的结构示意图;
图3为一个实施例中运行前述识别推送平台应用的方法的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决传统技术中三方应用通过实现各种三方推送平台SDK来实现相互启动、关联启动、后台自启动等非法启动的方案存在安全性不足的技术问题,在本实施例中,特提出了一种识别推送平台应用的方法,该方法的实现可依赖于计算机程序,该计算机程序可运行于基于冯诺依曼体系的计算机系统之上,该计算机程序可以是安卓平台等系统下的识别推送平台应用的程序。该计算机系统可以是运行上述计算机程序的例如智能手机、平板电脑、个人电脑等终端设备。
具体的,如图1所示,上述识别推送平台应用的方法包括如下步骤S102-步骤S108:
步骤S102:解压扫描已安装应用的APK文件,得到所述APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名。
APK是AndroidPackage的缩写,即Android安装包,基于Android系统的应用程序在安装的过程中,将APK文件直接传到Android模拟器或Android手机中执行即可安装相应的应用程序。因此,对于终端已经安装的所有应用,在终端中一定存在对应的APK文件。
针对终端的已安装应用的APK文件进行解压扫描,获取APK文件中包含的库文件名,在本实施例中,APK文件对应的库文件名为jar包名或者so库文件名。
步骤S104:查找属于预设的第三方推送平台黑名单的库文件名,标记包含所述查找到的库文件名的APK文件对应的应用为实现第三方推送平台SDK的应用。
第三方推送平台黑名单是本地存储在终端上或者存在在云服务器上的黑名单文件,并且该黑名单可以根据向外界公布了自身的公共标准与接口的三方推送平台来确定的,并且还可以通过各个用户的反馈来对已经存在的第三方推送平台黑名单进行更新。具体的,服务器通过数据分析以及人工维护等方式生成用户智能识别三方推送平台SDK的三方推送平台名单和三方推送平台SDK类名单,并根据三方推送平台名单和三方推送平台SDK类名单建立第三方推送平台黑名单。也就是说,在第三方推送平台黑名单中包含了库文件名,也包含了类文件名。
终端可以在本地存储了第三方推送平台黑名单,并可以通过向服务器请求更新对黑名单进行更新。或者,在终端本地并没有存储上述第三方推送平台黑名单的情况下,终端在需要使用该名单时,向服务器发起访问该名单的请求。
在本实施例中,在预设的第三方推送平台黑名单中,查找与APK文件包含的库文件名一致的库文件名,若查找到,则将该应用标记为实现第三方推送平台SDK的应用,反之,则不进行标记。
在其他实施例中,上述将应用标记为实现第三方推送平台SDK的应用的过程,还可以通过已安装应用的APK文件中包含的dex文件来进行确定。
具体的,上述识别推送平台应用的方法还包括:解压扫描已安装应用的APK文件中包含的dex文件,得到dex文件包含的类文件名;查找属于预设的第三方推送平台黑名单的类文件名,标记包含所述查找到的类文件名的APK文件对应的应用为实现第三方推送平台SDK的应用。
如前所述,APK是AndroidPackage的缩写,即Android安装包,基于Android系统的应用程序在安装的过程中,将APK文件直接传到Android模拟器或Android手机中执行即可安装相应的应用程序。因此,对于终端已经安装的所有应用,在终端中一定存在对应的APK文件。
针对终端的已安装应用的APK文件中包含的dex文件进行解压扫描,获dex文件中包含的类文件名(即class文件类的名称)。
如前所述,第三方推送平台黑名单中还包含了类文件名,在本实施例中,在预设的第三方推送平台黑名单中,查找与查找到的类文件名一致的类文件名,若查找到,则将该应用标记为实现第三方推送平台SDK的应用,反之,则不进行标记。
需要说明的是,在本实施例中,会针对终端中所有的已安装文件的APK文件进行解压扫描和判断是否应该标识为实现第三方推送平台SDK的应用的处理。
步骤S106:通过操作系统的启动管理服务检测应用启动请求,获取所述应用启动请求对应的目标应用。
启动管理服务(ActivityManagerService,简称AmS),为Android上层系统最核心的模块之一,其主要完成管理应用进程的生命周期以及进程的启动Activity,服务Service,广播Broadcast和存储Provider等。
在终端的操作系统中,启动管理服务提供的主要功能之一就是统一调度各应用程序的Activity。具体的,启动一个Activity的方式有以下几种:第一,在应用程序中调用startActivity启动指定的Activity;第二,在Home程序中单击一个应用图标,启动新的Activity;第三,按“Back”键,结束当前Activity,返回到上一个Activity;第四,长按“Home”键,显示出当前正在运行的程序列表,从中选择一个启动。对于上述4中启动方式来讲,其对应的主体处理流程都是按照第一中启动方式运行的,只是后面三种方式在前端消息处理上存在差异。
在本实施例中,用户主动的去打开一个应用程序,或者终端中的某个应用程序去打开另外一个应用程序,都会触发对应的应用启动请求,从而启动管理服务(ActivityManagerService)会检测到该应用启动请求,并针对该应用启动请求做相应的进一步的处理。
应用启动请求至少包含了需要启动的目标应用的应用信息,通过获取应用启动请求中携带的目标应用的应用信息即可获知当前需要启动的目标应用。
步骤S108:在所述目标应用为所述实现第三方推送平台SDK的应用时,拒绝响应所述应用启动请求。
在操作系统的启动管理服务检测到应用启动请求时,对应用启动请求对应的目标应用进行判断,即判断该目标应用是否为已经为标识为实现第三方推送平台SDK的应用,若是,则说明该目标应用的启动可能是非法的,启动该目标应用可能存在危险,对于该目标应用的应用启动请求应当予以拒绝;若否,则说明根据预设的第三方推送平台黑名单以及已经被标识为实现第三方推送平台SDK的应用的应用列表不能将对应的目标应用的应用启动请求判定为非法的或者非用户主动的,应当予以响应并启动对应的目标应用。
在本实施例中,操作系统在启动某一个应用程序的过程中,可能需要调用或者启动或者生成某些进程或者组件才能触发该应用程序的启动指令,而在该应用程序的应用启动请求被拒绝响应之后,这些进程或者组件或者其他中间对象就被闲置了,也就是说,存在不需要的中间对象占用了终端的内存或存储空间。在此种情况下,需要对上述中间对象进行处理。
具体的,在拒绝响应所述应用启动请求的步骤之后还包括:获取所述应用启动请求对应的调用者应用;获取所述调用者应用创建的与所述应用启动请求对应的中间对象,回收所述中间对象。
在实施例中,根据需要启动的目标应用的应用信息可以获取到对应的调用者信息,也就是向启动管理服务请求启动目标应用的请求者信息,包括包名、进程信息、组件信息等相关信息。需要说明的是,在本实施例中,可以通过ActivityManagerService.Java类来获取调用者信息,具体的,获取对应的caller参数,根据获取到的caller参数的具体值,获取对应的应用程序的包名、进程信息、组件信息等相关信息。
在应用启动请求被拒绝响应之后,根据该应用启动请求,获取与该应用启动请求对应的中间对象,即获取调用者信息对应的应用创建的与应用启动请求对应的中间对应并进行回收。例如,第三方推送平台在非法启动应用程序A时,为支持A应用的运行,需要创建与A应用对应的进程或者组件,在A应用的应用启动请求被拒绝之后,回收已创建的与A应用对应的进程或者组件。
在某些情况下,被拒绝响应的应用启动请求也可能是用户需要启动的,在此种情况下,应当提供一种再次启动对应的应用程序的机制。具体的,在上述拒绝响应所述应用启动请求的步骤之后还包括:通过展示弹出窗或在通知栏提示用户已将所述应用启动请求屏蔽;接收输入的强制启动指令,重新响应所述已拒绝的应用启动请求。
在拒绝响应应用启动请求之后,生成已拒绝响应应用启动请求的提示消息,并在终端的显示界面上,通过展示弹出窗展示上述提示消息,以提示用户已将应用启动请求屏蔽;或者,在通知栏中显示相应的提示消息,以提示用户已将应用启动请求屏蔽。
用户在接收到上述已拒绝响应应用启动请求的提示消息之后,如果依旧需要启动该应用程序,则可以通过设置在终端上的强制启动控件,并通过该强制启动空间输入针对已拒绝的响应应用请求对应的应用程序的强制启动指令,终端在接收到用户输入的强制启动指令之后,重新响应该应用启动请求,即启动操作系统的启动关系服务检测到的应用启动请求对应的目标应用程序。
可选的,在其他实施例中,根据终端将已安装的应用标识为实现第三方推送平台SDK的应用的过程,还可以在终端安装应用程序的过程中,就针对该应用进行标识,并将相应的结果告知用户,以使用户可以根据自身的需求判断是否需要继续安装该应用,从而使得用户了解终端中安装的应用的安全性。
具体的,上述方法还包括如下步骤:在安装应用时,解压扫描所述安装应用的APK文件,得到所述安装应用的APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;在所述安装应用的APK文件包含属于所述预设的第三方推送平台黑名单的库文件名时,拒绝安装。
在Android模拟器或者Android手机中执行APK文件安装相应的应用程序时,针对即将安装的应用的APK文件,对该APK文件进行解压扫描,并获取APK文件中包含的库文件的库文件名,在本实施例中,APK文件的库文件名包括了jar包名和so库文件名。
如步骤S104中将应用标记为实现第三方推送平台SDK的应用的过程,针对已经获取到的库文件名,在预设的第三方推送平台黑名单中包含的所有库文件名中查找与安装应用的APK文件中包含的库文件名一致的库文件名,若查找说,则说明准备安装的应用是实现第三方推送平台SDK的应用,若继续安装则存在危险,因此,在所述安装应用的APK文件包含属于所述预设的第三方推送平台黑名单的库文件名时,拒绝安装,反之,则继续安装流程。
在某些情况下,被拒绝安装的应用也可能是用户需要安装的,在此种情况下,应当提供一种继续安装应用程序的机制。具体的,在上述拒绝安装的步骤之后还包括:通过展示弹出窗或在通知栏提示用户已将所述应用程序的安装终止;接收输入的强制安装指令,重新安装所述已拒绝安装的应用。
此外,为解决传统技术中三方应用通过实现各种三方推送平台SDK来实现相互启动、关联启动、后台自启动等非法启动的方案存在安全性不足的技术问题,在一个实施例中,如图2所示,还提出了一种识别推送平台应用的装置,包括:
APK文件分析模块102,用于解压扫描已安装应用的APK文件,得到所述APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;
第一黑名单标记模块104,用于查找属于预设的第三方推送平台黑名单的库文件名,标记包含所述查找到的库文件名的APK文件对应的应用为实现第三方推送平台SDK的应用;
应用启动请求检测模块106,用于通过操作系统的启动管理服务检测应用启动请求,获取所述应用启动请求对应的目标应用;
拒绝响应模块108,用于在所述目标应用为所述实现第三方推送平台SDK的应用时,拒绝响应所述应用启动请求。
可选的,在一个实施例中,如图2所示,上述装置还包括dex文件获取模块110和第二黑名单标记模块112,其中:所dex文件获取模块110用于解压扫描已安装应用的APK文件中包含的dex文件,得到dex文件包含的类文件名;所述第二黑名单标记模块112用于查找属于预设的第三方推送平台黑名单的类文件名,标记包含所述查找到的类文件名的APK文件对应的应用为实现第三方推送平台SDK的应用。
可选的,在一个实施例中,如图2所示,上述装置还包括中间对象回收模块114,用于获取所述应用启动请求对应的调用者应用;获取所述调用者应用创建的与所述应用启动请求对应的中间对象,回收所述中间对象。
可选的,在一个实施例中,如图2所示,上述装置还包括消息通知模块116和强制启动模块118,其中:所述消息通知模块116用于通过展示弹出窗或在通知栏提示用户已将所述应用启动请求屏蔽;所述强制启动模块118用于接收输入的强制启动指令,重新响应所述已拒绝的应用启动请求。
可选的,在一个实施例中,第三方推送平台黑名单存储于本地或云服务器上。
可选的,在一个实施例中,如图2所示,上述装置还包括风险信息提示模块120,用于在安装应用时,解压扫描所述安装应用的APK文件,得到所述安装应用的APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;在所述安装应用的APK文件包含属于所述预设的第三方推送平台黑名单的库文件名时,拒绝安装。
实施本发明实施例,将具有如下有益效果:
采用了上述识别推送平台应用的方法和装置之后,针对终端中已经安装的应用程序,根据预设的第三方推送平台黑名单,对其对应的安装文件APK文件中包含的库文件进行分析,判断库文件名是否属于上述预设的第三方推送平台黑名单,若是,则将该应用标识为实现第三方推送平台SDK的应用,并在已经被标识为实现第三方推送平台SDK的应用被启动时,拒绝响应响应的应用启动请求。也就是说,对终端中已经安装的应用程序,找出其中存在安全隐患的应用并阻止这些应用的后台启动,减少了后台应用在用户不知觉的情况下的非法启动,给用户提供了一个安全的使用环境,提高了终端和用户资料的安全性,并且,提高了系统资源的有效利用率,增加了终端的续航时间和移动数据流量的有效利用率,提升了用户体验。
在一个实施例中,如图3所示,图3展示了一种运行上述识别推送平台应用的方法的基于冯诺依曼体系的计算机系统的终端。该计算机系统可以是智能手机、平板电脑、掌上电脑、笔记本电脑或个人电脑等终端设备。具体的,可包括通过系统总线连接的外部输入接口1001、处理器1002、存储器1003和输出接口1004。其中,外部输入接口1001可选的可至少包括网络接口10012。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口1004可至少包括显示屏10042等设备。
在本实施例中,本方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统中形成逻辑上的APK文件分析模块102、第一黑名单标记模块104、应用启动请求检测模块106、拒绝响应模块108、dex文件获取模块110、第二黑名单标记模块112、中间对象回收模块114、消息通知模块116、强制启动模块118、风险信息提示模块。且在上述识别推送平台应用的方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端中的单元可以根据实际需要进行合并、划分和删减。
应当理解,在本发明实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (14)

1.一种识别推送平台应用的方法,其特征在于,包括:
解压扫描已安装应用的APK文件,得到所述APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;
查找属于预设的第三方推送平台黑名单的库文件名,标记包含所述查找到的库文件名的APK文件对应的应用为实现第三方推送平台SDK的应用;
通过操作系统的启动管理服务检测应用启动请求,获取所述应用启动请求对应的目标应用;
在所述目标应用为所述实现第三方推送平台SDK的应用时,拒绝响应所述应用启动请求。
2.根据权利要求1所述的识别推送平台应用的方法,其特征在于,所述方法还包括:
解压扫描已安装应用的APK文件中包含的dex文件,得到dex文件包含的类文件名;
查找属于预设的第三方推送平台黑名单的类文件名,标记包含所述查找到的类文件名的APK文件对应的应用为实现第三方推送平台SDK的应用。
3.根据权利要求1所述的识别推送平台应用的方法,其特征在于,所述拒绝响应所述应用启动请求的步骤之后还包括:
获取所述应用启动请求对应的调用者应用;
获取所述调用者应用创建的与所述应用启动请求对应的中间对象,回收所述中间对象。
4.根据权利要求1所述的识别推送平台应用的方法,其特征在于,所述拒绝响应所述应用启动请求的步骤之后还包括:
通过展示弹出窗或在通知栏提示用户已将所述应用启动请求屏蔽;
接收输入的强制启动指令,重新响应所述已拒绝的应用启动请求。
5.根据权利要求1所述的识别推送平台应用的方法,其特征在于,所述第三方推送平台黑名单存储于本地或云服务器上。
6.根据权利要求1所述的识别推送平台应用的方法,其特征在于,所述标记包含所述查找到的库文件名的APK文件对应的应用为实现第三方推送平台SDK的应用的步骤之后还包括:
在安装另一应用时,解压扫描所述另一应用的APK文件,得到所述另一应用的APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;
在所述另一应用的APK文件包含属于所述预设的第三方推送平台黑名单的库文件名时,拒绝安装所述另一应用。
7.一种识别推送平台应用的装置,其特征在于,包括:
APK文件分析模块,用于解压扫描已安装应用的APK文件,得到所述APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;
第一黑名单标记模块,用于查找属于预设的第三方推送平台黑名单的库文件名,标记包含所述查找到的库文件名的APK文件对应的应用为实现第三方推送平台SDK的应用;
应用启动请求检测模块,用于通过操作系统的启动管理服务检测应用启动请求,获取所述应用启动请求对应的目标应用;
拒绝响应模块,用于在所述目标应用为所述实现第三方推送平台SDK的应用时,拒绝响应所述应用启动请求。
8.根据权利要求7所述的识别推送平台应用的装置,其特征在于,所述装置还包括dex文件获取模块和第二黑名单标记模块,其中:
所dex文件获取模块用于解压扫描已安装应用的APK文件中包含的dex文件,得到dex文件包含的类文件名;
所述第二黑名单标记模块用于查找属于预设的第三方推送平台黑名单的类文件名,标记包含所述查找到的类文件名的APK文件对应的应用为实现第三方推送平台SDK的应用。
9.根据权利要求7所述的识别推送平台应用的装置,其特征在于,所述装置还包括中间对象回收模块,用于获取所述应用启动请求对应的调用者应用;获取所述调用者应用创建的与所述应用启动请求对应的中间对象,回收所述中间对象。
10.根据权利要求7所述的识别推送平台应用的装置,其特征在于,所述装置还包括消息通知模块和强制启动模块,其中:
所述消息通知模块用于通过展示弹出窗或在通知栏提示用户已将所述应用启动请求屏蔽;
所述强制启动模块用于接收输入的强制启动指令,重新响应所述已拒绝的应用启动请求。
11.根据权利要求7所述的识别推送平台应用的装置,其特征在于,所述第三方推送平台黑名单存储于本地或云服务器上。
12.根据权利要求7所述的识别推送平台应用的装置,其特征在于,所述装置还包括风险信息提示模块,用于在安装另一应用时,解压扫描所述另一应用的APK文件,得到所述另一应用的APK文件包含的库文件名,所述库文件名包括jar包名或so库文件名;在所述另一应用的APK文件包含属于所述预设的第三方推送平台黑名单的库文件名时,拒绝安装所述另一应用。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于指令相关的硬件,来完成权利要求1至6任意一项所述的方法。
14.一种基于冯诺依曼体系的计算机系统,其特征在于,包括通过系统总线连接的外部输入接口、处理器、存储器和输出接口;其中,所述计算机系统运行权利要求1至6任意一项所述的方法。
CN201610334249.5A 2016-05-18 2016-05-18 识别推送平台应用的方法及装置 Active CN106022110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610334249.5A CN106022110B (zh) 2016-05-18 2016-05-18 识别推送平台应用的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610334249.5A CN106022110B (zh) 2016-05-18 2016-05-18 识别推送平台应用的方法及装置

Publications (2)

Publication Number Publication Date
CN106022110A CN106022110A (zh) 2016-10-12
CN106022110B true CN106022110B (zh) 2019-04-09

Family

ID=57094998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610334249.5A Active CN106022110B (zh) 2016-05-18 2016-05-18 识别推送平台应用的方法及装置

Country Status (1)

Country Link
CN (1) CN106022110B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528421B (zh) * 2016-11-09 2019-07-26 国网浙江省电力公司电力科学研究院 一种Android应用中SDK处理方法
CN111095211B (zh) * 2017-10-13 2024-05-14 华为技术有限公司 一种应用启动的控制方法及用户终端
CN108037928A (zh) * 2017-12-13 2018-05-15 北京小米移动软件有限公司 软件开发包工具sdk检测方法及装置
CN109831484B (zh) * 2018-12-29 2022-04-22 天津字节跳动科技有限公司 App共享推送sdk服务的选举方法、装置、介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279540A (zh) * 2013-06-04 2013-09-04 北京小米科技有限责任公司 推送应用的方法和装置
CN104376263A (zh) * 2014-12-09 2015-02-25 北京奇虎科技有限公司 应用程序行为拦截的方法和装置
US8996069B2 (en) * 2011-12-27 2015-03-31 Vonage Network, Llc Systems and methods for communication notification and handling
CN105354492A (zh) * 2015-10-16 2016-02-24 珠海格力电器股份有限公司 移动通讯终端及其消息通知控制方法和装置
CN105488112A (zh) * 2015-11-20 2016-04-13 小米科技有限责任公司 信息推送方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9603094B2 (en) * 2013-06-09 2017-03-21 Apple Inc. Non-waking push notifications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996069B2 (en) * 2011-12-27 2015-03-31 Vonage Network, Llc Systems and methods for communication notification and handling
CN103279540A (zh) * 2013-06-04 2013-09-04 北京小米科技有限责任公司 推送应用的方法和装置
CN104376263A (zh) * 2014-12-09 2015-02-25 北京奇虎科技有限公司 应用程序行为拦截的方法和装置
CN105354492A (zh) * 2015-10-16 2016-02-24 珠海格力电器股份有限公司 移动通讯终端及其消息通知控制方法和装置
CN105488112A (zh) * 2015-11-20 2016-04-13 小米科技有限责任公司 信息推送方法及装置

Also Published As

Publication number Publication date
CN106022110A (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
CN109558748B (zh) 数据处理方法、装置、电子设备及存储介质
CN106022110B (zh) 识别推送平台应用的方法及装置
US9009728B2 (en) Method and apparatus for widget and widget-container distribution control based on content rules
CN104376263A (zh) 应用程序行为拦截的方法和装置
US9747449B2 (en) Method and device for preventing application in an operating system from being uninstalled
CN105630551A (zh) 一种安装应用软件的方法、装置及电子设备
CN106778331A (zh) 一种应用程序的监控方法、装置及系统
US9628939B2 (en) Data calling method and device
US10878078B2 (en) System notification service control method, apparatus, terminal device, and storage medium
CN111083093A (zh) 调用端能力的方法和装置
CN106022102A (zh) 阻止三方推送平台后台启动应用的方法及装置
CN109145589B (zh) 应用程序获取方法及装置
CN106022103A (zh) 阻止通过推送平台组件启动应用的方法及装置
CN112948804B (zh) 一种程序控制方法、装置和计算机可读存储介质
CN105844148A (zh) 一种保护操作系统的方法、装置及电子设备
CN105138372A (zh) 一种基于Android系统的后台服务管控系统及方法
CN102769663B (zh) 一种传递信息的服务器及方法、信息传递系统
CN113946739A (zh) 敏感数据查询方法、装置、设备及存储介质
CN111818025A (zh) 一种用户终端的检测方法和装置
CN114610446B (zh) 一种自动注入探针的方法、装置及系统
CN104158812A (zh) 一种终端应用的安全控制方法及系统
CN106022104A (zh) 阻止推送平台应用启动的方法及装置
CN114610343A (zh) 一种应用功能实现方法、装置、计算机设备及存储介质
CN105142130B (zh) 一种信息处理方法及电子设备
CN114268653B (zh) 设备调用方法、装置、设备、介质及产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 523860 No. 18, Wu Sha Beach Road, Changan Town, Dongguan, Guangdong

Applicant after: OPPO Guangdong Mobile Communications Co., Ltd.

Address before: 523860 No. 18, Wu Sha Beach Road, Changan Town, Dongguan, Guangdong

Applicant before: Guangdong OPPO Mobile Communications Co., Ltd.

GR01 Patent grant
GR01 Patent grant