基于Hook实现电视盒子的应用监控授权系统及方法与流程

文档序号:17697372发布日期:2019-05-17 21:43阅读:1949来源:国知局
基于Hook实现电视盒子的应用监控授权系统及方法与流程

本发明涉及智能电视领域的应用监控方法,尤其是涉及一种基于hook实现电视盒子的应用监控授权系统及方法。



背景技术:

智能电视是具有全开放式平台的一种电子设备,由于其搭载了智能操作系统,用户可自行安装和卸载各类应用,并能连网收看节目。在相关技术中,用户可通过遥控器对智能电视中的应用进行管理,包括应用的安装、更新以及卸载。而为了网络安全,需要对用户可见的内容进行审核及管控,以保证内容合法合规,展现给最终用户的内容渠道有盒子厂商通过rom集成的apk,第三方cp(内容提供商)通过应用商店提供的apk下载安装,用户通过盒子的外接端口如usb、tf卡等自行安装的apk。这些内容在运营过程中如果出现有了违规或违法内容就需要紧急下线,但是通过运营手段的处理方式只能对应用商店的推荐位进行下架处理,对于用户已经安装的apk应用无能为力。因此需要对用户终端设备上的应用进行管控,对不合规的内容采取更新、禁用或删除等强制手段。

解决这一问题的传统手段就是在android的framework层进行定制,在打开apk的时候发出通知给上层应用,由上层应用根据应用管控平台下发的管制规则进行相应的屏蔽处理。实际操作中需要盒子厂商对已发售盒子和待生产盒子进行适配并升级rom包之后才能让应用管控生效。如果遇到运营商用户使用多个厂商盒子时,会导致这一时间周期完全不可控,影响最终业务上线的时间。

这种处理方式最大的问题就是要求盒子厂商需要进行rom定制,按照ott牌照方的要求给出相应的通知接口。但在实际操作过程中,运营商集中采购的终端设备会涉及到多家硬件盒子厂商,使得这一定制周期时间长,过程难以控制。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于hook实现电视盒子的应用监控授权系统及方法。

本发明的目的可以通过以下技术方案来实现:

一种基于hook实现电视盒子的应用监控授权系统,包括:

管控规则获取模块,采用开机查询或定时轮询的方式从云端平台获取应用管控规则并存储;

已有应用信息存储模块,用于获取电视盒子中已有的应用信息,并存储形成应用信息数据库;

应用动作监听模块,基于hook技术监听是否存在应用打开消息,并发送所述应用打开消息,该应用打开消息包括对应的应用信息;

应用授权处理模块,在收到所述应用打开消息时响应,基于所述应用管控规则对该应用打开消息对应的应用进行管控授权处理。

进一步地,所述应用管控规则包括更新规则、强制更新规则、禁用规则和删除规则。

进一步地,所述应用动作监听模块包括:

代理生成单元,在所述应用动作监听模块启动时,基于java动态代理工具类生成ams代理对象;

消息监听单元,通过所述ams代理对象实时监听并获取用户输入的应用打开消息;

消息发送单元,将所述应用打开消息发送给应用授权处理模块。

进一步地,所述应用授权处理模块包括:

匹配单元,将所述应用信息与应用管控规则进行匹配,判断是否需要进行管控授权操作;

授权操作单元,在所述匹配单元的判断结果为是时响应,基于所述应用管控规则执行相应管控授权操作。

进一步地,该装置还包括:

应用信息更新模块,用于获取应用授权处理模块处理后的应用信息,并更新所述应用信息数据库。

本发明还提供一种基于hook实现电视盒子的应用监控授权方法,包括以下步骤:

1)获取电视盒子中已有的应用信息,存储形成应用信息数据库;

2)基于hook技术监听是否存在应用打开消息,若是,则执行步骤3),若否,则返回步骤2),所述应用打开消息包括对应的应用信息;

3)基于所述应用管控规则对该应用打开消息对应的应用进行管控授权处理,所述应用管控规则采用开机查询或定时轮询的方式由云端平台获取。

进一步地,所述应用管控规则包括更新规则、强制更新规则、禁用规则和删除规则。

进一步地,所述基于hook技术监听是否存在应用打开消息具体包括:

201)基于java动态代理工具类生成ams代理对象;

202)通过所述ams代理对象实时监听并获取用户输入的应用打开消息。

进一步地,所述步骤3)具体包括:

将所述应用信息与应用管控规则进行匹配,判断是否需要进行管控授权操作,若是,则基于所述应用管控规则执行相应管控授权操作,若否,则忽略所述应用打开消息。

进一步地,该方法还包括:

获取经管控授权处理处理后的应用信息,并更新所述应用信息数据库。

与现有技术相比,本发明具有以如下有益效果:

1)本发明基于hook技术监听是否存在应用打开消息,在第三方应用(apk)启动前检查管控规则中是否有相应的限制,并进行处理,可以对最终用户的电视盒子上进行apk管控,提高网络使用安全。

2)本发明通过反射framework层api来安装hooker,可以将framework层的工作巧妙地挪到业务层来实现,可以完全可以屏蔽多个不同盒子厂商的rom差异,完全避免了盒子厂商的适配工作量,极大地提前了业务上线的时间。

3)本发明侵入性小,不需要rom厂商来做定制,对第三方应用无影响。

4)本发明藕合性小,借助于广播机制来实现调度。

附图说明

图1为本发明的流程示意图;

图2为本发明的原理示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

本发明提供一种基于hook实现电视盒子的应用监控授权系统,包括管控规则配置模块、已有应用信息存储模块、应用动作监听模块和应用授权处理模块,其中,管控规则配置模块采用开机查询或定时轮询的方式从云端平台获取应用管控规则并存储;已有应用信息存储模块用于获取电视盒子中已有的应用信息,并存储;应用动作监听模块基于hook技术监听是否存在应用打开消息,并发送所述应用打开消息,该应用打开消息包括对应的应用信息;应用授权处理模块在收到所述应用打开消息时响应,基于所述应用管控规则对该应用打开消息对应的应用进行管控授权处理。

所述应用管控规则包括更新规则、强制更新规则、禁用规则和删除规则。各规则对应的管控授权操作具体为:

如果是采用更新规则,则在拦截系统调用后,发出广播通知应用管控模块去提示用户到应用商店下载安装相应版本的apk;

如果是采用强制更新规则,则在拦截系统调用后,则强制下载安装相应版本的apk;

如果是禁用规则,则在拦截系统调用后,发出广播,不再向系统api传递控制权;

如果是卸载规则,则在拦截系统调用后,发出广播通知应用管控模块去卸载相应的apk。

所述应用动作监听模块包括代理生成单元、消息监听单元和消息发送单元,其中,代理生成单元在所述应用动作监听模块启动时,基于java动态代理工具类生成ams代理对象;消息监听单元通过所述ams代理对象实时监听并获取用户输入的应用打开消息;消息发送单元将所述应用打开消息发送给应用授权处理模块。

所述应用授权处理模块包括匹配单元和授权操作单元,其中,匹配单元将所述应用信息与应用管控规则进行匹配,判断是否需要进行管控授权操作;授权操作单元在所述匹配单元的判断结果为是时响应,基于所述应用管控规则执行相应管控授权操作。

如图1和图2所示,上述基于hook实现电视盒子的应用监控授权系统的工作过程为:

1)获取电视盒子中已有的应用信息,存储形成应用信息数据库。本实施例中,开机获取终端设备(电视盒子)上已安装的所有应用列表,并存入provider。在监控授权系统工作期间监听应用安装或卸载的广播,并更新provider。

2)基于hook技术监听是否存在应用打开消息,若是,则执行步骤3),若否,则返回步骤2),所述应用打开消息包括对应的应用信息。

本实施例中,launcher启动后生成hooker,用java的动态代理工具类proxy和invocationhandler生成ams(activitymanagerservice)代理对象。安装hooker,通过反射获取到ams的引用并替换成ams代理对象。用户打开应用时,因为使用的是launcher提供的context,而该context的ams服务对象已经变成自己的代理对象,所以可以获知用户要打开的应用信息。

3)基于所述应用管控规则对该应用打开消息对应的应用进行管控授权处理,所述应用管控规则采用开机查询或定时轮询的方式由云端平台获取。放行系统调用过程,由系统的ams对象处理后继的打开应用流程。应用管控apk如果发现打开的应用是被管控的,对该应用进行规则约定的方式处理。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1