CN110231953A - 一种app执行远程代码的方法及系统 - Google Patents

一种app执行远程代码的方法及系统 Download PDF

Info

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
service packs
local service
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
Application number
CN201910437747.6A
Other languages
English (en)
Other versions
CN110231953B (zh
Inventor
陈方毅
黄贵阳
李江淮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Mei You Information Technology Co Ltd
Original Assignee
Xiamen Mei You Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen Mei You Information Technology Co Ltd filed Critical Xiamen Mei You Information Technology Co Ltd
Priority to CN201910437747.6A priority Critical patent/CN110231953B/zh
Publication of CN110231953A publication Critical patent/CN110231953A/zh
Application granted granted Critical
Publication of CN110231953B publication Critical patent/CN110231953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental 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执行远程代码的方法及系统。
背景技术
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任一项所述的方法。
CN201910437747.6A 2019-05-24 2019-05-24 一种app执行远程代码的方法及系统 Active CN110231953B (zh)

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)

* Cited by examiner, † Cited by third party
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 华为终端(东莞)有限公司 一种热补丁方法及热补丁装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
JP5095013B2 (ja) プログラマブルコントローラシステムおよび開発システム
US10019256B2 (en) Systems and methods for incremental software development
KR100599084B1 (ko) 이동 통신 네트워크에서의 바이러스 치료 방법
KR101299099B1 (ko) 임베디드 시스템에서 최적화된 가상화 모듈을 관리하는 장치 및 방법
CN107451474B (zh) 用于终端的软件漏洞修复方法和装置
US9063819B2 (en) Extensible patch management
CN109062598B (zh) 一种安全的ota升级方法及系统
CN102945351B (zh) 云环境下基于二维码的移动智能终端安全漏洞修复方法
US10268845B2 (en) Securing of the loading of data into a nonvolatile memory of a secure element
CN105468529A (zh) 一种安卓应用ui控件精准遍历方法和装置
CN108415736B (zh) 利用进程文件系统标记程序进程的方法、装置和设备
US20180210720A1 (en) Method and device for generating image file
US20110214110A1 (en) Compiler Mechanism for Handling Conditional Statements
CN111538523A (zh) 差分升级方法、设备及存储介质
CN113760339A (zh) 漏洞修复方法和装置
CN108197166B (zh) 一种跨浏览器办公审批留痕方法及系统
CN107239303B (zh) 应用程序更新包生成及应用程序更新的方法、装置
CN110231953A (zh) 一种app执行远程代码的方法及系统
CN109240696A (zh) 一种软件更新方法及装置
CN113791809B (zh) 应用异常处理方法、装置以及计算机可读存储介质
US11544054B2 (en) Determination of API changes
CN114416108B (zh) 基于Android资源文件索引表对抗反编译的方法、系统及装置
US20220300256A1 (en) Validating Binary Image Content
CN115688119A (zh) 漏洞修复方法、装置、电子设备及存储介质
CN113254941A (zh) 一种Linux内核源码处理方法、装置和设备

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