首页> 中国专利> 应用程序管理方法、应用程序管理系统与使用者装置

应用程序管理方法、应用程序管理系统与使用者装置

摘要

一种应用程序管理方法、应用程序管理系统与使用者装置。该应用程序管理方法包括下列步骤。接收原始应用程序,并通过再封装程序,将使用权管理程序代码注入至原始应用程序,以产生再封装应用程序。将再封装应用程序公开,以供使用者装置下载并安装再封装应用程序,其中使用者装置执行客户端程序。当使用者装置执行再封装应用程序,使用权管理程序代码发出使用权检查请求,以启动客户端程序根据再封装应用程序的使用权信息发出使用权检查回应。使用权检查回应指出再封装应用程序是否可继续执行。当使用权检查回应指出再封装应用程序不可继续执行,使用权管理程序代码终止再封装应用程序。

著录项

  • 公开/公告号CN104298916A

    专利类型发明专利

  • 公开/公告日2015-01-21

    原文格式PDF

  • 申请/专利权人 财团法人工业技术研究院;

    申请/专利号CN201310379908.3

  • 发明设计人 高铭智;潘佑宣;黄琨富;

    申请日2013-08-28

  • 分类号G06F21/52(20130101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人史新宏

  • 地址 中国台湾新竹县

  • 入库时间 2023-12-17 04:10:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-20

    授权

    授权

  • 2015-02-18

    实质审查的生效 IPC(主分类):G06F21/52 申请日:20130828

    实质审查的生效

  • 2015-01-21

    公开

    公开

说明书

技术领域

本发明涉及一种应用程序管理方法、应用程序管理系统与使用者装置。

背景技术

Android是以一个Linux为基础的半开放原始码操作系统,主要用于移动 装置,目前是由Google所成立的开放手机联盟(Open Handset Alliance)持 续开发中。Google所提供的Android软件开发套件(Software Development Kit, SDK)可让第三方软件开发者(Software Developer)为Android操作系统开 发应用程序。

然而,以应用程序的使用权(License)而言,Android的应用程序需要特 别的管理程序代码向后端系统查询应用程序的使用权,以决定应用程序是否 能执行。如果第三方软件开发者在开发应用程序时手动加入使用权管理程序 代码,则第三方软件开发者需要一段时间去学习Android SDK其中关于使用 权的部分。而针对不同业者的平台所供应的SDK,第三方软件开发者需采用 不同的方式加入使用权管理程序代码,否则会导致不相容的问题,而这将会 造成第三方软件开发者的成本与负担。并且关于使用权的SDK说明文件也有 泄密的疑虑。

此外,Android SDK提供包括网络、硬件设定以及移动装置各种数据存 取(如通信录、国际移动设备辨识码(International Mobile Equipment Identity  number,IMEI))等应用程序接口(Application Programming Interface,API)。 这也意味着第三方应用程序可以存取使用者在移动装置上的私人隐私数据并 连上网络送出。然而,Android对应用程序的管制只有在安装时期提供权限 (Permission)列表,供使用者决定是否安装,以达成对应用程序的权限管制。 应用程序安装之后,就无法变更其权限设定。

发明内容

本公开提供一种应用程序管理方法、应用程序管理系统与使用者装置, 其可为应用程序加入使用权以及存取权限的管理程序代码,以提供使用者装 置的应用程序执行使用权检查程序以及针对使用者装置内的应用程序进行权 限管制。

本公开提出一种应用程序管理方法,包括下列步骤。首先,接收原始应 用程序。通过再封装程序,将使用权管理程序代码注入至原始应用程序,以 产生再封装应用程序。接着,将再封装应用程序公开,以供使用者装置下载 并安装再封装应用程序,其中使用者装置执行客户端程序。当使用者装置执 行再封装应用程序时,使用权管理程序代码发出使用权检查请求,以启动客 户端程序根据再封装应用程序的使用权信息发出使用权检查回应。使用权检 查回应指出再封装应用程序是否可继续执行。当使用权检查回应指出再封装 应用程序不可继续执行时,则使用权管理程序代码终止再封装应用程序。

本公开另提出一种应用程序管理方法,用于使用者装置,包括下列步骤。 首先,执行客户端程序。自应用程序管理系统下载再封装应用程序,其中再 封装应用程序是应用程序管理系统通过再封装程序注入使用权管理程序代码 至原始应用程序而产生。接着,执行再封装应用程序。当再封装应用程序被 执行的时期,使用权管理程序代码发出使用权检查请求,以启动该客户端程 序根据再封装应用程序的使用权信息发出使用权检查回应,其中使用权检查 回应指出再封装应用程序是否可继续执行。当使用权检查回应指出再封装应 用程序不可继续执行时,则使用权管理程序代码终止再封装应用程序。

本公开另提出一种应用程序管理系统,其包括再封装模块以及应用程序 管理模块。再封装模块用以接收原始应用程序,并且通过再封装程序,注入 使用权管理程序代码至原始应用程序,以产生再封装应用程序。应用程序管 理模块用以公开再封装应用程序,以供使用者装置下载并安装再封装应用程 序,其中使用者装置执行客户端程序。当使用者装置执行再封装应用程序时, 使用权管理程序代码发出使用权检查请求,以启动客户端程序根据再封装应 用程序的使用权信息发出使用权检查回应。使用权检查回应指出再封装应用 程序是否可继续执行。当使用权检查回应指出再封装应用程序不可继续执行 时,使用权管理程序代码终止再封装应用程序。

本公开另提出一种使用者装置,其包括通信模块以及处理器。通信模块 用以连接应用程序管理系统。处理器用以执行客户端程序,自应用程序管理 系统下载再封装应用程序,并执行再封装应用程序,其中再封装应用程序是 应用程序管理系统通过再封装程序注入使用权管理程序代码至原始应用程序 而产生。当再封装应用程序被执行的时期,使用权管理程序代码发出使用权 检查请求,以启动客户端程序根据再封装应用程序的使用权信息发出使用权 检查回应。使用权检查回应指出再封装应用程序是否可继续执行。当使用权 检查回应指出再封装应用程序不可继续执行时,则使用权管理程序代码终止 再封装应用程序。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合 附图作详细说明如下。

附图说明

图1为根据本公开的一范例实施例所绘示的应用程序管理系统的概要方 块图。

图2为根据本公开的一范例实施例所绘示的使用者装置的概要方块图。

图3A为根据本公开的一范例实施例所绘示的应用程序管理方法的流程 图。

图3B为根据本公开的一范例实施例所绘示的使用者装置。

图4A为根据本公开的一范例实施例所绘示的应用程序管理方法的流程 图。

图4B为根据本公开的一范例实施例所绘示的使用者装置。

【符号说明】

100:应用程序管理系统

110:再封装模块

120:应用程序管理模块

130:使用权管理模块

140:金钥提供模块

150:金钥管理模块

160:空中下载服务管理模块

170:第三方软件开发端

180:使用者装置

210:通信模块

220:处理器

230:存储装置

S301~S319:应用程序管理方法的流程步骤

S401~S419:应用程序管理方法的流程步骤

具体实施方式

图1为根据本公开的一范例实施例所绘示的应用程序管理系统的概要方 块图,但此仅是为了方便说明,并不用以限制本公开。

请参照图1,应用程序管理系统100包括再封装模块110、应用程序管理 模块120、使用权管理模块130、金钥提供模块140、金钥管理模块150以及 空中下载服务管理(Over the Air,OTA)模块160。

在本范例实施例中,应用程序管理系统100可以为任何以计算机为基础 的系统(Computer-based System),用以接收第三方软件开发端170所开发的 应用程序,在再封装程序中,为上述应用程序增加使用权管理程序代码,再 提供给客户端的使用者装置180下载使用。此外,应用程序管理系统100更 可提供使用者装置180进行后续的查询以及其它相关服务。

再封装模块110用以接收第三方软件开发端170所开发的应用程序(在 此定义为“原始应用程序”),通过再封装程序,注入使用权管理程序代码至 原始应用程序,以产生再封装应用程序。此外,金钥提供模块140提供金钥 至再封装模块110,而再封装模块110可在再封装程序中注入金钥至原始应用 程序。

应用程序管理模块120用以公开上述再封装应用程序,以供客户端的使 用者装置180下载并安装上述再封装应用程序。

使用权管理模块130用以自使用者装置180接收上述再封装应用程序的 名称,并根据上述名称提供使用权信息至使用者装置180。

金钥管理模块150用以自金钥提供模块140取得上述再封装应用程序的 金钥,其可自使用者装置180接收再封装应用程序的名称后,根据上述名称 提供对应的上述金钥至使用者装置180。

空中下载服务管理模块160用以提供权限管理讯息至使用者装置180, 而使用者装置180可根据权限管理讯息变更权限设定。

在本范例实施例中,再封装模块110、应用程序管理模块120、使用权管 理模块130、金钥提供模块140、金钥管理模块150以及空中下载服务管理模 块160可以是设置在单一服务器主机或分属多个不同服务器主机的硬件或软 件。

图2为根据本公开的一范例实施例所绘示的使用者装置180的概要方块 图。请参照图2,使用者装置180包括通信模块210、处理器220以及存储装 置230,其中通信模块210以及存储装置230分别耦接至处理器220。

在本范例实施例中,使用者装置180为具有上网功能的智能手机、平板 计算机、个人数字助理、笔记型计算机、电子书、或是数字相机等移动装置。 此外,在本范例实施例中,使用者装置180采用Android操作系统。然而在 其它范例实施例中,使用者装置180也可采用Windows、iOS、Android,iOS, Blackberry,Symbian,Linux或Unix等操作系统。

在以下的说明当中,处理器220通过执行使用权管理程序代码、权限管 理程序代码以及客户端程序来控制使用者装置180的关于本公开的运作。

使用者装置180传送的讯息与数据是由处理器220通过通信模块210所 发送,使用者装置180所接收的讯息与数据亦是由处理器220通过通信模块 210所接收。在此,通信模块210可支持全球移动通信系统(Global System for  Mobile communications,GSM)、第三代移动通信网络(The Third Generation  Mobile Communication,3G Mobile Communication)、第四代移动通信网络 (4G Mobile Communication)、长期演进技术网络(Long Term Evolution  Network,LTE Network)、个人手持式电话系统(Personal Handy-phone  System,PHS)、码分多重接入(Code Division Multiple Access,CDMA)、 无线保真(Wireless Fidelity,Wi-Fi)、全球互通微波接入(Worldwide  Interoperability for Microwave Access,WiMAX)、蓝牙(Bluetooth)等无线 信号传输(Wireless Signal Transmission)技术。通信模块210也可以支持有 线信号传输技术,例如通用串行总线(Universal Serial Bus,USB)、火线串 行接口(Firewire)或雷电串行接口(Thunderbolt)。在本范例实施例中,使 用者装置180的通信模块210用以连接应用程序管理系统100。

存储装置230例如是固定式或可移动式的随机存取存储器(Random  Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘、存储卡、其 它类似的装置或这些装置的组合,用以存储使用者装置180硬件运作所执行 的程序代码以及数据。

图3A为根据本公开的一范例实施例所绘示的应用程序管理方法的流程 图。图3B为根据本公开的一范例实施例所绘示的使用者装置180。值得注意 的是,在本范例实施例中是以管理应用程序的使用权的观点来进行说明。

请同时参照图1、图2以及图3A,首先应用程序管理系统100的再封装 模块110接收第三方软件开发端170所开发的原始应用程序(步骤S301)。 在本范例实施例中,当再封装模块110接收原始应用程序后,再封装模块110 通过再封装程序,注入使用权管理程序代码以及金钥提供模块140所提供的 金钥至原始应用程序,以产生再封装应用程序(步骤S303)。

详细而言,以Android系统为例,再封装模块110先自原始应用程序将 classes.dex文件取出,再利用反汇编器(Disassembler)将classes.dex文件反 汇编成至少一个附属文件名为smali的文件,在此定义为“反汇编文件”。接 着,金钥提供模块140先提供金钥至再封装模块110,而再封装模块110再注 入使用权管理程序代码以及金钥至上述反汇编文件,以产生至少一个第一中 介文件。其中,再封装模块110可对反汇编文件做静态分析(Static Analysis), 以将使用权管理程序代码注入至适当的位置。举例而言,在本实施例中可以 分析使用者装置180在进入此应用程序时所载入的程序代码,而将使用权管 理程序代码注入于此。此外,目前Android的应用程序是由Java程序语言来 进行编写。然而,由于Java程序容易被反汇编,为避免遭受到反向工程 (Reverse Engineering)的攻击,再封装模块110动态混淆(Obfuscate)第一 中介文件,以产生至少一第二中介文件。之后,再利用汇编器(Assembler) 汇编上述第二中介文件,并且执行Android系统对所有应用程序所要求的数 字签章程序,以产生再封装应用程序。在此的汇编器以及反汇编器可采用专 门汇编以及反汇编dex文件所使用的smali/baksmali工具。

接着,应用程序管理模块120会公开再封装应用程序,以供使用者装置 180下载并安装再封装应用程序(步骤S305)。例如,应用程序管理模块120 可提供一个网页或是应用程序贩售平台以公开上述的再封装应用程序,使用 者装置180可进行付费或免费下载以取得上述再封装应用程序。

当使用者装置180下载并安装再封装应用程序后,如图3B所示,使用者 装置180包括再封装应用程序310,而再封装应用程序310包括使用权管理 程序代码315。在此,图3B的使用者装置180亦包括图2的使用者装置180 的所有元件,相关叙述请参照图2的相关说明,在此不再赘述。

值得注意的是,使用者装置180还包括客户端程序320,而当使用者装 置180的处理器220执行客户端程序320时,其可通过通信模块210通过与 应用程序管理系统100或是存储装置230的数据库进行沟通,以进行使用权 检查程序。也就是说,在使用者装置180下载并安装再封装应用程序310后, 当使用者装置180的处理器220执行再封装应用程序310时(步骤S307), 再封装应用程序310内的使用权管理程序代码315会发出使用权检查请求, 以启动使用者装置180内的客户端程序320根据再封装应用程序310的使用 权信息发出使用权检查回应(步骤S309)。接着,使用权检查回应以及使用 权检查回应所需的时间将指出再封装应用程序310是否可继续执行。

在本范例实施例中,使用权管理程序代码315可提供上述再封装应用程 序310的名称至客户端程序320。接着,客户端程序320可通过通信模块210, 将上述名称提供给应用程序管理系统100,而应用程序管理系统100的使用 权管理模块130可根据接收到的再封装应用程序310的名称提供对应的使用 权信息给客户端程序320。客户端程序320根据使用权信息的内容进行使用 权检查。举例而言,使用权信息可包括再封装应用程序170的使用期限、使 用次数等授权协议(License Agreements)。客户端程序320根据使用权信息进 行使用权检查,然后在使用权检查回应中指出再封装应用程序310是否可继 续执行。接着,客户端程序320将使用权检查回应传送至使用权管理程序代 码315,以告知使用权管理程序代码315继续执行或终止再封装应用程序310。 然而,为了安全防护设计以及避免不同应用程序间(Inter-application)的攻击, 本范例实施例采用程序间通信(Inter-process Communication,IPC)的安全 通信协议,以确保客户端程序以及再封装应用程序之间所传送的数据完整性。

详细而言,以Android操作系统为例,其提供一个再封装应用程序310 与客户端程序320之间的IPC通道。此外,使用权管理程序代码315还可包 括一个计时器。再封装应用程序310的使用权管理程序代码315发出使用权 检查请求时,会先使用再封装应用程序310的金钥加密使用权检查请求,再 将再封装应用程序310的名称以及加密后的使用权检查请求发送给客户端程 序320。此时,计时器也会开始计时。

客户端程序320在接收到再封装应用程序310的名称以及加密后的使用 权检查请求后,则通过通信模块210,将上述名称提供给应用程序管理系统 100。应用程序管理系统100便可根据上述名称,利用金钥管理模块150向金 钥提供模块140查询上述再封装应用程序310所对应的金钥,并且将金钥回 传给使用者装置180。

在另一范例实施例中,倘若使用者装置180在之前有执行使用权检查程 序,则上述使用权信息以及金钥可存储至存储装置230的数据库中,或者仅 存储使用权信息与金钥其中之一至存储装置230的数据库中。客户端程序可 直接利用再封装应用程序310的名称于数据库查询再封装应用程序所对应的 金钥以及使用权信息,而不必再向应用程序管理系统100查询。

当使用者装置180自通信模块230或是由本身的存储装置230取得上述 使用权信息以及金钥后,客户端程序320先使用上述金钥解密使用权检查请 求,根据使用权信息产生使用权检查回应,并且再使用上述金钥加密使用权 检查回应,再传送至再封装应用程序310的使用权管理程序代码315。当使 用权管理程序代码315将使用权检查回应解码并检视其内容后,计时器停止 计时。

在本范例实施例中,再封装应用程序是否可继续执行是根据客户端程序 320的使用权检查回应以及计时器的计时。首先,根据计时器的计时,使用 权管理程序代码315判断在向客户端程序320发出使用权检查请求的预设时 间(例如5秒)内是否收到使用权检查回应(步骤S311)。倘若在预设时间 内未收到使用权检查回应,则使用权管理程序代码315终止再封装应用程序 (步骤S313)。反之,倘若在预定时间内收到使用权检查回应,则使用权管 理程序代码315根据使用权检查回应决定是否继续执行再封装应用程序310 (步骤S315)。当使用权检查回应指出再封装应用程序310不可继续执行时, 则使用权管理程序代码315终止再封装应用程序(步骤S317)。反之,使用 权管理程序代码315则可继续执行再封装应用程序310(步骤S319)。

在本范例实施例中,使用者装置180可自应用程序管理系统100取得使 用权信息,而客户端程序320再依使用权信息来决定是否停止再封装应用程 序310的使用。此外,当使用者装置180是基于沙盒(Sand Box)来让各应 用程序的行程独立,以保障安全的系统,如Android,iOS,Blackberry, Symbian等,则本公开更可提供应用程序的权限(Permission)管理,以对使 用者装置180内的一个或多个应用程序设定不同的存取权限。

图4A为根据本公开的一范例实施例所绘示的应用程序管理方法的流程 图。图4B为根据本公开的一范例实施例所绘示的使用者装置180。不同于前 一范例实施例,本范例实施例是以管理应用程序的权限的观点来进行说明。

请先参照图4A搭配图1以及图2,首先应用程序管理系统100的再封装 模块110接收自第三方软件开发端170所开发的原始应用程序(步骤S401)。 在本范例实施例中,当再封装模块110接收原始应用程序后,再封装模块110 通过再封装程序,注入权限管理程序代码以及金钥提供模块140所提供的金 钥至原始应用程序,以产生再封装应用程序(步骤S403)。

以本范例实施例而言,再封装模块110先自原始应用程序将classes.dex 文件取出,再利用反汇编器将classes.dex文件反汇编成至少一个附属文件名 为smali的反汇编文件。接着,金钥提供模块140先提供金钥至再封装模块 110,而再封装模块110再注入权限管理程序代码以及金钥至上述反汇编文件, 以产生至少一第一中介文件。其中,再封装模块110可同样地对反汇编文件 做静态分析,以将权限管理程序代码注入至适当的位置。举例而言,在本实 施例中可以分析与使用者隐私相关的应用程序接口(Application Programming  Interface,API)的程序代码,而将权限管理程序代码注入于此。再封装模块 110动态混淆第一中介文件,以产生至少一第二中介文件。之后,再利用例 如是smali的汇编器汇编上述第二中介文件,并且执行Android系统对所有应 用程序所要求的数字签章程序,以产生再封装应用程序。如同第一范例实施 例,汇编器以及反汇编器可采用专门汇编以及反汇编dex文件所使用的 smali/baksmali工具。

接着,应用程序管理模块120会公开再封装应用程序,以供使用者装置 180下载并安装再封装应用程序(步骤S405)。例如,应用程序管理模块120 可提供一个网页或是应用程序贩售平台以公开上述的再封装应用程序,使用 者装置180可进行付费或免费下载以取得上述再封装应用程序。

当使用者装置180下载并安装再封装应用程序后,如图4B所示,使用者 装置180还包括再封装应用程序410,而再封装应用程序410还包括权限管 理程序代码415。在此,图4B的使用者装置180亦包括图2的使用者装置180 的所有元件,相关叙述请参照图2的相关说明。

值得注意的是,在本范例实施例中,使用者装置180还包括客户端程序 420,而当使用者装置180的处理器220执行客户端程序420时,其可通过通 信模块210通过与应用程序管理系统100或是存储装置230的数据库进行沟 通,以进行权限检查程序。

此外,存储装置230存储某些系统函数的权限设定,上述系统函数通常 是涉及使用者的信息隐私或信息安全的系统函数,例如用以取得使用者装置 180的国际移动设备辨识码(International Mobile Equipment Identity number, IMEI)的函数、用以存取使用者装置180的使用者身份模块(Subscriber Identity  Module,SIM)的函数、用以取得使用者装置180的国际移动用户辨识码 (International Mobile Subscriber Identity Number,IMSI)的函数、搜寻使用 者装置180的位置信息的函数、取得电话号码的函数、送出简讯的函数、由 网络下载文件的函数等。在本范例实施例中,客户端程序可提供一个使用者 接口,使用者装置180的使用者可用上述使用者接口将上述系统函数的权限 设定变更为执行、不执行或是以假信息回应。通过上述的使用者接口,上述 的权限设定可以随时变更,而权限管理程序代码415可根据上述系统函数的 权限设定而执行上述系统函数、不执行上述系统函数或是以假信息回应上述 系统函数。

在使用者装置180下载并安装再封装应用程序后,在使用者装置180的 处理器220正在执行再封装应用程序时(步骤S407),当再封装应用程序呼 叫上述系统函数(步骤S409),再封装应用程序内的权限管理程序代码会先 拦截再封装应用程序对上述系统函数的呼叫(步骤S411),并且发出权限检 查请求,以启动客户端程序根据上述系统函数的权限设定发出权限检查回应 (步骤S413)。此外,权限检查回应以及权限检查回应所需的时间将指出上 述系统函数是否可继续执行。

详细而言,如前一范例实施例,Android操作系统提供一个再封装应用程 序与客户端程序之间的IPC通道。此外,权限管理程序代码415还包括一个 计时器。再封装应用程序410的权限管理程序代码415发出权限检查请求时, 会先使用再封装应用程序410的金钥加密权限检查请求,再将再封装应用程 序410的名称以及加密后的权限检查请求发送给客户端程序420。此时,计 时器也会开始计时。

客户端程序420在接收到再封装应用程序410的名称以及加密后的权限 检查请求后,则通过通信模块210,将上述名称提供给应用程序管理系统100。 应用程序管理系统100便可根据上述名称,利用金钥管理模块150向金钥提 供模块140查询上述再封装应用程序所对应的金钥,并且将金钥回传给使用 者装置180。

在另一实施例中,倘若使用者装置180在之前有执行权限检查程序,则 上述金钥可存储至存储装置230的数据库中。客户端程序可直接利用上述名 称于数据库查询再封装应用程序所对应的金钥。

当使用者装置180自通信模块230或是由本身的存储装置230接收到上 述金钥后,客户端程序420先使用上述金钥解密权限检查请求,并且再使用 上述金钥加密权限检查回应,再传送至再封装应用程序410的权限管理程序 代码415。当权限管理程序代码415将权限检查回应解码并检视其内容后, 计时器停止计时。在此,权限检查回应是根据前述使用者装置180的使用者 通过使用者接口对系统函数所做的权限设定。

在本范例实施例中,首先,根据计时器的计时,权限管理程序代码415 判断在向客户端程序420发出权限检查请求的预设时间(例如5秒)内是否 收到权限检查回应(步骤S415)。倘若尚未收到权限检查回应,则权限管理 程序代码415不执行上述系统函数(步骤S417)。反之,倘若在预定时间内 收到权限检查回应,则权限管理程序代码根据权限检查回应继续执行上述系 统函数、不执行系统函数或是以假信息回应系统函数(步骤S419)。

举例而言,假设在使用者装置180内存有导航的再封装应用程序以及 Facebook的再封装应用程序。使用者装置180可针对此两种再封装应用程序 对系统函数做不同的权限设定。以读取位置信息的系统函数为例,导航的再 封装应用程序的权限被设定为可读取使用者装置180的全球定位系统(Global  Positioning System,GPS)数据,而Facebook的再封装应用程序被设定为不 可读取使用者装置180的GPS数据。因此,一旦Facebook的再封装应用程 序在执行读取位置信息的系统函数时,权限管理程序代码可根据权限检查回 应拒绝Facebook读取GPS数据。在另一实施例中,也可以假信息回应读取 位置信息的系统函数,使Facebook读取假的GPS数据。藉此,使用者装置 180的使用者既可避免所在位置的GPS数据在Facebook上被他人读取追踪, 而又可以利用GPS数据享有导航的服务。

在另一范例实施例中,客户端程序420更具备了即时分析的功能。当使 用者装置180在执行再封装应用程序410时,当有动态载入的新增程序代码 时,再封装应用程序410的权限管理程序代码415会将新增程序代码传送至 客户端程序420分析。在此,新增程序代码可以是来自应用程序管理系统100 或其它来源的再封装应用程序的更新文件。

当再封装应用程序410在执行时期载入新增程序代码时,权限管理程序 代码415可拦截此新增程序代码,将新增程序代码传送至客户端程序420。 客户端程序420分析新增程序代码是否呼叫需要权限管理的系统函数,并且 根据分析的结果修改新增程序代码。客户端程序420修改新增程序代码之后, 将回传修改后的新增程序代码至权限管理程序代码415。此时,权限管理程 序代码415则可允许修改后的新增程序代码并入再封装应用程序410。经过 上述修改,权限管理程序代码415可拦截新增程序代码对上述系统函数的呼 叫,并且发出权限检查请求,以启动客户端程序420根据权限设定发出权限 检查回应。

在本范例实施例中,在特定的情况之下,应用程序管理系统100的空中 下载服务管理模块160可传送权限管理讯息至使用者装置180的客户端程序 420。举例而言,当使用者遗失使用者装置180时,使用者可通知应用程序管 理系统100,而应用程序管理系统100的空中下载服务管理模块160可传送 权限管理讯息至使用者装置180的客户端程序420,通知客户端程序420变 更系统函数的权限设定。例如,权限管理讯息可通知客户端程序420将导航 的再封装应用程序设定为可读取GPS数据,方便追踪使用者装置180的所在 位置。又例如,权限管理讯息可通知客户端程序420将所有再封装应用程序 410设定为不可取得电话号码或收发简讯,以防止电话号码或隐私数据被窃 取。

除此之外,本范例实施例的应用程序管理方法,无须修改使用者装置180 底层的操作系统,因此应用程序管理系统100并不限于电信业者。在另一范 例实施例中,应用程序管理系统100可以是一般软件系统整合厂商,可以利 用本公开的应用程序管理方法发展独立的平台,其运作方式类似于软件贩售 平台,而此独立的平台可应用于企业或组织内部,提供符合企业或组织存取 政策的应用程序给内部人员或相关人员使用。在此范例实施例中,使用者装 置180可上传本身已有的原始应用程序至应用程序管理系统100。应用程序 管理系统100可为此原始应用程序进行再封装程序,产生可以动态设定权限 的再封装应用程序,以供使用者装置180进行下载。

值得一提的是,图3A的使用权管理实施例以及图4A的权限管理实施例 的再封装程序可以整合,也就是将使用权管理程序代码连同权限管理程序代 码以及金钥,一并注入至原始应用程序中。藉此,使用者装置180下载的再 封装应用程序可以执行使用权检查程序以及权限检查程序。使用权检查程序 以及权限检查程序可使用相同或不同的金钥,如果使用不同金钥,则金钥提 供模块140必须提供两个不同的金钥,再封装程序必须注入这两个不同的金 钥至原始应用程序中以产生再封装应用程序,其中一个金钥用于使用权检查 程序的加密和解密,另一个金钥用于权限检查程序的加密和解密。

综上所述,本公开所提出的应用程序管理方法以及应用程序管理系统, 在公开第三方软件开发端所开发的原始应用程序之前,可进行再封装程序, 为原始应用程序注入使用权管理程序代码以及权限管理程序代码,以产生再 封装应用程序。当使用者装置下载并安装再封装应用程序后,可配合使用者 装置的客户端程序执行使用权检查程序。此外,客户端程序可提供使用者接 口,让使用者装置的使用者通过使用者接口设定各个再封装应用程序的相关 系统函数的存取权限,可对再封装应用程序进行不同的权限管制,以适当地 保护使用者隐私(User Privacy)。

虽然本公开已以实施例公开如上,然其并非用以限定本公开,本领域技 术人员在不脱离本公开的精神和范围内,当可作些许的更动与润饰,故本公 开的保护范围当视所附权利要求书界定范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号