CN110806860B - 安卓环境下的应用封装方法、装置及应用运行方法、装置 - Google Patents
安卓环境下的应用封装方法、装置及应用运行方法、装置 Download PDFInfo
- Publication number
- CN110806860B CN110806860B CN201910943879.6A CN201910943879A CN110806860B CN 110806860 B CN110806860 B CN 110806860B CN 201910943879 A CN201910943879 A CN 201910943879A CN 110806860 B CN110806860 B CN 110806860B
- Authority
- CN
- China
- Prior art keywords
- application
- sandbox
- packaged
- environment
- android
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 141
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 66
- 244000035744 Hura crepitans Species 0.000 claims abstract description 141
- 238000009434 installation Methods 0.000 claims abstract description 92
- 230000002155 anti-virotic effect Effects 0.000 claims abstract description 55
- 230000007613 environmental effect Effects 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims description 65
- 238000001514 detection method Methods 0.000 claims description 57
- 230000006870 function Effects 0.000 claims description 23
- 238000005538 encapsulation Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000004659 sterilization and disinfection Methods 0.000 abstract description 10
- 230000008447 perception Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 241000700605 Viruses Species 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000012858 packaging process Methods 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000006467 substitution reaction 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/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种安卓环境下的应用封装方法、装置及应用运行方法、装置;包括:合并待封装的原始应用与杀毒应用的配置声明文件;创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装的所述原始应用的安装包、所述杀毒应用的安装包;设置封装后应用的权限与程序入口;创建沙箱引导程序,添加沙箱核心程序;打包封装后应用的专属安装包文件夹,生成封装后应用的安装包。本发明实施例在进行封装时,将杀毒应用与原始应用合并后一起做了封装,使得封装后的应用在沙箱运行环境中运行时具有了对环境安全的感知能力,进一步提高了应用的安全性。
Description
技术领域
本发明涉及移动应用安全领域,尤其涉及一种安卓环境下的应用封装方法、装置及应用运行方法、装置。
背景技术
随着智能终端的成熟与普及,以手机、平板电脑为代表的个人智能终端设备逐渐进入企业事业单位,终端企事业单位已经开始支持员工在个人移动设备上使用企业应用程序,员工使用个人智能终端设备办公已经成为一种无法逆转的潮流。然而,如何保障在移动端办公时的安全成为了全新的机遇与挑战。
沙箱,又叫沙盘,是一个虚拟系统程序,允许在沙盘环境中运行浏览器或其他程序,运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。沙箱在网络安全领域中,可被用来测试不受信任的文件或应用程序。基于沙箱的这一特点,在移动端办公领域,可将企业应用程序封装在沙箱中,从而实现个人与企业数据的隔离,保障移动端办公时的安全。除移动端办公外的其他应用领域,同样有类似的需求。
移动终端病毒的泛滥,一直对移动终端设备的应用安全、数据安全造成巨大的威胁,传统移动终端杀毒软件需要在移动终端上安装一个杀毒软件进行病毒的防护。但对于在沙箱中运行的应用而言,这类杀毒软件并不能起到相应的作用。现有技术中尚缺乏使得沙箱内运行的应用具有内生环境安全能力的相关方法与装置。
发明内容
本发明实施例提供一种安卓环境下的应用封装方法、装置及应用运行方法、装置,用以解决现有技术中的应用被封装在沙箱后,在沙箱运行环境中运行时缺乏对环境安全的感知能力的缺陷,实现应用与杀毒应用的合并封装。
第一方面,本发明实施例提供了一种安卓环境下的应用封装方法,包括:
合并待封装的原始应用与杀毒应用的配置声明文件;
创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装的所述原始应用的安装包、所述杀毒应用的安装包;
设置封装后应用的权限与程序入口;
创建沙箱引导程序,添加沙箱核心程序;
打包封装后应用的专属安装包文件夹,生成封装后应用的安装包。
上述技术方案中,在创建一个封装后应用的专属安装包文件夹之后,还包括:在所述专属安装包文件夹的assets目录下添加所需数据安全组件的标记以及所需数据安全组件的安装包;其中,所述数据安全组件用于实现数据安全防护。
上述技术方案中,所述合并待封装的原始应用与杀毒应用的配置声明文件包括:将原始应用安装包的AndroidManifest.xml与杀毒应用的AndroidManifest.xml合并为一个;其中,
合并后的AndroidManifest.xml中的Application以所述原始应用为主,合并有所述杀毒应用的环境安全组件;所述杀毒应用的环境安全组件被声明在单独的进程中;其中,所述环境安全组件用于实现外部环境安全检测,所述外部环境安全检测包括应用安全检测、网络安全检测、系统安全检测以及系统漏洞检测。
上述技术方案中,所述设置封装后应用的权限与程序入口包括:通过修改AndroidManifest.xml的方式来添加封装后应用的权限与程序入口。
上述技术方案中,所述创建沙箱引导程序包括:创建包含有沙箱引导程序的classes.dex文件。
上述技术方案中,所述添加沙箱核心程序包括:在所述封装后应用的专属安装包文件夹的assets目录下添加沙箱核心程序。
第二方面,本发明实施例提供了一种安卓环境下的应用运行方法,用于实现所述安卓环境下的应用封装方法所得到的封装后应用的运行,包括:
启动应用的命令触发后,为待启动的应用创建进程;
解析封装后应用的安装包,在所创建的进程中加载所述封装后应用;
初始化沙箱运行环境;
在所述沙箱运行环境中创建两个独立的进程,其中一个进程用于加载所述原始应用并运行,另一个进程用于加载所述杀毒应用并运行。
上述技术方案中,在所述初始化沙箱运行环境之后,还包括:初始化沙箱安全模块;所述沙箱安全模块包括数据安全组件。
上述技术方案中,所述启动应用的命令为安卓系统Launcher中调用的startActivity方法。
上述技术方案中,所述初始化沙箱运行环境包括:加载沙箱引导程序,由所述沙箱引导程序启动沙箱核心程序,从而通过钩子函数创建沙箱安全运行环境。
上述技术方案中,所述初始化沙箱安全模块包括:调用并运行所述沙箱安全模块所含数据安全组件的安装包。
第三方面,本发明实施例提供了一种安卓环境下的应用封装装置,包括:
合并模块,用于合并待封装的原始应用与杀毒应用的配置声明文件;
专属安装包文件夹创建模块,用于创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装原始应用的安装包;
权限与程序入口设置模块,用于设置封装后应用的权限与程序入口;
沙箱程序创建模块,用于创建沙箱引导程序,添加沙箱核心程序;
打包模块,用于打包封装后应用的专属安装包文件夹,生成封装后应用的安装包。
上述技术方案中,还包括:数据安全组件添加模块,用于在所述专属安装包文件夹的assets目录下添加所需数据安全组件的标记以及所需数据安全组件的安装包;其中,所述数据安全组件用于实现数据安全防护。
上述技术方案中,所述合并待封装的原始应用与杀毒应用的配置声明文件包括:将原始应用安装包的AndroidManifest.xml与杀毒应用的AndroidManifest.xml合并为一个;其中,
合并后的AndroidManifest.xml中的Application以所述原始应用为主,合并有所述杀毒应用的环境安全组件;所述杀毒应用的环境安全组件被声明在单独的进程中;其中,所述环境安全组件用于实现外部环境安全检测,所述外部环境安全检测包括应用安全检测、网络安全检测、系统安全检测以及系统漏洞检测。
上述技术方案中,所述设置封装后应用的权限与程序入口包括:通过修改AndroidManifest.xml的方式来添加封装后应用的权限与程序入口。
上述技术方案中,所述创建沙箱引导程序包括:创建包含有沙箱引导程序的classes.dex文件。
上述技术方案中,所述添加沙箱核心程序包括:在所述封装后应用的专属安装包文件夹的assets目录下添加沙箱核心程序。
第四方面,本发明实施例提供了一种安卓环境下的应用运行装置,用于实现所述安卓环境下的应用封装装置所得到的封装后应用的运行,包括:
进程创建模块,用于在启动应用的命令触发后,为待启动的应用创建进程;
封装后应用解析与加载模块,用于解析封装后应用的安装包,在所创建的进程中加载封装后应用;
沙箱运行环境初始化模块,用于初始化沙箱运行环境;
应用加载与运行模块,用于在所述沙箱运行环境中创建两个独立的进程,其中一个进程用于加载所述原始应用并运行,另一个进程用于加载所述杀毒应用并运行。
上述技术方案中,还包括:沙箱安全模块初始化模块,用于初始化沙箱安全模块;所述沙箱安全模块包括数据安全组件。
上述技术方案中,所述启动应用的命令为安卓系统Launcher中调用的startActivity方法。
上述技术方案中,所述初始化沙箱运行环境包括:加载沙箱引导程序,由所述沙箱引导程序启动沙箱核心程序,从而通过钩子函数创建沙箱安全运行环境。
上述技术方案中,所述初始化沙箱安全模块包括:调用并运行所述沙箱安全模块所含数据安全组件的安装包。
第五方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如所述安卓环境下的应用封装方法的步骤,或实现如所述安卓环境下的应用运行方法的步骤。
第六方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如所述安卓环境下的应用封装方法的步骤,或实现如所述安卓环境下的应用运行方法的步骤。
本发明实施例提供的一种安卓环境下的应用封装方法、装置及应用运行方法、装置在进行封装时,将杀毒应用与原始应用合并后一起做了封装,使得封装后的应用在沙箱运行环境中运行时具有了对环境安全的感知能力,进一步提高了应用的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的安卓环境下的应用封装方法的流程图;
图2为本发明另一实施例提供的安卓环境下的应用封装方法的流程图;
图3为本发明实施例提供的安卓环境下的应用运行方法的流程图;
图4为本发明另一实施例提供的安卓环境下的应用运行方法的流程图;
图5为本发明实施例所提供的安卓环境下的应用封装装置的结构示意图;
图6为本发明另一实施例所提供的安卓环境下的应用封装装置的结构示意图;
图7为本发明实施例所提供的安卓环境下的应用运行装置的结构示意图;
图8为本发明实施例所提供的安卓环境下的应用运行装置的结构示意图;
图9示例了一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,在对本发明实施例所提供的方法与装置做详细说明之前,首先对沙箱及沙箱的相关概念进行描述。
沙箱是一个虚拟系统程序,它在运行时能创建一个类似沙盒的独立作业环境,应用程序可以在这个独立作业环境内正常运行。
从逻辑上区分,沙箱程序包括沙箱引导程序、沙箱核心程序。沙箱引导程序是引导启动沙箱运行环境的程序。沙箱核心程序用于实现包括自身的初始化、安全运行环境加载、被封装应用加载等功能。沙箱运行时,首先启动沙箱引导程序,接着由沙箱引导程序启动沙箱核心程序。当沙箱正常运行后,就可以加载需要在沙箱运行环境内运行的应用。
图1为本发明实施例提供的安卓环境下的应用封装方法的流程图,如图1所示,为了解决上述技术问题,本发明实施例提供了一种安卓环境下的应用封装方法,该方法包括:
步骤101、合并待封装的原始应用与杀毒应用的配置声明文件;
在本发明实施例中,所述待封装的原始应用通常为能执行某一具体业务的应用,如实现文字编辑的应用。
所述杀毒应用包括有环境安全组件,所述环境安全组件用于实现一定的外部环境安全检测功能。所述外部环境安全检测功能包括:应用安全检测(如风险应用、木马应用、广告应用的检测,病毒库未更新)、网络安全检测(如DNS劫持、ARP攻击、加密异常、钓鱼WiFi)、系统安全检测(如root检测、USB调试模式开启检测、锁屏密码是否开启检测、设备管理器激活检测)、系统漏洞检测。在本发明实施例中,杀毒应用中的一种环境安全组件可实现上述安全检测功能中某一项具体的安全风险的检测,如杀毒应用中的第一环境安全组件可实现应用安全检测中木马应用的检测,而广告应用的检测则由杀毒应用中的第二环境安全组件实现;在本发明其他实施例中,杀毒应用中的一种环境安全组件可实现上述安全检测功能中多项具体的安全风险的检测,如杀毒应用中的第三环境安全组件可同时实现应用安全检测中木马应用与广告应用的检测。
所述合并待封装的原始应用与杀毒应用的配置声明文件具体包括:
将原始应用安装包的AndroidManifest.xml与杀毒应用的AndroidManifest.xml合并为一个,其中,合并后的AndroidManifest.xml中的Application以被封装的原始应用为主,按照需要将杀毒应用的环境安全组件合并进去;将杀毒应用的环境安全组件声明在单独的进程中。
步骤102、创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装原始应用的安装包、杀毒应用的安装包;
步骤103、设置封装后应用的权限与程序入口;
所述权限用于规定用户可以对封装后应用做何种类型的操作;所述程序入口用于描述程序从哪里开始运行。由于待封装的原始应用在被封装后,其原有的权限与程序入口无法为外界所知,不能直接被封装后应用使用,因此需要在本步骤中设置封装后应用的权限与程序入口。
在本发明实施例中,可通过修改AndroidManifest.xml的方式来添加封装后应用的权限与程序入口。
步骤104、在移动终端操作系统中创建沙箱引导程序,在封装后应用的专属安装包文件夹中添加沙箱核心程序;
在本发明实施例中,在安卓系统中创建沙箱引导程序可通过创建包含有沙箱引导程序的classes.dex文件来实现。沙箱核心程序可添加在封装后应用的专属安装包文件夹的assets目录下。
步骤105、打包封装后应用的专属安装包文件夹,实现对原始应用的封装,生成封装后应用的安装包。
安卓系统自身提供打包工具,利用这些打包工具即可实现对封装后应用的专属安装包文件夹的打包操作。
以上是对本发明实施例提供的安卓环境下的应用封装方法所实现的应用封装过程的描述。最终所得到的封装后应用可视为对原始应用的一种“替换”,它在运行时依然会调用原始应用的Res文件和Libs文件,依然执行原始应用所能实现的功能。
本发明实施例提供的安卓环境下的应用封装方法在进行封装时,将杀毒应用与原始应用合并后一起做了封装,使得封装后的应用在沙箱运行环境中运行时具有了对环境安全的感知能力,进一步提高了应用的安全性。
基于上述任一实施例,图2为本发明另一实施例提供的安卓环境下的应用封装方法的流程图,如图2所示,本发明实施例提供了一种安卓环境下的应用封装方法,该方法包括:
步骤201、合并待封装的原始应用与杀毒应用的配置声明文件;
步骤202、创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装原始应用的安装包、杀毒应用的安装包;
步骤203、在所述专属安装包文件夹的assets目录下添加所需数据安全组件的标记以及所需数据安全组件的安装包;
所述数据安全组件是用来实现数据安全防护功能的组件,在本发明实施例中,所述数据安全防护功能有多种类型,包括:数据透明加密(如支持国密算法,AES等),应用内数据控制(如防止复制、粘贴等),应用访问权限隔离(如分享隔离等),截屏、录屏控制,分享控制,屏幕水印、外置SD卡读写控制。在本发明实施例中,一种数据安全组件用于实现对应的一种类型的数据安全防护功能,要为封装后应用设置多种类型的数据安全防护功能就需要在所述专属安装包文件夹的assets目录下添加多个对应的数据安全组件的标记及安装包。在本发明的其他实施例中,一种数据安全组件也能实现一种以上类型的数据安全防护功能,这能减少封装时的工作量,但在配置灵活性上会有所不足。
数据安全组件的标记用于描述在封装后的应用中所要包括的数据安全组件的信息,它反映了封装后的应用所要采用的安全策略。标记的表达方式可以有多种,如可以是数据安全组件的名称、用于表示数据安全组件类型的数值等。
数据安全组件的安装包是用于实现数据安全组件安装的数据包。
步骤204、设置封装后应用的权限与程序入口;
步骤205、在移动终端操作系统中创建沙箱引导程序,在封装后应用的专属安装包文件夹中添加沙箱核心程序;
步骤206、打包封装后应用的专属安装包文件夹,实现对原始应用的封装,生成封装后应用的安装包。
以上是对本发明实施例提供的安卓环境下的应用封装方法所实现的应用封装过程的描述。本发明实施例提供的安卓环境下的应用封装方法在进行封装时,进一步地将数据安全组件的标记与安装包添加在专属安装包文件夹的assets目录下,使得封装后应用具有了数据安全防护功能,提高了封装后应用的数据安全性。
本发明实施例还提供了一种安卓环境下的应用运行方法,该方法实现了前述任一本发明实施例所得到的封装后应用的运行。图3为本发明实施例提供的安卓环境下的应用运行方法的流程图,如图3所示,该方法包括:
步骤301、启动应用的命令触发后,移动终端操作系统为待启动的应用创建进程;
由于应用的封装对用户而言是透明的,因此用户在移动终端的控制界面上所看到的图标依然是原始应用的图标。但由于原始应用的程序入口已经被封装后应用接管,因此用户触发启动原始应用的命令,如单击或双击原始应用的图标,会转变为移动终端操作系统对封装后应用的启动命令。移动终端操作系统据此调用相关方法,如安卓系统Launcher调用startActivity方法,该startActivity方法表明启动应用的命令已经被触发。
移动终端操作系统识别到启动应用的命令已经触发后,为待启动的应用创建进程,使得待启动应用能够运行在自己的进程空间中。
步骤302、移动终端操作系统解析封装后应用的安装包,在所创建的进程中加载封装后应用;
步骤303、启动沙箱程序,初始化沙箱运行环境;
在本步骤中,封装后应用启动时,首先加载沙箱引导程序,然后由沙箱引导程序启动沙箱核心程序,从而通过hook技术(钩子函数)创建沙箱安全运行环境;
步骤304、在沙箱运行环境中创建两个独立的进程,其中一个进程用于加载原始应用并运行,另一个进程用于加载杀毒应用并运行。
以上是对本发明实施例所提供的安卓环境下的应用运行方法的过程描述。在原始应用的运行过程中,根据实际需要,其可触发杀毒应用,从而实现对沙箱运行环境的检测。
本发明实施例所提供的安卓环境下的应用运行方法使得被封装的原始应用在沙箱运行环境中运行时能检测环境的安全,及时发现危险事件,提高了应用运行的安全性。
基于上述任一本发明实施例,本发明另一实施例还提供了一种安卓环境下的应用运行方法,该方法实现了前述任一本发明实施例所得到的封装后应用的运行。图4为本发明另一实施例提供的安卓环境下的应用运行方法的流程图,如图4所示,该方法包括:
步骤401、启动应用的命令触发后,移动终端操作系统为待启动的应用创建进程;
步骤402、移动终端操作系统解析封装后应用安装包,在所创建的进程中加载封装后应用;
步骤403、启动沙箱程序,初始化沙箱运行环境;
步骤404、初始化沙箱安全模块;
所述沙箱安全模块由封装时所添加的数据安全组件组成,初始化沙箱安全模块时调用并运行相应数据安全组件的安装包。
步骤405、在沙箱运行环境中创建两个独立的进程,其中一个进程用于加载原始应用并运行,另一个进程用于加载杀毒应用并运行。
本发明实施例所提供的安卓环境下的应用运行方法为所运行的应用提供了具有数据安全功能的沙箱运行环境,进一步提高了应用运行的安全性。
基于上述任一实施例,图5为本发明实施例所提供的安卓环境下的应用封装装置的结构示意图,如图5所示,本发明实施例所提供的安卓环境下的应用封装装置包括:
合并模块501,用于合并待封装的原始应用与杀毒应用的配置声明文件;其中,所述合并待封装的原始应用与杀毒应用的配置声明文件包括:将原始应用安装包的AndroidManifest.xml与杀毒应用的AndroidManifest.xml合并为一个;其中,合并后的AndroidManifest.xml中的Application以所述原始应用为主,合并有所述杀毒应用的环境安全组件;所述杀毒应用的环境安全组件被声明在单独的进程中;其中,所述环境安全组件用于实现外部环境安全检测,所述外部环境安全检测包括应用安全检测、网络安全检测、系统安全检测以及系统漏洞检测。
专属安装包文件夹创建模块502,用于创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装原始应用的安装包。
权限与程序入口设置模块503,用于设置封装后应用的权限与程序入口;其中,所述设置封装后应用的权限与程序入口包括:通过修改AndroidManifest.xml的方式来添加封装后应用的权限与程序入口。
沙箱程序创建模块504,用于创建沙箱引导程序,添加沙箱核心程序;其中,所述创建沙箱引导程序包括:创建包含有沙箱引导程序的classes.dex文件。所述添加沙箱核心程序包括:在所述封装后应用的专属安装包文件夹的assets目录下添加沙箱核心程序。
打包模块505,用于打包封装后应用的专属安装包文件夹,生成封装后应用的安装包。
本发明实施例提供的安卓环境下的应用封装装置在进行封装时,将杀毒应用与原始应用合并后一起做了封装,使得封装后的应用在沙箱运行环境中运行时具有了对环境安全的感知能力,进一步提高了应用的安全性。
基于上述任一实施例,图6为本发明另一实施例所提供的安卓环境下的应用封装装置的结构示意图,如图6所示,本发明另一实施例所提供的安卓环境下的应用封装装置包括:
合并模块601,用于合并待封装的原始应用与杀毒应用的配置声明文件;其中,所述合并待封装的原始应用与杀毒应用的配置声明文件包括:将原始应用安装包的AndroidManifest.xml与杀毒应用的AndroidManifest.xml合并为一个;其中,合并后的AndroidManifest.xml中的Application以所述原始应用为主,合并有所述杀毒应用的环境安全组件;所述杀毒应用的环境安全组件被声明在单独的进程中;其中,所述环境安全组件用于实现外部环境安全检测,所述外部环境安全检测包括应用安全检测、网络安全检测、系统安全检测以及系统漏洞检测。
专属安装包文件夹创建模块602,用于创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装原始应用的安装包。
数据安全组件添加模块603,用于在所述专属安装包文件夹的assets目录下添加所需数据安全组件的标记以及所需数据安全组件的安装包;其中,所述数据安全组件用于实现数据安全防护。
权限与程序入口设置模块604,用于设置封装后应用的权限与程序入口;其中,所述设置封装后应用的权限与程序入口包括:通过修改AndroidManifest.xml的方式来添加封装后应用的权限与程序入口。
沙箱程序创建模块605,用于创建沙箱引导程序,添加沙箱核心程序;其中,所述创建沙箱引导程序包括:创建包含有沙箱引导程序的classes.dex文件。所述添加沙箱核心程序包括:在所述封装后应用的专属安装包文件夹的assets目录下添加沙箱核心程序。
打包模块606,用于打包封装后应用的专属安装包文件夹,生成封装后应用的安装包。
本发明实施例提供的安卓环境下的应用封装装置在进行封装时,进一步地将数据安全组件的标记与安装包添加在专属安装包文件夹的assets目录下,使得封装后应用具有了数据安全防护功能,提高了封装后应用的数据安全性。
基于上述任一实施例,图7为本发明实施例所提供的安卓环境下的应用运行装置的结构示意图,该应用运行装置用于实现上述任一实施例所提供的应用封装装置所得到的封装后应用的运行;如图7所示,本发明实施例所提供的安卓环境下的应用运行装置包括:
进程创建模块701,用于在启动应用的命令触发后,为待启动的应用创建进程;其中,所述启动应用的命令为安卓系统Launcher中调用的startActivity方法。
封装后应用解析与加载模块702,用于解析封装后应用的安装包,在所创建的进程中加载封装后应用。
沙箱运行环境初始化模块703,用于初始化沙箱运行环境;其中,所述初始化沙箱运行环境包括:加载沙箱引导程序,由所述沙箱引导程序启动沙箱核心程序,从而通过钩子函数创建沙箱安全运行环境。
应用加载与运行模块704,用于在所述沙箱运行环境中创建两个独立的进程,其中一个进程用于加载所述原始应用并运行,另一个进程用于加载所述杀毒应用并运行。
本发明实施例所提供的安卓环境下的应用运行装置使得被封装的原始应用在沙箱运行环境中运行时能检测环境的安全,及时发现危险事件,提高了应用运行的安全性。
基于上述任一实施例,图8为本发明实施例所提供的安卓环境下的应用运行装置的结构示意图,该应用运行装置用于实现上述任一实施例所提供的应用封装装置所得到的封装后应用的运行;如图8所示,本发明实施例所提供的安卓环境下的应用运行装置包括:
进程创建模块801,用于在启动应用的命令触发后,为待启动的应用创建进程;其中,所述启动应用的命令为安卓系统Launcher中调用的startActivity方法。
封装后应用解析与加载模块802,用于解析封装后应用的安装包,在所创建的进程中加载封装后应用。
沙箱运行环境初始化模块803,用于初始化沙箱运行环境;其中,所述初始化沙箱运行环境包括:加载沙箱引导程序,由所述沙箱引导程序启动沙箱核心程序,从而通过钩子函数创建沙箱安全运行环境。
沙箱安全模块初始化模块804,用于初始化沙箱安全模块;所述沙箱安全模块包括数据安全组件。其中,所述初始化沙箱安全模块包括:调用并运行所述沙箱安全模块所含数据安全组件的安装包。
应用加载与运行模块805,用于在所述沙箱运行环境中创建两个独立的进程,其中一个进程用于加载所述原始应用并运行,另一个进程用于加载所述杀毒应用并运行。
本发明实施例所提供的安卓环境下的应用运行装置为所运行的应用提供了具有数据安全功能的沙箱运行环境,进一步提高了应用运行的安全性。
图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行如下方法:合并待封装的原始应用与杀毒应用的配置声明文件;创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装的所述原始应用的安装包、所述杀毒应用的安装包;设置封装后应用的权限与程序入口;创建沙箱引导程序,添加沙箱核心程序;打包封装后应用的专属安装包文件夹,生成封装后应用的安装包。或执行如下方法:启动应用的命令触发后,为待启动的应用创建进程;解析封装后应用的安装包,在所创建的进程中加载所述封装后应用;初始化沙箱运行环境;在所述沙箱运行环境中创建两个独立的进程,其中一个进程用于加载所述原始应用并运行,另一个进程用于加载所述杀毒应用并运行。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:合并待封装的原始应用与杀毒应用的配置声明文件;创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装的所述原始应用的安装包、所述杀毒应用的安装包;设置封装后应用的权限与程序入口;创建沙箱引导程序,添加沙箱核心程序;打包封装后应用的专属安装包文件夹,生成封装后应用的安装包。或:启动应用的命令触发后,为待启动的应用创建进程;解析封装后应用的安装包,在所创建的进程中加载所述封装后应用;初始化沙箱运行环境;在所述沙箱运行环境中创建两个独立的进程,其中一个进程用于加载所述原始应用并运行,另一个进程用于加载所述杀毒应用并运行。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (22)
1.一种安卓环境下的应用封装方法,其特征在于,包括:
合并待封装的原始应用与杀毒应用的配置声明文件;
创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装的所述原始应用的安装包、所述杀毒应用的安装包;
设置封装后应用的权限与程序入口;
创建沙箱引导程序,添加沙箱核心程序;
打包封装后应用的专属安装包文件夹,生成封装后应用的安装包;
所述合并待封装的原始应用与杀毒应用的配置声明文件包括:将原始应用安装包的AndroidManifest.xml与杀毒应用的AndroidManifest.xml合并为一个;其中,
合并后的AndroidManifest.xml中的Application以所述原始应用为主,合并有所述杀毒应用的环境安全组件;所述杀毒应用的环境安全组件被声明在单独的进程中;其中,所述环境安全组件用于实现外部环境安全检测,所述外部环境安全检测包括应用安全检测、网络安全检测、系统安全检测以及系统漏洞检测。
2.根据权利要求1所述的安卓环境下的应用封装方法,其特征在于,在创建一个封装后应用的专属安装包文件夹之后,还包括:在所述专属安装包文件夹的assets目录下添加所需数据安全组件的标记以及所需数据安全组件的安装包;其中,所述数据安全组件用于实现数据安全防护。
3.根据权利要求1或2所述的安卓环境下的应用封装方法,其特征在于,所述设置封装后应用的权限与程序入口包括:通过修改AndroidManifest.xml的方式来添加封装后应用的权限与程序入口。
4.根据权利要求1或2所述的安卓环境下的应用封装方法,其特征在于,所述创建沙箱引导程序包括:创建包含有沙箱引导程序的classes.dex文件。
5.根据权利要求1或2所述的应用封装方法,其特征在于,所述添加沙箱核心程序包括:在所述封装后应用的专属安装包文件夹的assets目录下添加沙箱核心程序。
6.一种安卓环境下的应用运行方法,其特征在于,用于实现权利要求1-5任一项所述安卓环境下的应用封装方法所得到的封装后应用的运行,包括:
启动应用的命令触发后,为待启动的应用创建进程;
解析封装后应用的安装包,在所创建的进程中加载所述封装后应用;
初始化沙箱运行环境;
在所述沙箱运行环境中创建两个独立的进程,其中一个进程用于加载所述原始应用并运行,另一个进程用于加载所述杀毒应用并运行。
7.根据权利要求6所述的安卓环境下的应用运行方法,其特征在于,在所述初始化沙箱运行环境之后,还包括:初始化沙箱安全模块;所述沙箱安全模块包括数据安全组件。
8.根据权利要求6或7所述的安卓环境下的应用运行方法,其特征在于,所述启动应用的命令为安卓系统Launcher中调用的startActivity方法。
9.根据权利要求6或7所述的安卓环境下的应用运行方法,其特征在于,所述初始化沙箱运行环境包括:加载沙箱引导程序,由所述沙箱引导程序启动沙箱核心程序,从而通过钩子函数创建沙箱安全运行环境。
10.根据权利要求7所述的安卓环境下的应用运行方法,其特征在于,所述初始化沙箱安全模块包括:调用并运行所述沙箱安全模块所含数据安全组件的安装包。
11.一种安卓环境下的应用封装装置,其特征在于,包括:
合并模块,用于合并待封装的原始应用与杀毒应用的配置声明文件;
专属安装包文件夹创建模块,用于创建一个封装后应用的专属安装包文件夹;所述专属安装包文件夹的assets目录下包括有待封装原始应用的安装包;
权限与程序入口设置模块,用于设置封装后应用的权限与程序入口;
沙箱程序创建模块,用于创建沙箱引导程序,添加沙箱核心程序;
打包模块,用于打包封装后应用的专属安装包文件夹,生成封装后应用的安装包;
所述合并待封装的原始应用与杀毒应用的配置声明文件包括:将原始应用安装包的AndroidManifest.xml与杀毒应用的AndroidManifest.xml合并为一个;其中,
合并后的AndroidManifest.xml中的Application以所述原始应用为主,合并有所述杀毒应用的环境安全组件;所述杀毒应用的环境安全组件被声明在单独的进程中;其中,所述环境安全组件用于实现外部环境安全检测,所述外部环境安全检测包括应用安全检测、网络安全检测、系统安全检测以及系统漏洞检测。
12.根据权利要求11所述的安卓环境下的应用封装装置,其特征在于,还包括:数据安全组件添加模块,用于在所述专属安装包文件夹的assets目录下添加所需数据安全组件的标记以及所需数据安全组件的安装包;其中,所述数据安全组件用于实现数据安全防护。
13.根据权利要求11或12所述的安卓环境下的应用封装装置,其特征在于,所述设置封装后应用的权限与程序入口包括:通过修改AndroidManifest.xml的方式来添加封装后应用的权限与程序入口。
14.根据权利要求11或12所述的安卓环境下的应用封装装置,其特征在于,所述创建沙箱引导程序包括:创建包含有沙箱引导程序的classes.dex文件。
15.根据权利要求11或12所述的安卓环境下的应用封装装置,其特征在于,所述添加沙箱核心程序包括:在所述封装后应用的专属安装包文件夹的assets目录下添加沙箱核心程序。
16.一种安卓环境下的应用运行装置,其特征在于,用于实现权利要求11-15任一项所述安卓环境下的应用封装装置所得到的封装后应用的运行,包括:
进程创建模块,用于在启动应用的命令触发后,为待启动的应用创建进程;
封装后应用解析与加载模块,用于解析封装后应用的安装包,在所创建的进程中加载封装后应用;
沙箱运行环境初始化模块,用于初始化沙箱运行环境;
应用加载与运行模块,用于在所述沙箱运行环境中创建两个独立的进程,其中一个进程用于加载所述原始应用并运行,另一个进程用于加载所述杀毒应用并运行。
17.根据权利要求16所述的安卓环境下的应用运行装置,其特征在于,还包括:沙箱安全模块初始化模块,用于初始化沙箱安全模块;所述沙箱安全模块包括数据安全组件。
18.根据权利要求16或17所述的安卓环境下的应用运行装置,其特征在于,所述启动应用的命令为安卓系统Launcher中调用的startActivity方法。
19.根据权利要求16或17所述的安卓环境下的应用运行装置,其特征在于,所述初始化沙箱运行环境包括:加载沙箱引导程序,由所述沙箱引导程序启动沙箱核心程序,从而通过钩子函数创建沙箱安全运行环境。
20.根据权利要求17所述的安卓环境下的应用运行装置,其特征在于,所述初始化沙箱安全模块包括:调用并运行所述沙箱安全模块所含数据安全组件的安装包。
21.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述安卓环境下的应用封装方法的步骤,或实现如权利要求6至10任一项所述安卓环境下的应用运行方法的步骤。
22.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述安卓环境下的应用封装方法的步骤,或实现如权利要求6至10任一项所述安卓环境下的应用运行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943879.6A CN110806860B (zh) | 2019-09-30 | 2019-09-30 | 安卓环境下的应用封装方法、装置及应用运行方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943879.6A CN110806860B (zh) | 2019-09-30 | 2019-09-30 | 安卓环境下的应用封装方法、装置及应用运行方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110806860A CN110806860A (zh) | 2020-02-18 |
CN110806860B true CN110806860B (zh) | 2023-08-15 |
Family
ID=69488299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910943879.6A Active CN110806860B (zh) | 2019-09-30 | 2019-09-30 | 安卓环境下的应用封装方法、装置及应用运行方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110806860B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021321A (zh) * | 2014-06-17 | 2014-09-03 | 北京奇虎科技有限公司 | 软件安装包的加固保护方法和装置 |
CN104408367A (zh) * | 2014-11-28 | 2015-03-11 | 北京奇虎科技有限公司 | 应用程序配置方法与装置 |
CN104462880A (zh) * | 2014-11-28 | 2015-03-25 | 北京奇虎科技有限公司 | 应用程序加壳配置方法与装置 |
WO2016019893A1 (zh) * | 2014-08-07 | 2016-02-11 | 北京奇虎科技有限公司 | 应用安装的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9870239B2 (en) * | 2014-09-16 | 2018-01-16 | Xiaomi Inc. | Method and device for running application program |
-
2019
- 2019-09-30 CN CN201910943879.6A patent/CN110806860B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021321A (zh) * | 2014-06-17 | 2014-09-03 | 北京奇虎科技有限公司 | 软件安装包的加固保护方法和装置 |
WO2016019893A1 (zh) * | 2014-08-07 | 2016-02-11 | 北京奇虎科技有限公司 | 应用安装的方法和装置 |
CN104408367A (zh) * | 2014-11-28 | 2015-03-11 | 北京奇虎科技有限公司 | 应用程序配置方法与装置 |
CN104462880A (zh) * | 2014-11-28 | 2015-03-25 | 北京奇虎科技有限公司 | 应用程序加壳配置方法与装置 |
Non-Patent Citations (1)
Title |
---|
彭守镇 ; .Android APP加固方案的研究.软件工程.2019,(06),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110806860A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102206115B1 (ko) | 인터프리터 가상 머신을 이용한 행동 멀웨어 탐지 | |
US9027075B2 (en) | Enforcing security rules at runtime | |
US8272048B2 (en) | Restriction of program process capabilities | |
US20160335431A1 (en) | Method of Securing Non-Native Code | |
US9372991B2 (en) | Detecting malicious computer code in an executing program module | |
CN109255235B (zh) | 基于用户态沙箱的移动应用第三方库隔离方法 | |
WO2015113052A1 (en) | Detecting and preventing execution of software exploits | |
US9871800B2 (en) | System and method for providing application security in a cloud computing environment | |
US11706220B2 (en) | Securing application behavior in serverless computing | |
CN113138836B (zh) | 一种使用基于Docker容器的防逃逸系统的防逃逸方法 | |
US11861364B2 (en) | Circular shadow stack in audit mode | |
KR20200090784A (ko) | 응용 프로그램 시작 방법, 시작 장치 및 컴퓨터 판독가능 저장 매체 | |
US20240143739A1 (en) | Intelligent obfuscation of mobile applications | |
CN108334404B (zh) | 应用程序的运行方法和装置 | |
CN114595462A (zh) | 一种数据处理的方法和装置 | |
CN103970574B (zh) | office程序的运行方法及装置、计算机系统 | |
CN101950339B (zh) | 一种电脑安全防护方法和系统 | |
CN112835639B (zh) | 一种Hook实现方法、装置、设备、介质及产品 | |
US11847222B2 (en) | System and method for preventing unwanted bundled software installation | |
CN110806860B (zh) | 安卓环境下的应用封装方法、装置及应用运行方法、装置 | |
CN110795164B (zh) | 应用封装方法、装置及应用运行方法、装置 | |
EP3040895A1 (en) | System and method for protecting a device against return-oriented programming attacks | |
KR101862382B1 (ko) | 안드로이드 환경에서의 어플리케이션 데이터 관리 방법 및 장치 | |
CN113704753A (zh) | 对系统调用进行拦截替换的方法和装置、电子设备和介质 | |
US10185838B1 (en) | Methods to impede common file/process hiding techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant before: QAX Technology Group Inc. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |