一种APP执行远程代码的方法及系统技术方案

技术编号:22101573 阅读:57 留言:0更新日期:2019-09-14 03:13
本发明专利技术公开了一种APP执行远程代码的方法及系统,包括:校验本地补丁包,根据安装环境解析本地补丁包以获取待处理代码,根据所述待处理代码执行APP代码的替换和/或注入。系统用于执行方法。本发明专利技术实施例通过解析所述本地补丁包以获得需要更新的代码,根据安装环境解析本地补丁包以获取待处理代码,能够根据具体的安装环境的特性修改代码以适应特定的要求,可以避免补丁被禁止执行,根据所述待处理代码执行APP代码的替换和/或注入以实现APP代码的更新。

A Method and System of App Executing Remote Code

【技术实现步骤摘要】
一种APP执行远程代码的方法及系统
本专利技术涉及数字信息
,尤其是一种APP执行远程代码的方法及系统。
技术介绍
APP作为软件程序,其运行生涯必然存在各种更新,需要从外部的服务器获取对应的更新代码,现有的代码执行方法大多数基于JavaScript、lua等脚本语言,容易被检测出某些特性,因而违反一些社区、系统或应用发行商的规定,导致补丁的执行受到限制,无法正常地执行代码的更新。
技术实现思路
本专利技术实施例旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术实施例的一个目的是提供一种APP执行远程代码的方法及系统。本专利技术实施例所采用的技术方案是:第一方面,本专利技术实施例提供一种APP执行远程代码的方法,包括:校验本地补丁包,根据安装环境解析本地补丁包以获取待处理代码,根据所述待处理代码执行APP代码的替换和/或注入。优选地,还包括:监视远程补丁包,当本地不存在对应的远程补丁包则存储所述远程补丁包,标记其为本地补丁包;当APP再次启动,校验本地补丁包,根据安装环境解析本地补丁包以获取待处理代码,根据所述待处理代码执行APP代码的替换和/或注入。优选地,所述根据安装环境解析本地补丁包的步骤具体包括:获取安装环境的限制特性,解压本地补丁包以获取原始补丁代码,根据限制特性修改所述原始代码以获取待处理代码。优选地,还包括:当本地补丁包损坏或代码类型不匹配,则执行中止。优选地,还包括:当替换或注入过程异常,回滚所述APP的代码。优选地,还包括:当替换和/或注入完成,输出执行结果。优选地,所述补丁包基于Objective-C。优选地,还包括:所述根据安装环境解析本地补丁包的步骤具体包括:解压本地补丁包以获取原始补丁代码,根据APP所对应的操作系统,从所述原始补丁代码中选择与操作系统对应的一套代码,执行APP代码的替换和/或注入。第二方面,本专利技术实施例提供一种APP执行远程代码的系统,包括:至少一个处理器,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一项所述的方法。第三方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述任一项所述的方法。本专利技术实施例的有益效果是:本专利技术实施例通过校验本地补丁包以获得需要更新的代码,根据安装环境解析本地补丁包以获取待处理代码,能够根据具体的安装环境的特性修改代码以适应特定的要求,可以避免补丁被禁止执行,根据所述待处理代码执行APP代码的替换和/或注入以实现APP代码的更新。附图说明图1是APP执行远程代码的一种实施例的方法流程图;图2是本专利技术实施例的实践流程图;图3是本专利技术实施例的安全实践流程图;图4是执行远程代码的一种实施例的流程图;图5是更新循环流程的一种实施例的示意图;图6是APP执行远程代码的系统一种实施例的连接图。具体实施方式下面结合说明书附图和具体实施方式对本专利技术做出详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例1。针对于APP安装的过程中存在特定的要求,例如不同系统:Android、IOS具有特定的代码适应性的要求/规则,而由Android系统衍生的各种系统,同样具有其对应的代码相关的限制规则,导致补丁代码不能正常被执行的问题,为解决该问题,本实施例提供如图1所示一种APP执行远程代码的方法,包括:S1、校验本地补丁包,根据安装环境解析本地补丁包以获取待处理代码;S2、根据所述待处理代码执行APP代码的替换和/或注入。上述方法的原理:APP首先校验本地补丁包是否异常,正常则解析本地所存储的补丁包,根据安装环境的特性(该特性可以是APP供应商在APP代码编辑时,通过和安装环境的供应商进行协议获得的限制特性的信息)解压本地补丁包,然后进行验证解压包是否完整,确定解压包对应的软件版本,确定需要修改的代码的位置和替换的代码源,确定针对于APP的旧代码修改方式,即替换或者注入,则解压到确定修改方式的过程即为根据安装环境解析本地补丁包以获取待处理代码,在完成获取待处理代码后,进行APP代码的替换和/或注入。根据安装环境解析本地补丁包的步骤中,关于安装环境的限制特性,简述为特性。具体可以包括:不同操作系统对于代码类型、代码格式的要求;对于代码和代码格式的安全的限制性要求,例如,一些安全软件,这些安全软件也属于安装环境的一环,例如360手机卫士等,出于安全的需要,会扫描外部输入的数据,在本实施例中,外部输入的数据为补丁包,有可能存在补丁包的内容和病毒库中一些病毒特征存在类似,此时,会出现安全软件误杀补丁包的可能;则上述的代码格式、代码本身的相关的限制性要求,即特定的代码格式、特定的代码、甚至是代码的排序等,即安装环境的特性,上述方法中,根据安装环境即根据安装环境所要求的特性。根据安装环境解析本地补丁包的步骤中,关于修改方式具体包括:APP本身具备修改功能,即APP本身能够根据上述安装环境的特性,修改补丁包中不符合要求的代码;步骤为:获取安装环境的限制特性,解压获取原始补丁代码,保存原始补丁代码,修改该原始补丁代码,当修改后的代码不会再受到安装环境的特性的限制,执行代码的替换和注入。关于具体的安装环境的特性的获取:可以是APP在研发过程中,通过主动与安装对象(例如Android系统)的供应商进行接洽,获取该供应商提供的特性的信息;与各种安全软件供应商进行沟通,获取病毒库的信息以得到特性。具体的补丁包的内容,基于Objective-C,可以包括是适应于Android系统和IOS系统的代码,即包括两套系统的补丁的代码,而APP可以根据本身所处于的系统来选择其中的代码,此时,就可以实现一套补丁包,适用于两个不同的系统。实施例2。本实施例的目的在于描述更多的处理的流程以解释优选方案。具体的如图2所示实践流程可以包括:S10、校验本地补丁包;S11、当补丁包完整且代码类型匹配,则根据安装环境解析本地补丁包以获取待处理代码,执行步骤S2;S12、当本地补丁包损坏或代码类型不匹配,则执行中止;S2、根据所述待处理代码执行APP代码的替换和/或注入。通过S1延伸的方案S10、S11和S12,能增加针对异常情况的处理,提高方法的稳定性。同样出于提高稳定性的目的,可以增加额外的步骤,例如图3所示的安全实践流程:S10、校验本地补丁包,S11、当补丁包完整且代码类型匹配,则根据安装环境解析本地补丁包以获取待处理代码,执行步骤S2;S12、当本地补丁包损坏或代码类型不匹配,则执行中止;S2、根据所述待处理代码执行APP代码的替换和/或注入;S3、当替换或注入过程异常,回滚所述APP的代码;还可以增加(可选步骤):S4、当替换和/或注入完成,输出执行结果。步骤S3和S4也可以结合到图1,以形成如图4所示的执行远程代码流程:S1、校验本地补丁包,根据安装环境解析本地补丁包以获取待处理代码;S2、根据所述待处理代码执行APP代码的替换和/或注入;(可选步骤)S3、当替换或注入过程异常,回滚所述APP的代码;(可选步骤)S4、当替换和/或注入完成,输出本文档来自技高网...

【技术保护点】
1.一种APP执行远程代码的方法,其特征在于,包括:校验本地补丁包,根据安装环境解析所述本地补丁包以获取待处理代码;根据所述待处理代码执行APP代码的替换和/或注入。

【技术特征摘要】
1.一种APP执行远程代码的方法,其特征在于,包括:校验本地补丁包,根据安装环境解析所述本地补丁包以获取待处理代码;根据所述待处理代码执行APP代码的替换和/或注入。2.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,还包括:监视远程补丁包,当本地不存在对应的远程补丁包则存储所述远程补丁包,标记其为本地补丁包;当APP再次启动,校验本地补丁包,根据安装环境解析本地补丁包以获取待处理代码,根据所述待处理代码执行APP代码的替换和/或注入。3.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,所述根据安装环境解析本地补丁包的步骤具体包括:获取安装环境的限制特性,解压本地补丁包以获取原始补丁代码,根据限制特性修改所述原始代码以获取待处理代码。4.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,校验本地补丁包包括:当本地补丁包损坏或代码类型不匹配,则执行中止。5.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,还包括:当根据所述待处理代码执行APP代码的替换和/或...

【专利技术属性】
技术研发人员:陈方毅黄贵阳李江淮
申请(专利权)人:厦门美柚信息科技有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1