CN112559980A - 一种可内嵌众多任意app的小程序运行时 - Google Patents

一种可内嵌众多任意app的小程序运行时 Download PDF

Info

Publication number
CN112559980A
CN112559980A CN202011328003.XA CN202011328003A CN112559980A CN 112559980 A CN112559980 A CN 112559980A CN 202011328003 A CN202011328003 A CN 202011328003A CN 112559980 A CN112559980 A CN 112559980A
Authority
CN
China
Prior art keywords
applet
runtime
sdk
app
management
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
CN202011328003.XA
Other languages
English (en)
Other versions
CN112559980B (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.)
Zhuhai Finogeeks Technology Co ltd
Original Assignee
Zhuhai Finogeeks 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 Zhuhai Finogeeks Technology Co ltd filed Critical Zhuhai Finogeeks Technology Co ltd
Priority to CN202011328003.XA priority Critical patent/CN112559980B/zh
Publication of CN112559980A publication Critical patent/CN112559980A/zh
Application granted granted Critical
Publication of CN112559980B publication Critical patent/CN112559980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种可内嵌众多任意APP的小程序运行时。所述可内嵌众多任意APP的小程序运行时包括小程序运行时、管理后台和编译工具,开发好的小程序使用编译工具编译小程序并上传至管理后台,开发者在管理后台上架小程序和相应的基础库,小程序运行时从管理后台下载小程序和基础库,在宿主APP内运行小程序。本发明可内嵌到任意APP且安全的小程序运行时,而小程序可加密存储,解密能力封装到SDK内,所以没有授权的第三方不能窃取小程序代码,同时小程序的数据和第三方宿主APP完全隔离,保护小程序产生的数据不被第三方窃取,并且提供等同于原生APP的数据收集能力,且能提供与原生APP等同的数据收集能力。

Description

一种可内嵌众多任意APP的小程序运行时
技术领域
本发明涉及计算机技术领域,尤其涉及一种可内嵌众多任意APP的小程序运行时。
背景技术
随着计算机技术的不断发展,小程序(Mini Program)开发技术日益成为一种移动端应用的开发标准。想要在某个APP里面运行小程序,该APP首先必须提供一个小程序运行时,为小程序提供运行环境。
但目前的市面上,大的互联网公司APP,比如微信支付宝,有提供小程序运行时,但是这些运行时都只能运行在特定的APP内,比如微信小程序运行时只能运行在微信里,并没有可内嵌到任意APP的小程序运行时。由于小程序运行时需要内嵌到任意的APP,所以小程序运行时SDK的安全性就显得非常重要,否则集成该SDK的第三方可以较为轻松的反编译SDK(特别是Android端的SDK),并进行修改,使得整个小程序运行时的安全性被破坏。
目前微信小程序运行时是一种运行在微信内部的,提供小程序运行环境的程序,开发者按照微信小程序的语法开发并编译好小程序之后,上传到微信小程序管理后台,审核通过之后,就可以在微信APP里面打开相应的小程序,现有技术的缺点有三个:①微信小程序运行时只能运行在微信这个APP里面,无法在其他APP内运行微信小程序运行时;②开发好的小程序只能在微信端打开,如果同样的功能想要在其他有小程序运行时的APP内打开的话,比如支付宝,则需要重新开发和编译;③如果同样功能的小程序想要在多个APP内上架,需要在多个平台上架,而这些缺点的根本原因就是没有一个可以内嵌到任意APP的小程序运行时,以及配套的管理后台。
针对上述的缺点,本发明要解决的问题或者想要达到的目的是:提供一种可以内嵌到任意APP的小程序运行时,由于可以应用于任意APP,所以这个运行时SDK是需要有安全保障的,因此本发明也提供SDK的安全编译和信息安全机制提供与运行时SDK配套的小程序管理***,开发者只需要开发、编译一套代码然后在一个后台上架一次就可以实现在多个APP内运行这一个小程序。
发明内容
为解决上述技术问题,本发明提供一种可多APP同时发布且在管理后台发布的小程序可以在内嵌运行时的APP内运行的可内嵌众多任意APP的小程序运行时。
本发明提供的可内嵌众多任意APP的小程序运行时包括:小程序运行时、管理后台和编译工具,开发好的小程序使用所述编译工具编译小程序并上传至所述管理后台,开发者在所述管理后台上架小程序和相应的基础库,所述小程序运行时从所述管理后台下载小程序和基础库,在宿主APP内运行小程序。
优选的,所述小程序运行时包括运行时SDK和前端基础库,运行时SDK提供原生能力、热更新能力、安全校验能力、与管理后台交互能力,所述前端基础库主要提供这种API供前端开发者使用。
优选的,所述运行时SDK和前端基础库两种合起来为小程序在嵌入宿主APP内提供安全的运行环境,当管理后台上架一个小程序之后,SDK会分别从后台下载基础库和小程序,然后SDK和基础库构成运行环境,小程序在运行环境里面运行。
优选的,所述小程序运行时包括SDK和基础库两部分在启动时,SDK会向后台进行签名验证,验证SDK是否能合法如果SDK签名验证通过之后,SDK会从管理后台下载相应的基础库,组成相应的小程序运行时运行时准备好之后,运行时会从管理后台下载相应的小程序到本地,并打开运行小程序在运行的时候,可以通过运行时的接口,将数据加密之后上报到管理后台进行存储和分析。
优选的,将SDK签名验证、小程序解密、数据加解密、数据上报模块封装到二进制文件里面,防止反编译,其他模块根据运行平台封装在各自的语言包里面,具体地,ios封装到framework里面,android封装到aar里面,这一部分通过数据通信接口进行通信,android通过jni,ios直接代码引入通信,在第二层里面封装原生数据获取、热更新、灰度发布、基础库调用API四个模块。
优选的,所述管理后台主要是为了实现小程序的管理和加密,开发者将编译好的小程序上架到所述管理后台后,所述小程序运行时会从所述管理后台下载相应的小程序,然后在宿主APP内运行。
优选的,开发者可以使用微信小程序的语法开发小程序,然后使用所述编译工具编译小程序之后,就可以运行在所述小程序运行时里面。
优选的,所述运行时SDK内嵌到宿主APP内,所述管理后台交互能力包括下载小程序的性能。
与相关技术相比较,本发明提供的可内嵌众多任意APP的小程序运行时具有如下有益效果:
1、本发明可内嵌到任意APP且安全的小程序运行时,而小程序可加密存储,解密能力封装到SDK内,所以没有授权的第三方(包括宿主APP)窃取小程序代码,同时小程序的数据和第三方宿主APP完全隔离,保护小程序产生的数据不被第三方窃取,并且提供等同于原生APP的数据收集能力,在一些受监管的行业,比如金融,相关APP通常需要收集用户的设备和隐私信息,且能提供与原生APP等同的数据收集能力;
2、本发明一处上架,多APP同时发布,在管理后台发布的小程序,可以在内嵌运行时的APP内运行,而运行时本身与管理后台也具备校验机制,所以可以在管理后台下架相应的宿主APP,使得相应APP失去小程序能力;
3、本发明兼容微信小程序语法,即为编译工具提供的能力。
附图说明
图1为本发明提供的可内嵌众多任意APP的小程序运行时的一种较佳实施例的流程示意图;
图2为本发明提供的小程序运行时和管理后台的示意图;
图3为本发明提供的小程序运行时SDK时整个运行的示意图。
具体实施方式
下面结合附图和实施方式对本发明作进一步说明。
请结合参阅图1、图2和图3,其中,图1为本发明提供的可内嵌众多任意APP的小程序运行时的一种较佳实施例的流程示意图;图2为本发明提供的小程序运行时和管理后台的示意图;图3为本发明提供的小程序运行时SDK时整个运行的示意图。包括:小程序运行时、管理后台和编译工具,开发好的小程序使用所述编译工具编译小程序并上传至所述管理后台,开发者在所述管理后台上架小程序和相应的基础库,所述小程序运行时从所述管理后台下载小程序和基础库,在宿主APP内运行小程序。
在具体实施过程中,如图2和图3所示,所述小程序运行时包括运行时SDK和前端基础库,运行时SDK提供原生能力、热更新能力、安全校验能力、与管理后台交互能力,所述前端基础库主要提供这种API供前端开发者使用,所述运行时SDK和前端基础库两种合起来为小程序在嵌入宿主APP内提供安全的运行环境,当管理后台上架一个小程序之后,SDK会分别从后台下载基础库和小程序,然后SDK和基础库构成运行环境,小程序在运行环境里面运行,而所述小程序运行时包括SDK和基础库两部分在启动时,SDK会向后台进行签名验证,验证SDK是否能合法如果SDK签名验证通过之后,SDK会从管理后台下载相应的基础库,组成相应的小程序运行时运行时准备好之后,运行时会从管理后台下载相应的小程序到本地,并打开运行小程序在运行的时候,可以通过运行时的接口,将数据加密之后上报到管理后台进行存储和分析,将SDK签名验证、小程序解密、数据加解密、数据上报模块封装到二进制文件里面,防止反编译,其他模块根据运行平台封装在各自的语言包里面,具体地,ios封装到framework里面,android封装到aar里面,这一部分通过数据通信接口进行通信,android通过jni,ios直接代码引入通信,在第二层里面封装原生数据获取、热更新、灰度发布、基础库调用API四个模块。
需要说明的是:本小程序运行时可内嵌到任意APP且安全的小程序运行时,而小程序可加密存储,解密能力封装到SDK内,所以没有授权的第三方(包括宿主APP)不能窃取小程序代码,同时小程序的数据和第三方宿主APP完全隔离,保护小程序产生的数据不被第三方窃取,并且提供等同于原生APP的数据收集能力,在一些受监管的行业,比如金融,相关APP通常需要收集用户的设备和隐私信息,且能提供与原生APP等同的数据收集能力,而一处上架,多APP同时发布,在管理后台发布的小程序,可以在内嵌运行时的APP内运行,而运行时本身与管理后台也具备校验机制,所以可以在管理后台下架相应的宿主APP,使得相应APP失去小程序能力。
其中,所述运行时SDK内嵌到宿主APP内,所述管理后台交互能力包括下载小程序的性。
参考图1所示,所述管理后台主要是为了实现小程序的管理和加密,开发者将编译好的小程序上架到所述管理后台后,所述小程序运行时会从所述管理后台下载相应的小程序,然后在宿主APP内运行,而开发者可以使用微信小程序的语法开发小程序,然后使用所述编译工具编译小程序之后,就可以运行在所述小程序运行时里面,小程序运行时可兼容微信小程序语法,即为编译工具提供的能力。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种可内嵌众多任意APP的小程序运行时,包括小程序运行时、管理后台和编译工具,其特征在于,开发好的小程序使用所述编译工具编译小程序并上传至所述管理后台,开发者在所述管理后台上架小程序和相应的基础库,所述小程序运行时从所述管理后台下载小程序和基础库,在宿主APP内运行小程序。
2.根据权利要求1所述的可内嵌众多任意APP的小程序运行时,其特征在于,所述小程序运行时包括运行时SDK和前端基础库,运行时SDK提供原生能力、热更新能力、安全校验能力、与管理后台交互能力,所述前端基础库主要提供这种API供前端开发者使用。
3.根据权利要求2所述的可内嵌众多任意APP的小程序运行时,其特征在于,所述运行时SDK和前端基础库两种合起来为小程序在嵌入宿主APP内提供安全的运行环境,当管理后台上架一个小程序之后,SDK会分别从后台下载基础库和小程序,然后SDK和基础库构成运行环境,小程序在运行环境里面运行。
4.根据权利要求3所述的可内嵌众多任意APP的小程序运行时,其特征在于,所述小程序运行时包括SDK和基础库两部分在启动时,SDK会向后台进行签名验证,验证SDK是否能合法如果SDK签名验证通过之后,SDK会从管理后台下载相应的基础库,组成相应的小程序运行时运行时准备好之后,运行时会从管理后台下载相应的小程序到本地,并打开运行小程序在运行的时候,可以通过运行时的接口,将数据加密之后上报到管理后台进行存储和分析。
5.根据权利要求4所述的可内嵌众多任意APP的小程序运行时,其特征在于,将SDK签名验证、小程序解密、数据加解密、数据上报模块封装到二进制文件里面,防止反编译,其他模块根据运行平台封装在各自的语言包里面,具体地,ios封装到framework里面,android封装到aar里面,这一部分通过数据通信接口进行通信,android通过jni,ios直接代码引入通信,在第二层里面封装原生数据获取、热更新、灰度发布、基础库调用API四个模块。
6.根据权利要求1所述的可内嵌众多任意APP的小程序运行时,其特征在于,所述管理后台主要是为了实现小程序的管理和加密,开发者将编译好的小程序上架到所述管理后台后,所述小程序运行时会从所述管理后台下载相应的小程序,然后在宿主APP内运行。
7.根据权利要求1所述的可内嵌众多任意APP的小程序运行时,其特征在于,开发者可以使用微信小程序的语法开发小程序,然后使用所述编译工具编译小程序之后,就可以运行在所述小程序运行时里面。
8.根据权利要求2所述的可内嵌众多任意APP的小程序运行时,其特征在于,所述运行时SDK内嵌到宿主APP内,所述管理后台交互能力包括下载小程序的性能。
CN202011328003.XA 2020-11-24 2020-11-24 一种可内嵌众多任意app的小程序运行时 Active CN112559980B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011328003.XA CN112559980B (zh) 2020-11-24 2020-11-24 一种可内嵌众多任意app的小程序运行时

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011328003.XA CN112559980B (zh) 2020-11-24 2020-11-24 一种可内嵌众多任意app的小程序运行时

Publications (2)

Publication Number Publication Date
CN112559980A true CN112559980A (zh) 2021-03-26
CN112559980B CN112559980B (zh) 2023-05-05

Family

ID=75044973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011328003.XA Active CN112559980B (zh) 2020-11-24 2020-11-24 一种可内嵌众多任意app的小程序运行时

Country Status (1)

Country Link
CN (1) CN112559980B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948824A (zh) * 2021-03-31 2021-06-11 支付宝(杭州)信息技术有限公司 一种基于隐私保护的程序通信方法、装置及设备
CN113687891A (zh) * 2021-07-19 2021-11-23 阿里巴巴新加坡控股有限公司 数据管理方法、装置及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046000A (zh) * 2019-04-24 2019-07-23 上海连尚网络科技有限公司 小程序运行方法和装置
CN110865855A (zh) * 2019-11-18 2020-03-06 百度在线网络技术(北京)有限公司 小程序处理方法及相关设备
CN111049897A (zh) * 2019-12-10 2020-04-21 北京百度网讯科技有限公司 小程序包的加密上传和解密部署方法、装置、设备和介质
CN111078260A (zh) * 2019-12-23 2020-04-28 焦点科技股份有限公司 一种微信小程序第三方平台管理的方法及***
CN111124576A (zh) * 2019-12-23 2020-05-08 焦点科技股份有限公司 一种多平台小程序及h5页面适配的方法及***
CN111625310A (zh) * 2020-05-11 2020-09-04 镇江纵陌阡横信息科技有限公司 一种通用型多端小程序***
WO2020207454A1 (zh) * 2019-04-12 2020-10-15 上海连尚网络科技有限公司 信息推送方法和装置
CN111949272A (zh) * 2020-07-30 2020-11-17 百度在线网络技术(北京)有限公司 寄宿应用的编译优化方法、装置、电子设备及可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020207454A1 (zh) * 2019-04-12 2020-10-15 上海连尚网络科技有限公司 信息推送方法和装置
CN110046000A (zh) * 2019-04-24 2019-07-23 上海连尚网络科技有限公司 小程序运行方法和装置
CN110865855A (zh) * 2019-11-18 2020-03-06 百度在线网络技术(北京)有限公司 小程序处理方法及相关设备
CN111049897A (zh) * 2019-12-10 2020-04-21 北京百度网讯科技有限公司 小程序包的加密上传和解密部署方法、装置、设备和介质
CN111078260A (zh) * 2019-12-23 2020-04-28 焦点科技股份有限公司 一种微信小程序第三方平台管理的方法及***
CN111124576A (zh) * 2019-12-23 2020-05-08 焦点科技股份有限公司 一种多平台小程序及h5页面适配的方法及***
CN111625310A (zh) * 2020-05-11 2020-09-04 镇江纵陌阡横信息科技有限公司 一种通用型多端小程序***
CN111949272A (zh) * 2020-07-30 2020-11-17 百度在线网络技术(北京)有限公司 寄宿应用的编译优化方法、装置、电子设备及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948824A (zh) * 2021-03-31 2021-06-11 支付宝(杭州)信息技术有限公司 一种基于隐私保护的程序通信方法、装置及设备
CN112948824B (zh) * 2021-03-31 2022-04-26 支付宝(杭州)信息技术有限公司 一种基于隐私保护的程序通信方法、装置及设备
CN113687891A (zh) * 2021-07-19 2021-11-23 阿里巴巴新加坡控股有限公司 数据管理方法、装置及设备

Also Published As

Publication number Publication date
CN112559980B (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
KR101471589B1 (ko) 공통중간언어 기반 프로그램을 위한 보안 제공 방법
US20180129794A1 (en) Method for Protecting Dex File from Decompilation in Android System
KR101503785B1 (ko) 동적 라이브러리를 보호하는 방법 및 장치
CN110502222B (zh) 外发依赖内部基础库的aar方法、装置、介质和设备
KR101518420B1 (ko) 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법
TWI530874B (zh) 生成應用程式安裝封包、執行應用程式的方法及裝置
Armando et al. Securing the" bring your own device" paradigm
WO2016078130A1 (zh) 一种防逆向apk文件的动态加载方法
EP2854070A1 (en) Method and apparatus of creating application package, method and apparatus of executing application package, and recording medium storing application package
KR20140077188A (ko) 어플리케이션을 보안하기 위한 어플리케이션 실행 환경의 동적 생성 방법 및 관련 컴퓨터 프로그램 제품 및 컴퓨팅 장치
CN110333868B (zh) 用于生成子应用的安装包的方法和***
CN108229112A (zh) 一种保护应用程序、应用程序的运行方法以及装置
CN103745141A (zh) 智能终端android***中防止应用程序反编译的方法
KR101695639B1 (ko) 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
US20180067777A1 (en) Application protection method, server, and terminal
CN112559980A (zh) 一种可内嵌众多任意app的小程序运行时
CN109241707A (zh) 应用程序的混淆方法、装置和服务器
CN104899481A (zh) 防止应用程序反编译的***及其方法
CN107871066B (zh) 基于安卓***的代码编译方法及装置
CN103885784A (zh) 具有安全模块可插拔功能的Android平台构建方法
CN105069357A (zh) 扫描漏洞的方法、云端服务器及***
CN105447398A (zh) 数据安全保护方法及装置
KR101863325B1 (ko) 역공학 방지 방법 및 장치
Baset et al. Identifying android library dependencies in the presence of code obfuscation and minimization
JP2013041598A (ja) プログラムコードの生成方法、プログラム開発システム、携帯用データキャリア、及びプログラム

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

Address after: Room 1901-1902, 19th Floor, Cuilin Building, No. 10 Kaifeng Road, Maling Community, Meilin Street, Futian District, Shenzhen, Guangdong 518000

Applicant after: Shenzhen Fantai Geek Technology Co.,Ltd.

Address before: 519000 room 105-26642, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Applicant before: ZHUHAI FINOGEEKS TECHNOLOGY CO.,LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant