CN110231953A - 一种app执行远程代码的方法及系统 - Google Patents
一种app执行远程代码的方法及系统 Download PDFInfo
- Publication number
- CN110231953A CN110231953A CN201910437747.6A CN201910437747A CN110231953A CN 110231953 A CN110231953 A CN 110231953A CN 201910437747 A CN201910437747 A CN 201910437747A CN 110231953 A CN110231953 A CN 110231953A
- Authority
- CN
- China
- Prior art keywords
- code
- app
- patch package
- remote
- processed
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000009434 installation Methods 0.000 claims abstract description 36
- 238000002347 injection Methods 0.000 claims abstract description 21
- 239000007924 injection Substances 0.000 claims abstract description 21
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000005096 rolling process Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- 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
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种APP执行远程代码的方法及系统,包括:校验本地补丁包,根据安装环境解析本地补丁包以获取待处理代码,根据所述待处理代码执行APP代码的替换和/或注入。系统用于执行方法。本发明实施例通过解析所述本地补丁包以获得需要更新的代码,根据安装环境解析本地补丁包以获取待处理代码,能够根据具体的安装环境的特性修改代码以适应特定的要求,可以避免补丁被禁止执行,根据所述待处理代码执行APP代码的替换和/或注入以实现APP代码的更新。
Description
技术领域
本发明涉及数字信息技术领域,尤其是一种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、当替换和/或注入完成,输出执行结果。
出于完成整个更新过程的循环的目的,可以增加反馈机制,如图5所示的更新循环流程:
S0、监视远程补丁包,当本地不存在对应的远程补丁包则存储所述远程补丁包,标记其为本地补丁包,当APP再次启动,执行步骤S1;
S1、校验本地补丁包,根据安装环境解析本地补丁包以获取待处理代码;
S2、根据所述待处理代码执行APP代码的替换和/或注入;
(可选步骤)S3、当替换或注入过程异常,回滚所述APP的代码;
(可选步骤)S4、当替换和/或注入完成,输出执行结果。
通过更新循环流程,能够实现在APP正常运行时,监控远程补丁包,当远程补丁包的申请出现时,判断本地是否存在对应的补丁包,即本地的补丁包的版本是否和当前申请的补丁包一致,对应的补丁包已经存在,则说明没有更新的必要,如果不存在,则进行补丁包的存储;而选择是等到APP再次启动之后才进行更新的目的在于,APP出于工作期间,强制更新可能会影响到APP的正常使用,降低用户的使用体验,而APP刚启动的阶段,不会太过于影响客户的正常使用。
实施例3。
本实施例提供如图6所示一种APP执行远程代码的系统,包括:至少一个处理器1,与所述至少一个处理器通信连接的存储器2;其中,所述存储器存储2有可被所述至少一个处理器1执行的指令,所述指令被所述至少一个处理器1执行,以使所述至少一个处理器1能够执行如上述实施例所述的方法。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述实施例所述的方法。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种APP执行远程代码的方法,其特征在于,包括:
校验本地补丁包,根据安装环境解析所述本地补丁包以获取待处理代码;
根据所述待处理代码执行APP代码的替换和/或注入。
2.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,还包括:
监视远程补丁包,当本地不存在对应的远程补丁包则存储所述远程补丁包,标记其为本地补丁包;
当APP再次启动,校验本地补丁包,根据安装环境解析本地补丁包以获取待处理代码,根据所述待处理代码执行APP代码的替换和/或注入。
3.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,所述根据安装环境解析本地补丁包的步骤具体包括:
获取安装环境的限制特性,解压本地补丁包以获取原始补丁代码,根据限制特性修改所述原始代码以获取待处理代码。
4.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,校验本地补丁包包括:
当本地补丁包损坏或代码类型不匹配,则执行中止。
5.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,还包括:
当根据所述待处理代码执行APP代码的替换和/或注入过程异常,回滚所述APP的代码。
6.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,还包括:
当替换和/或注入完成,输出执行结果。
7.根据权利要求1所述的一种APP执行远程代码的方法,其特征在于,所述补丁包基于Objective-C。
8.根据权利要求2所述的一种APP执行远程代码的方法,其特征在于,所述根据安装环境解析本地补丁包的步骤具体包括:
解压本地补丁包以获取原始补丁代码,根据APP所对应的操作系统,从所述原始补丁代码中选择与操作系统对应的一套代码,执行APP代码的替换和/或注入。
9.一种APP执行远程代码的系统,其特征在于,包括:至少一个处理器,与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910437747.6A CN110231953B (zh) | 2019-05-24 | 2019-05-24 | 一种app执行远程代码的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910437747.6A CN110231953B (zh) | 2019-05-24 | 2019-05-24 | 一种app执行远程代码的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110231953A true CN110231953A (zh) | 2019-09-13 |
CN110231953B CN110231953B (zh) | 2022-08-16 |
Family
ID=67861548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910437747.6A Active CN110231953B (zh) | 2019-05-24 | 2019-05-24 | 一种app执行远程代码的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110231953B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334729A (zh) * | 2008-08-07 | 2008-12-31 | 金蝶软件(中国)有限公司 | 软件包的处理方法及装置 |
CN106843933A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 一种应用程序的漏洞修复方法、移动终端及补丁服务器 |
CN106843928A (zh) * | 2016-12-22 | 2017-06-13 | 北京五八信息技术有限公司 | 应用程序的远程修复方法及设备 |
CN107231490A (zh) * | 2017-07-19 | 2017-10-03 | 中国银行股份有限公司 | 动态更新ios系统应用程序的方法、客户端及服务器 |
CN109753793A (zh) * | 2017-11-07 | 2019-05-14 | 华为终端(东莞)有限公司 | 一种热补丁方法及热补丁装置 |
-
2019
- 2019-05-24 CN CN201910437747.6A patent/CN110231953B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334729A (zh) * | 2008-08-07 | 2008-12-31 | 金蝶软件(中国)有限公司 | 软件包的处理方法及装置 |
CN106843928A (zh) * | 2016-12-22 | 2017-06-13 | 北京五八信息技术有限公司 | 应用程序的远程修复方法及设备 |
CN106843933A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 一种应用程序的漏洞修复方法、移动终端及补丁服务器 |
CN107231490A (zh) * | 2017-07-19 | 2017-10-03 | 中国银行股份有限公司 | 动态更新ios系统应用程序的方法、客户端及服务器 |
CN109753793A (zh) * | 2017-11-07 | 2019-05-14 | 华为终端(东莞)有限公司 | 一种热补丁方法及热补丁装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110231953B (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10204108B2 (en) | Method and apparatus for manufacturing file system update package, method and apparatus for updating file system update package, and terminal | |
CN107451474B (zh) | 用于终端的软件漏洞修复方法和装置 | |
US9043778B2 (en) | Method and system for upgrading software | |
US8719810B2 (en) | Program upgrade system and method for over the air-capable mobile terminal | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
US20070294685A1 (en) | Program upgrade system and method for ota-capable portable device | |
US20230036357A1 (en) | Method and apparatus for authority control, computer device and storage medium | |
US9063819B2 (en) | Extensible patch management | |
CN111796853A (zh) | 固件升级方法、系统、设备及计算机存储介质 | |
CN113010217A (zh) | 一种bios参数设置方法、装置、电子设备及存储介质 | |
CN111857860A (zh) | 一种安全加载插件的实现方法及系统 | |
CN108572848A (zh) | 交互系统的底层固件在线升级方法、装置及存储介质 | |
CN111433739A (zh) | 程序的升级方法和嵌入式设备 | |
CN110932891A (zh) | 防出错ota升级方法、装置、计算机设备及存储介质 | |
CN106897166A (zh) | 一种移动终端及其修复方法 | |
CN110837383B (zh) | 应用免安装升级方法及装置 | |
US9875097B2 (en) | Applying configuration alignment in build projects | |
CN108664255B (zh) | 一种软件升级方法及装置 | |
CN105700900B (zh) | 一种优化无线局域网功能的方法及装置 | |
CN107729043B (zh) | 增量升级包的校验方法、装置和计算机可读存储介质 | |
CN104158907A (zh) | 应用程序文件下载方法及装置 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN110231953B (zh) | 一种app执行远程代码的方法及系统 | |
CN103984541A (zh) | 基于终端源代码生成应用程序的方法和系统 | |
CN111796832B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 361000 Area 1F-D1, Huaxun Building A, Software Park, Xiamen Torch High-tech Zone, Xiamen City, Fujian Province Applicant after: Xiamen Meishao Co.,Ltd. Address before: 361000 Area 1F-D1, Huaxun Building A, Software Park, Xiamen Torch High-tech Zone, Xiamen City, Fujian Province Applicant before: XIAMEN MEIYOU INFORMATION SCIENCE & TECHNOLOGY CO.,LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |