CN107231490A - 动态更新ios系统应用程序的方法、客户端及服务器 - Google Patents
动态更新ios系统应用程序的方法、客户端及服务器 Download PDFInfo
- Publication number
- CN107231490A CN107231490A CN201710591861.5A CN201710591861A CN107231490A CN 107231490 A CN107231490 A CN 107231490A CN 201710591861 A CN201710591861 A CN 201710591861A CN 107231490 A CN107231490 A CN 107231490A
- Authority
- CN
- China
- Prior art keywords
- reparation bag
- patch reparation
- client
- patch
- bag
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种动态更新IOS系统应用程序的方法,应用于客户端,方法包括:从服务器下载经过非对称加密的补丁修复包,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;利用客户端的内置解密逻辑脚本语言对补丁修复包进行解密;对经过解密后的补丁修复包进行校验;当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成IOS系统应用程序更新。本发明能够通过使用JS代码替换IOS系统中应用程序的原生代码,实现动态更新IOS系统应用程序,提升了用户体验。本发明还公开了一种客户端和服务器。
Description
技术领域
本发明涉及互联网技术领域,更具体地说,涉及动态更新IOS系统应用程序的方法、客户端及服务器。
背景技术
众所周知,移动终端的运行依赖于内置的运行系统,鉴于移动终端的便捷性和操作简易性,人们越来越倾向于通过移动终端进行网络活动。因此,为了满足用户的需求,同时增加移动终端的使用灵活性,第三方服务器基于移动终端的运行系统开发出多种实现不同功能的APP(Application,应用程序),当用户想要通过移动终端进行某种活动时,可以在移动终端安装能够实现相应功能的APP。
目前,对于IOS系统,由于APP为第三方服务器开发的第三方应用程序,在第三方服务器开发出APP后,需要经过客户端的IOS系统的审核,当IOS系统审核通过后,将该APP在APP Store中发布,此时,当用户需要使用该AAP时,才能够从APP Store中下载。
然而,如果在APP发布之后发现某些功能存在错误,则需要先将APP下线,然后对APP存在的错误进行修复,修复后需要再次审核继而再次发布,该过程需消耗很长的时间,导致APP的成本消耗大,用户体验差。因此,如何有效的实现动态更新IOS系统应用程序是一项亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种动态更新IOS系统应用程序的方法,能够通过使用JS代码替换IOS系统中应用程序的原生代码,实现动态更新IOS系统应用程序,提升了用户体验。
为实现上述目的,本发明提供如下技术方案:
一种动态更新IOS系统应用程序的方法,应用于客户端,所述方法包括:
从服务器下载经过非对称加密的补丁修复包,所述补丁修复包为通过JS代码编写的脚本程序代码文件,所述补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;
利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密;
对经过解密后的补丁修复包进行校验;
当校验通过后,将所述补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
优选地,对经过解密后的补丁修复包进行校验包括:
通过MD5值校验所述经过解密后的补丁修复包的摘要是否与IOS系统应用程序的摘要一致,当经过解密后的补丁修复包的摘要与IOS系统应用程序的摘要一致时校验通过。
优选地,所述利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密包括:
利用所述客户端的内置公钥对所述补丁修复包进行解密。
优选地,所述公钥和私钥为利用非对称加密工具预先生成的一对密钥。
一种动态更新IOS系统应用程序的方法,应用于服务器,所述方法包括:
接收所述IOS系统应用程序的连接请求;
基于所述连接请求将经过非对称加密的补丁修复包发送到客户端,所述补丁修复包为通过JS代码编写的脚本程序代码文件,所述补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;由所述客户端利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密;对经过解密后的补丁修复包进行校验;当校验通过后,将所述补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
一种客户端,包括:
下载模块,用于从服务器下载经过非对称加密的补丁修复包,所述补丁修复包为通过JS代码编写的脚本程序代码文件,所述补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;
解密模块,用于利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密;
校验模块,用于对经过解密后的补丁修复包进行校验
替换模块,用于当校验通过后,将所述补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
优选地,所述校验模块具体用于:
通过MD5值校验所述经过解密后的补丁修复包的摘要是否与IOS系统应用程序的摘要一致,当经过解密后的补丁修复包的摘要与IOS系统应用程序的摘要一致时校验通过。
优选地,所述解密模块具体用于:
利用所述客户端的内置公钥对所述补丁修复包进行解密。
优选地,所述公钥和私钥为利用非对称加密工具预先生成的一对密钥。
一种服务器,包括:
接收模块,用于接收所述IOS系统应用程序的连接请求;
发送模块,用于基于所述连接请求将经过非对称加密的补丁修复包发送到客户端,所述补丁修复包为通过JS代码编写的脚本程序代码文件,所述补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;由所述客户端利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密;对经过解密后的补丁修复包进行校验;当校验通过后,将所述补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
由上述技术方案可知,本实施例提供了一种动态更新IOS系统应用程序的方法,当需要对IOS系统中的应用程序进行更新时,首先从服务器下载经过非对称加密的补丁修复包,其中,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;然后利用客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密,对经过解密后的补丁修复包进行校验,当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成IOS系统应用程序更新。能够通过使用JS代码替换IOS系统中应用程序的原生代码,实现动态更新IOS系统应用程序,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明公开的一种动态更新IOS系统应用程序的方法实施例1的方法流程图;
图2为本发明公开的一种动态更新IOS系统应用程序的方法实施例2的方法流程图;
图3为本发明公开的一种动态更新IOS系统应用程序的方法实施例3的方法流程图;
图4为本发明公开的一种客户端的结构示意图;
图5为本发明公开的另一种客户端的结构示意图;
图6为本发明公开的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种动态更新IOS系统应用程序的方法实施例1的流程图,应用于客户端,所述客户端可以为智能手机、平板电脑、笔记本电脑等智能终端;本方法包括以下步骤:
S101、从服务器下载经过非对称加密的补丁修复包,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;
IOS系统是由苹果公司开发的移动操作系统,当安装在IOS系统中的APP需要进行更新时,客户端从服务器下载经过非对称加密的补丁修复包,其中,所述下载的补丁修复包即为用于对应用程序进行更新的,通过JS代码编写的脚本程序代码文件。其中,JS代码就是JavaScript编写的脚本文件的代码,用单独文件保存,扩展名为.JS。另外,在非对称加密时,采用预先生成的私钥进行加密。
S102、利用客户端的内置解密逻辑脚本语言对补丁修复包进行解密;
当客户端从服务器下载到经过非对称加密的补丁修复包后,客户端利用内置的解密逻辑脚本语言对补丁修复包进行解密。
S103、对经过解密后的补丁修复包进行校验;
然后,对经过解密后的补丁修复包进行校验,判断经过解密后的补丁修复包是否与需要进行更新的应用程序相匹配,即判断经过解密后的补丁修复包是否是用于更新应用程序的补丁修复包。
S104、当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
当经过校验表明经过解密后的补丁修复包为用于更新应用程序的补丁修复包时,将补丁修复包中的JS代码替换应用程序中需要进行更新的OC代码,实现对应用程序的更新。
综上所述,在上述实施例中,当需要对IOS系统中的应用程序进行更新时,首先从服务器下载经过非对称加密的补丁修复包,其中,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;然后利用客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密,对经过解密后的补丁修复包进行校验,当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成IOS系统应用程序更新。能够通过使用JS代码替换IOS系统中应用程序的原生代码,实现动态更新IOS系统应用程序,提升了用户体验。
如图2所示,为本发明公开的一种动态更新IOS系统应用程序的方法实施例2的流程图,应用于客户端,所述客户端可以为智能手机、平板电脑、笔记本电脑等智能终端;本方法包括以下步骤:
S201、从服务器下载经过非对称加密的补丁修复包,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;
IOS系统是由苹果公司开发的移动操作系统,当安装在IOS系统中的APP需要进行更新时,客户端从服务器下载经过非对称加密的补丁修复包,其中,所述下载的补丁修复包即为用于对应用程序进行更新的,通过JS代码编写的脚本程序代码文件。其中,JS代码就是JavaScript编写的脚本文件的代码,用单独文件保存,扩展名为.JS。另外,在非对称加密时,采用预先生成的私钥进行加密。
S202、利用所述客户端的内置公钥对补丁修复包进行解密;
当客户端从服务器下载到经过非对称加密的补丁修复包后,客户端利用内置的解密逻辑脚本语言对补丁修复包进行解密。
S203、通过MD5值校验经过解密后的补丁修复包的摘要是否与IOS系统应用程序的摘要一致,当经过解密后的补丁修复包的摘要与IOS系统应用程序的摘要一致时校验通过;
然后,对经过解密后的补丁修复包进行校验,判断经过解密后的补丁修复包是否与需要进行更新的应用程序相匹配,即判断经过解密后的补丁修复包是否是用于更新应用程序的补丁修复包。
S204、当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
当经过校验表明经过解密后的补丁修复包为用于更新应用程序的补丁修复包时,将补丁修复包中的JS代码替换应用程序中需要进行更新的OC代码,实现对应用程序的更新。
综上所述,在上述实施例中,当需要对IOS系统中的应用程序进行更新时,首先从服务器下载经过非对称加密的补丁修复包,其中,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;然后利用客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密,对经过解密后的补丁修复包进行校验,当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成IOS系统应用程序更新。能够通过使用JS代码替换IOS系统中应用程序的原生代码,实现动态更新IOS系统应用程序,提升了用户体验。
具体的,其中,公钥和私钥为利用非对称加密工具预先生成的一对密码。即通过公钥可以解密相应的私钥。
如图3所示,为本发明公开的一种动态更新IOS系统应用程序的方法实施例3的流程图,应用于服务器,本方法包括以下步骤:
S301、接收IOS系统应用程序的连接请求;
当安装在IOS系统中的APP需要进行更新时,客户端向服务器发送需要进行应用程序更新的连接请求,服务器接收客户端发送的IOS系统应用程序更新连接请求。
S302、基于连接请求将经过非对称加密的补丁修复包发送到客户端,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;由客户端利用客户端的内置解密逻辑脚本语言对补丁修复包进行解密;对经过解密后的补丁修复包进行校验;当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成IOS系统应用程序更新。
当服务器接收到客户端发送的应用程序更新的连接请求后,将相应的经过非对称加密的补丁修复包发送至客户端。其中,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件。当客户端从服务器下载到经过非对称加密的补丁修复包后,客户端利用内置的解密逻辑脚本语言对补丁修复包进行解密。然后,对经过解密后的补丁修复包进行校验,判断经过解密后的补丁修复包是否与需要进行更新的应用程序相匹配,即判断经过解密后的补丁修复包是否是用于更新应用程序的补丁修复包。当经过校验表明经过解密后的补丁修复包为用于更新应用程序的补丁修复包时,将补丁修复包中的JS代码替换应用程序中需要进行更新的OC代码,实现对应用程序的更新。
如图4所示,为本发明公开的一种客户端的结构示意图,所示客户端可以为智能手机、平板电脑、笔记本电脑等智能终端;所述客户端包括:
下载模块401,用于从服务器下载经过非对称加密的补丁修复包,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;
IOS系统是由苹果公司开发的移动操作系统,当安装在IOS系统中的APP需要进行更新时,客户端从服务器下载经过非对称加密的补丁修复包,其中,所述下载的补丁修复包即为用于对应用程序进行更新的,通过JS代码编写的脚本程序代码文件。其中,JS代码就是JavaScript编写的脚本文件的代码,用单独文件保存,扩展名为.JS。另外,在非对称加密时,采用预先生成的私钥进行加密。
解密模块402,用于利用客户端的内置解密逻辑脚本语言对补丁修复包进行解密;
当客户端从服务器下载到经过非对称加密的补丁修复包后,客户端利用内置的解密逻辑脚本语言对补丁修复包进行解密。
校验模块403,用于对经过解密后的补丁修复包进行校验;
然后,对经过解密后的补丁修复包进行校验,判断经过解密后的补丁修复包是否与需要进行更新的应用程序相匹配,即判断经过解密后的补丁修复包是否是用于更新应用程序的补丁修复包。
替换模块404,用于当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
当经过校验表明经过解密后的补丁修复包为用于更新应用程序的补丁修复包时,将补丁修复包中的JS代码替换应用程序中需要进行更新的OC代码,实现对应用程序的更新。
综上所述,在上述实施例中,当需要对IOS系统中的应用程序进行更新时,首先从服务器下载经过非对称加密的补丁修复包,其中,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;然后利用客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密,对经过解密后的补丁修复包进行校验,当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成IOS系统应用程序更新。能够通过使用JS代码替换IOS系统中应用程序的原生代码,实现动态更新IOS系统应用程序,提升了用户体验。
如图5所示,为本发明公开的一种客户端的结构示意图,所示客户端可以为智能手机、平板电脑、笔记本电脑等智能终端;所述客户端包括:
下载模块501,用于从服务器下载经过非对称加密的补丁修复包,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;
IOS系统是由苹果公司开发的移动操作系统,当安装在IOS系统中的APP需要进行更新时,客户端从服务器下载经过非对称加密的补丁修复包,其中,所述下载的补丁修复包即为用于对应用程序进行更新的,通过JS代码编写的脚本程序代码文件。其中,JS代码就是JavaScript编写的脚本文件的代码,用单独文件保存,扩展名为.JS。另外,在非对称加密时,采用预先生成的私钥进行加密。
解密模块502,用于利用所述客户端的内置公钥对补丁修复包进行解密;
当客户端从服务器下载到经过非对称加密的补丁修复包后,客户端利用内置的解密逻辑脚本语言对补丁修复包进行解密。
校验模块503,用于通过MD5值校验经过解密后的补丁修复包的摘要是否与IOS系统应用程序的摘要一致,当经过解密后的补丁修复包的摘要与IOS系统应用程序的摘要一致时校验通过;
然后,对经过解密后的补丁修复包进行校验,判断经过解密后的补丁修复包是否与需要进行更新的应用程序相匹配,即判断经过解密后的补丁修复包是否是用于更新应用程序的补丁修复包。
替换模块504,用于当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
当经过校验表明经过解密后的补丁修复包为用于更新应用程序的补丁修复包时,将补丁修复包中的JS代码替换应用程序中需要进行更新的OC代码,实现对应用程序的更新。
综上所述,在上述实施例中,当需要对IOS系统中的应用程序进行更新时,首先从服务器下载经过非对称加密的补丁修复包,其中,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;然后利用客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密,对经过解密后的补丁修复包进行校验,当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成IOS系统应用程序更新。能够通过使用JS代码替换IOS系统中应用程序的原生代码,实现动态更新IOS系统应用程序,提升了用户体验。
具体的,其中,公钥和私钥为利用非对称加密工具预先生成的一对密码。即通过公钥可以解密相应的私钥。
如图6所示,为本发明公开的一种服务器的结构示意图,所述服务器可以包括:
接收模块601,用于接收IOS系统应用程序的连接请求;
当安装在IOS系统中的APP需要进行更新时,客户端向服务器发送需要进行应用程序更新的连接请求,服务器接收客户端发送的IOS系统应用程序更新连接请求。
发送模块602,用于基于连接请求将经过非对称加密的补丁修复包发送到客户端,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;由客户端利用客户端的内置解密逻辑脚本语言对补丁修复包进行解密;对经过解密后的补丁修复包进行校验;当校验通过后,将补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成IOS系统应用程序更新。
当服务器接收到客户端发送的应用程序更新的连接请求后,将相应的经过非对称加密的补丁修复包发送至客户端。其中,补丁修复包为通过JS代码编写的脚本程序代码文件,补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件。当客户端从服务器下载到经过非对称加密的补丁修复包后,客户端利用内置的解密逻辑脚本语言对补丁修复包进行解密。然后,对经过解密后的补丁修复包进行校验,判断经过解密后的补丁修复包是否与需要进行更新的应用程序相匹配,即判断经过解密后的补丁修复包是否是用于更新应用程序的补丁修复包。当经过校验表明经过解密后的补丁修复包为用于更新应用程序的补丁修复包时,将补丁修复包中的JS代码替换应用程序中需要进行更新的OC代码,实现对应用程序的更新。
为了更加特定地强调实施的独立性,本说明书涉及许多模块或单元。举例而言,模块或单元可由硬件电路实现,该硬件电路包括特制VLSI电路或门阵列,比如逻辑芯片、晶体管,或其它组件。模块或单元也可在可编程的硬设备中实现,比如场效可编程门阵列、可编程阵列逻辑、可编程逻辑设备等等。
模块或单元也可在藉由各种形式的处理器所执行的软件中实现。比如说,一可执行码模块可包括一个或多个实体的或逻辑的计算机指令区块,该区块可能形成为,比如说,对象、程序或函数。然而,鉴别模块或单元的可执行部分不需要物理上放置在一起,但可由存于不同位置的不同指令所组成,当逻辑上组合在一起时,形成模块或单元且达到该模块或单元所要求的目的。
实际上,可执行码模块或单元可以是一单一指令或多个指令,甚至可以分布在位于不同的程序的数个不同的码区段,并且横跨数个存储设备。同样地,操作数据可被辨识及显示于此模块或单元中,并且可以以任何合适的形式实施且在任何合适的数据结构形式内组织。操作数据可以集合成单一数据集,或可分布在具有不同的存储设备的不同的位置,且至少部分地只以电子信号方式存在于一系统或网络。
本说明书所提及的“实施例”或类似用语表示与实施例有关的特性、结构或特征,包括在本发明的至少一实施例中。因此,本说明书所出现的用语“在一实施例中”、“在实施例中”以及类似用语可能但不必然都指向相同实施例。
再者,本发明所述特性、结构或特征可以以任何方式结合在一个或多个实施例中。以下说明将提供许多特定的细节,比如编程序、软件模块、用户选择、网络交易、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等例子,以提供对本发明实施例的了解。然而相关领域的普通技术人员将看出本发明,即使没有利用其中一个或多个特定细节,或利用其它方法、组件、材料等亦可实施。另一方面,为避免混淆本发明,公知的结构、材料或操作并没有详细描述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种动态更新IOS系统应用程序的方法,其特征在于,应用于客户端,所述方法包括:
从服务器下载经过非对称加密的补丁修复包,所述补丁修复包为通过JS代码编写的脚本程序代码文件,所述补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;
利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密;
对经过解密后的补丁修复包进行校验;
当校验通过后,将所述补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
2.根据权利要求1所述的方法,其特征在于,对经过解密后的补丁修复包进行校验包括:
通过MD5值校验所述经过解密后的补丁修复包的摘要是否与IOS系统应用程序的摘要一致,当经过解密后的补丁修复包的摘要与IOS系统应用程序的摘要一致时校验通过。
3.根据权利要求1所述的方法,其特征在于,所述利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密包括:
利用所述客户端的内置公钥对所述补丁修复包进行解密。
4.根据权利要求3所述的方法,其特征在于,所述公钥和私钥为利用非对称加密工具预先生成的一对密钥。
5.一种动态更新IOS系统应用程序的方法,其特征在于,应用于服务器,所述方法包括:
接收所述IOS系统应用程序的连接请求;
基于所述连接请求将经过非对称加密的补丁修复包发送到客户端,所述补丁修复包为通过JS代码编写的脚本程序代码文件,所述补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;由所述客户端利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密;对经过解密后的补丁修复包进行校验;当校验通过后,将所述补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
6.一种客户端,其特征在于,包括:
下载模块,用于从服务器下载经过非对称加密的补丁修复包,所述补丁修复包为通过JS代码编写的脚本程序代码文件,所述补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;
解密模块,用于利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密;
校验模块,用于对经过解密后的补丁修复包进行校验
替换模块,用于当校验通过后,将所述补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
7.根据权利要求6所述的客户端,其特征在于,所述校验模块具体用于:
通过MD5值校验所述经过解密后的补丁修复包的摘要是否与IOS系统应用程序的摘要一致,当经过解密后的补丁修复包的摘要与IOS系统应用程序的摘要一致时校验通过。
8.根据权利要求6所述的客户端,其特征在于,所述解密模块具体用于:
利用所述客户端的内置公钥对所述补丁修复包进行解密。
9.根据权利要求8所述的客户端,其特征在于,所述公钥和私钥为利用非对称加密工具预先生成的一对密钥。
10.一种服务器,其特征在于,包括:
接收模块,用于接收所述IOS系统应用程序的连接请求;
发送模块,用于基于所述连接请求将经过非对称加密的补丁修复包发送到客户端,所述补丁修复包为通过JS代码编写的脚本程序代码文件,所述补丁修复包为使用预先生成的私钥进行加密的脚本程序代码文件;由所述客户端利用所述客户端的内置解密逻辑脚本语言对所述补丁修复包进行解密;对经过解密后的补丁修复包进行校验;当校验通过后,将所述补丁修复包中的JS代码替换IOS系统应用程序中的OC代码,完成所述IOS系统应用程序更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710591861.5A CN107231490A (zh) | 2017-07-19 | 2017-07-19 | 动态更新ios系统应用程序的方法、客户端及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710591861.5A CN107231490A (zh) | 2017-07-19 | 2017-07-19 | 动态更新ios系统应用程序的方法、客户端及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107231490A true CN107231490A (zh) | 2017-10-03 |
Family
ID=59956069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710591861.5A Pending CN107231490A (zh) | 2017-07-19 | 2017-07-19 | 动态更新ios系统应用程序的方法、客户端及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107231490A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992319A (zh) * | 2017-12-11 | 2018-05-04 | 北京奇虎科技有限公司 | 补丁数据更新方法及装置 |
CN108762800A (zh) * | 2018-05-23 | 2018-11-06 | 北京五八信息技术有限公司 | 应用程序的动态更新方法和装置 |
CN108829431A (zh) * | 2018-06-27 | 2018-11-16 | 杭州贝购科技有限公司 | iOS应用程序的更新方法、装置、设备及存储介质 |
CN109298877A (zh) * | 2018-09-17 | 2019-02-01 | 北京智明星通科技股份有限公司 | 游戏更新方法及系统、终端和计算机可读存储介质 |
CN109725923A (zh) * | 2018-12-27 | 2019-05-07 | 广州华多网络科技有限公司 | 一种软件轻量更新方法、装置及设备 |
CN110231953A (zh) * | 2019-05-24 | 2019-09-13 | 厦门美柚信息科技有限公司 | 一种app执行远程代码的方法及系统 |
CN110427319A (zh) * | 2019-07-22 | 2019-11-08 | 上海易点时空网络有限公司 | 基于ios的轻量级热修复方法及装置、存储介质 |
CN110619194A (zh) * | 2019-09-26 | 2019-12-27 | 北京神州绿盟信息安全科技股份有限公司 | 一种升级包加密、解密方法及装置 |
CN110780906A (zh) * | 2019-11-05 | 2020-02-11 | 福州汇思博信息技术有限公司 | 一种终端的分布式应用更新的方法、装置、设备和介质 |
CN111552513A (zh) * | 2020-04-30 | 2020-08-18 | 中国银行股份有限公司 | 字符组替换方法及装置 |
CN111930398A (zh) * | 2020-07-24 | 2020-11-13 | 北京柠檬微趣科技股份有限公司 | 应用程序更新方法、装置、系统、介质及设备 |
CN112416395A (zh) * | 2020-11-19 | 2021-02-26 | 建信金融科技有限责任公司 | 一种热修复更新方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9372688B1 (en) * | 2015-06-30 | 2016-06-21 | International Business Machines Corporation | Automatic discovery of a JavaScript API |
CN105978849A (zh) * | 2015-12-08 | 2016-09-28 | 乐视网信息技术(北京)股份有限公司 | 客户端的更新方法、系统及客户端与服务器 |
CN106227554A (zh) * | 2016-07-08 | 2016-12-14 | 百度在线网络技术(北京)有限公司 | 一种在ios系统中进行应用热更新的方法和装置 |
US20170033980A1 (en) * | 2015-07-31 | 2017-02-02 | AppDynamics, Inc. | Agent manager for distributed transaction monitoring system |
-
2017
- 2017-07-19 CN CN201710591861.5A patent/CN107231490A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9372688B1 (en) * | 2015-06-30 | 2016-06-21 | International Business Machines Corporation | Automatic discovery of a JavaScript API |
US20170033980A1 (en) * | 2015-07-31 | 2017-02-02 | AppDynamics, Inc. | Agent manager for distributed transaction monitoring system |
CN105978849A (zh) * | 2015-12-08 | 2016-09-28 | 乐视网信息技术(北京)股份有限公司 | 客户端的更新方法、系统及客户端与服务器 |
CN106227554A (zh) * | 2016-07-08 | 2016-12-14 | 百度在线网络技术(北京)有限公司 | 一种在ios系统中进行应用热更新的方法和装置 |
Non-Patent Citations (5)
Title |
---|
WLF: "文件校验 让下载更加安全", 《电脑迷》 * |
孟令排: "加密文件既简单又安全", 《电脑爱好者》 * |
杨宜杰: "基于iOS平台的混合开发框架的设计与实现", 《优秀硕士论文集》 * |
跑步的李磊: "js oc相互调用的三种方法", 《HTTPS://WWW.JIANSHU.COM/P/DBDDFC0EAA26》 * |
软件DIY: "谁动了我的奶酪——文件校验攻略MD5篇", 《电脑爱好者》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992319B (zh) * | 2017-12-11 | 2021-08-20 | 北京奇虎科技有限公司 | 补丁数据更新方法及装置 |
CN107992319A (zh) * | 2017-12-11 | 2018-05-04 | 北京奇虎科技有限公司 | 补丁数据更新方法及装置 |
CN108762800A (zh) * | 2018-05-23 | 2018-11-06 | 北京五八信息技术有限公司 | 应用程序的动态更新方法和装置 |
CN108829431A (zh) * | 2018-06-27 | 2018-11-16 | 杭州贝购科技有限公司 | iOS应用程序的更新方法、装置、设备及存储介质 |
CN109298877A (zh) * | 2018-09-17 | 2019-02-01 | 北京智明星通科技股份有限公司 | 游戏更新方法及系统、终端和计算机可读存储介质 |
CN109298877B (zh) * | 2018-09-17 | 2021-10-19 | 北京智明星通科技股份有限公司 | 游戏更新方法及系统、终端和计算机可读存储介质 |
CN109725923A (zh) * | 2018-12-27 | 2019-05-07 | 广州华多网络科技有限公司 | 一种软件轻量更新方法、装置及设备 |
CN110231953A (zh) * | 2019-05-24 | 2019-09-13 | 厦门美柚信息科技有限公司 | 一种app执行远程代码的方法及系统 |
CN110427319A (zh) * | 2019-07-22 | 2019-11-08 | 上海易点时空网络有限公司 | 基于ios的轻量级热修复方法及装置、存储介质 |
CN110427319B (zh) * | 2019-07-22 | 2023-06-30 | 上海易点时空网络有限公司 | 基于ios的轻量级热修复方法及装置、存储介质 |
CN110619194A (zh) * | 2019-09-26 | 2019-12-27 | 北京神州绿盟信息安全科技股份有限公司 | 一种升级包加密、解密方法及装置 |
CN110780906A (zh) * | 2019-11-05 | 2020-02-11 | 福州汇思博信息技术有限公司 | 一种终端的分布式应用更新的方法、装置、设备和介质 |
CN111552513A (zh) * | 2020-04-30 | 2020-08-18 | 中国银行股份有限公司 | 字符组替换方法及装置 |
CN111552513B (zh) * | 2020-04-30 | 2024-04-16 | 中国银行股份有限公司 | 字符组替换方法及装置 |
CN111930398A (zh) * | 2020-07-24 | 2020-11-13 | 北京柠檬微趣科技股份有限公司 | 应用程序更新方法、装置、系统、介质及设备 |
CN111930398B (zh) * | 2020-07-24 | 2023-06-27 | 北京柠檬微趣科技股份有限公司 | 应用程序更新方法、装置、系统、介质及设备 |
CN112416395A (zh) * | 2020-11-19 | 2021-02-26 | 建信金融科技有限责任公司 | 一种热修复更新方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107231490A (zh) | 动态更新ios系统应用程序的方法、客户端及服务器 | |
DK1479187T4 (en) | MANAGEMENT OF ACCESS LEVELS IN PHONES USING CERTIFICATES | |
US10484352B2 (en) | Data operations using a proxy encryption key | |
CN111164586B (zh) | 用于更新区块链中的数据的系统和方法 | |
CN108305072A (zh) | 部署区块链网络的方法、设备和计算机存储介质 | |
CN103886246B (zh) | 支持认证装置安全引导的动态改变的方法和设备 | |
CN110225488A (zh) | 用于设置简档的方法和装置 | |
JPWO2009157142A1 (ja) | 情報処理装置、暗号鍵の管理方法、コンピュータプログラム及び集積回路 | |
CN106161336A (zh) | 一种信息更新方法、装置及系统 | |
KR101523309B1 (ko) | 어플리케이션 배포 시스템 및 방법 | |
CN106778099A (zh) | 防篡改apk的生成方法和装置、安装及运行方法和装置 | |
CN112332975A (zh) | 物联网设备安全通信方法及系统 | |
CN106257879A (zh) | 一种下载应用的方法和装置 | |
CN105471810B (zh) | 软件授权信息的验证方法及系统 | |
CN107977581A (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN107450959A (zh) | 一种版本数据发布、获取方法、设备及装置及更新系统 | |
CN102375954B (zh) | 一种软件应用认证方法及装置 | |
CN115221183A (zh) | 数据处理方法及装置 | |
JP5056995B1 (ja) | 改竄検知が可能なアプリケーションプログラムの配布実行方法 | |
CN108170433A (zh) | 一种Java代码的混淆方法、恢复方法及其装置 | |
KR101324693B1 (ko) | 어플리케이션 보안 시스템 및 방법 | |
CN102215131B (zh) | 一种功能License的管理方法及装置 | |
CN105187447B (zh) | 一种终端安全登录方法 | |
CN111628863A (zh) | 一种数据签名的方法、装置、电子设备及存储介质 | |
CN105049209A (zh) | 动态口令生成方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171003 |
|
RJ01 | Rejection of invention patent application after publication |