CN106570354A - 移动应用的重构方法和装置、运行方法和装置 - Google Patents
移动应用的重构方法和装置、运行方法和装置 Download PDFInfo
- Publication number
- CN106570354A CN106570354A CN201610931997.1A CN201610931997A CN106570354A CN 106570354 A CN106570354 A CN 106570354A CN 201610931997 A CN201610931997 A CN 201610931997A CN 106570354 A CN106570354 A CN 106570354A
- Authority
- CN
- China
- Prior art keywords
- mobile solution
- functional module
- module
- specified
- mobile
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000011017 operating method Methods 0.000 title abstract 2
- 238000010276 construction Methods 0.000 claims description 18
- 230000001143 conditioned effect Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000012856 packing Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003014 reinforcing effect Effects 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种移动应用的重构方法和装置、运行方法和装置。其中,该方法包括:获取待打包的移动应用的所有源代码;将所有源代码划分为多个功能模块;将加密后的多个功能模块整体打包为移动应用。本发明解决了相关技术中移动应用的安全性较低的技术问题。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种移动应用的重构方法和装置、运行方法和装置。
背景技术
随着移动互联技术的发展,移动应用的安全显得更加重要,随着移动安全攻防水平的提升,黑客对于移动应用的威胁也日益严重。传统的移动应用的安全防御手段显然已难以抵御对于移动应用的新型的安全威胁,其主要体现包括如下几个方面:
(1)安全加固层面,传统的安全加固采用整包加固,随着黑客技术的提升,移动应用APK包的反编译、解密破解工具也越来越多,从而导致传统的整包安全加固被破解的几率大大的增加;
(2)仿冒应用检测层面,传统技术对于盗版仿冒应用的检测采用单一的签名比较、包名比较方式来确定,很容易进行签名提取、仿冒等方式绕过传统的技术认证;同时,随着应用渠道打包的需求兴起,一个应用可能同时拥有数十个渠道签名,也为传统方式的仿冒验证增加了难度;
(3)安全运维更新层面,现今移动APP的更新方式主要通过固定的应用提供渠道或APP自提示方式进行APP的资源更新,渠道更新方式通过分发新版本的资源包提供用户下载,对于更新终端的数量,运营商无法控制和预知。对于APP自提示方式进行资源更新,会降低用户体验,且由于APP体量过大,容易导致用户中断更新过程,导致产品的新特性无法及时展现给用户。
针对相关技术中移动应用的安全性较低的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种移动应用的重构方法和装置、运行方法和装置,以至少解决相关技术中移动应用的安全性较低的技术问题。
根据本发明实施例的一个方面,提供了一种移动应用的重构方法,该方法包括:获取待打包的移动应用的所有源代码;将所有源代码划分为多个功能模块;将加密后的多个功能模块整体打包为移动应用。
进一步地,将加密后的多个功能模块整体打包为移动应用包括:通过公钥分别对多个功能模块进行加密,其中,任意两个功能模块采用的公钥不同;将经由公钥加密的多个功能模块打包为移动应用。
根据本发明实施例的一个方面,提供了一种移动应用的运行方法,该方法包括:在接收到指示运行移动应用中指定功能模块的指令时,对指定功能模块进行解密,其中,移动应用具有分别加密的多个功能模块;运行解密后的指定功能模块,其中,移动应用中未运行的功能模块处于未解密状态。
进一步地,对指定功能模块进行解密包括:获取多个功能模块的多个私钥中与指定功能模块对应的目标私钥,其中,任意两个功能模块对应的私钥不同;通过目标私钥对指定功能模块进行解密。
进一步地,在运行解密后的指定功能模块之前,该方法还包括:对移动应用进行应用构造侦测;其中,在对移动应用进行应用构造侦测的结果满足预设条件的情况下,执行运行解密后的指定功能模块的步骤。
进一步地,对移动应用进行应用构造侦测包括:判断移动应用的包名是否与预设包名匹配;判断移动应用的签名是否与预设签名匹配;判断移动应用的多个功能模块是否与预设功能模块匹配;其中,在判断出移动应用的包名与预设包名匹配、移动应用的签名与预设签名匹配且移动应用的多个功能模块与预设功能模块匹配的情况下,确定对移动应用进行应用构造侦测的结果满足预设条件。
进一步地,在运行解密后的指定功能模块之前或之后,该方法还包括:判断移动应用中的功能模块是否发生更新;在判断出移动应用中的功能模块发生更新的情况下,对移动应用中发生更新的功能模块进行更新。
进一步地,判断移动应用是否发生更新包括:获取云端对应于移动应用的多个目标模块;将多个功能模块中的每个功能模块与对应的目标模块进行比较,其中,在至少一个功能模块与对应的目标模块不相同的情况下,判断出移动应用的至少一个功能模块发生更新。
根据本发明实施例的另一个方面,提供了一种移动应用的重构装置,该装置包括:获取单元,用于获取待打包的移动应用的所有源代码;划分单元,用于将所有源代码划分为多个功能模块;打包单元,用于将加密后的多个功能模块整体打包为移动应用。
根据本发明实施例的另一个方面,还提供了一种移动应用的运行装置,该装置包括:解密单元,用于在接收到指示运行移动应用中指定功能模块的指令时,对指定功能模块进行解密,其中,移动应用具有分别加密的多个功能模块;运行单元,用于运行解密后的指定功能模块,其中,移动应用中未运行的功能模块处于未解密状态。
在本发明实施例中,获取待打包的移动应用的所有源代码;将所有源代码划分为多个功能模块;将加密后的多个功能模块整体打包为移动应用,由于对每个功能模块均进行了加密,从而解决了相关技术中移动应用的安全性较低的技术问题,实现了提高移动应用的安全性的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的移动应用的重构方法的流程图;
图2是根据本发明的可选的移动应用的示意图;
图3是根据本发明实施例的移动应用的运行方法的流程图;
图4是根据本发明实施例的移动应用的重构装置的示意图;
图5是根据本发明实施例的移动应用的运行装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
重构(Refactoring):就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
公钥(Public Key)与私钥(Private Key):是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。
根据本发明实施例,提供了一种移动应用的重构方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的移动应用的重构方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取待打包的移动应用的所有源代码。
步骤S102,将所有源代码划分为多个功能模块。
步骤S103,将加密后的多个功能模块整体打包为移动应用。
通过上述实施例,获取待打包的移动应用的所有源代码;将所有源代码划分为多个功能模块;将加密后的多个功能模块整体打包为移动应用,由于对每个功能模块均进行了加密,从而解决了相关技术中移动应用的安全性较低的技术问题,实现了提高移动应用的安全性的技术效果。
在步骤S101中,即在打包之前,获取用于打包的所有源代码。
在步骤S102中,按照移动应用的功能划分(如提供的功能、菜单等)将源代码分为多个功能模块,以实现对每个功能模块的分别加密。
上述的移动应用可以为移动设备上的应用,如安卓设备、IOS设备上的应用,如购电应用、电力信息交互应用等。后续以安卓应用为例进行说明,但不局限于此。
在步骤S103中,将加密后的多个功能模块整体打包为移动应用可通过如下方式实现:通过公钥分别对多个功能模块进行加密,其中,任意两个功能模块采用的公钥不同;将经由公钥加密的多个功能模块打包为移动应用。
需要说明的是,在应用结构重构技术中,移动结构重构技术的核心原理是将APK(即移动应用)包内的文件进行细化(如图2中的DEX文件、资源文件、SO文件),将每个独立的功能模块,SDK,函数代码等根据需求的颗粒度划分出来,之后将细分后的功能模块(如模块1至模块6)进行重组,形成新的APK(即重构APK),这样新的APK既保留了原来APK的全部功能,又可以在一个更细的维度进行安全防护。
图3是根据本发明实施例的移动应用的运行方法的流程图,如图3所示,该方法包括如下步骤:
步骤S301,在接收到指示运行移动应用中指定功能模块的指令时,对指定功能模块进行解密,移动应用具有分别加密的多个功能模块;
步骤S302,运行解密后的指定功能模块,移动应用中未运行的功能模块处于未解密状态。
可选地,对指定功能模块进行解密包括:获取多个功能模块的多个私钥中与指定功能模块对应的目标私钥,其中,任意两个功能模块对应的私钥不同;通过目标私钥对指定功能模块进行解密。
具体地,在应用加固层面,基于移动应用结构重构技术,不仅仅是单纯的对移动应用进行整包加固而是对APK的每个功能模块包进行单独加密。在移动应用在使用的过程中,对将要使用的功能模块包进行解密,其他的功能模块包持续处于加密状态(如图2所示),从而能够有效防止APK加密被全局破解,把造成的伤害降到最低。
可选地,在运行解密后的指定功能模块之前,可对移动应用进行应用构造侦测;其中,在对移动应用进行应用构造侦测的结果满足预设条件的情况下,执行运行解密后的指定功能模块的步骤。
具体地,对移动应用进行应用构造侦测包括:判断移动应用的包名是否与预设包名匹配;判断移动应用的签名是否与预设签名匹配;判断移动应用的多个功能模块是否与预设功能模块匹配;其中,在判断出移动应用的包名与预设包名匹配、移动应用的签名与预设签名匹配且移动应用的多个功能模块与预设功能模块匹配的情况下,确定对移动应用进行应用构造侦测的结果满足预设条件。
在仿冒侦测层面,基于应用结构重构技术,对应用采取应用构造侦测技术,不仅仅使用传统的包名匹配与签名匹配,还加入了应用重构认证对比,当侦测到应用与规定的构造出现APK包内容不符时,即可判断为仿冒应用程序。在不为仿冒应用程序的情况下,再运行。
可选地,在运行解密后的指定功能模块之前或之后,可判断移动应用中的功能模块是否发生更新;在判断出移动应用中的功能模块发生更新的情况下,对移动应用中发生更新的功能模块进行更新。
上述的判断移动应用是否发生更新包括:获取云端对应于移动应用的多个目标模块,即获取云端更新的最新版本的移动应用的多个模块;将多个功能模块中的每个功能模块与对应的目标模块进行比较,其中,在至少一个功能模块与对应的目标模块不相同的情况下,判断出移动应用的至少一个功能模块发生更新。
基于应用结构重构技术,对应用采取自动化、差异化更新技术,应用程序不再是通过渠道和APP自提示方式进行APP的资源更新,而是使用过程中会自动在云端对旧版本APP的程序进行对比,当某些文件出现差异性的同时,会对有差异的文件进行更新(即仅对发生更新的功能模块进行更新),减小更新包的体量,从而降低更新包在网络传输中的开销。
通过上述实施例,利用应用结构重构技术不仅提高APK的安全基线,让APK的每个功能包安全维度得到提升,在更新方面也能方便快捷的进行差异性检测,从而让更新包体量减小从而降低更新包在网络传输中的开销,还能够防止植入广告和恶意木马,用户敏感信息泄露等安全行问题,能让企业APP加强客户的产品体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例还提供了一种移动应用的重构装置。需要说明的是,本发明实施例的移动应用的重构装置可以用于执行本发明实施例所提供的移动应用的重构方法,本发明实施例的移动应用的重构方法也可以通过本发明实施例所提供的移动应用的重构装置来执行。
图4是根据本发明实施例的移动应用的重构装置的示意图。如图4所示,该装置可以包括:获取单元41、划分单元42以及打包单元43。
获取单元41,用于获取待打包的移动应用的所有源代码;
划分单元42,用于将所有源代码划分为多个功能模块;
打包单元43,用于将加密后的多个功能模块整体打包为移动应用。即将所有的功能模块单独分别加密,然后将所有加密后的模块打包为移动应用。
通过上述实施例,获取单元获取待打包的移动应用的所有源代码;划分单元将所有源代码划分为多个功能模块;打包单元将加密后的多个功能模块整体打包为移动应用,由于对每个功能模块均进行了加密,从而解决了相关技术中移动应用的安全性较低的技术问题,实现了提高移动应用的安全性的技术效果。
上述的打包单元还用于通过公钥分别对多个功能模块进行加密,其中,任意两个功能模块采用的公钥不同;将经由公钥加密的多个功能模块打包为移动应用。
本发明实施例还提供了一种移动应用的运行装置。需要说明的是,本发明实施例的移动应用的运行装置可以用于执行本发明实施例所提供的移动应用的运行方法,本发明实施例的移动应用的运行方法也可以通过本发明实施例所提供的移动应用的运行装置来执行。
图5是根据本发明实施例的移动应用的运行装置的示意图。如图5所示,该装置可以包括:解密单元51和运行单元52。
解密单元51,用于在接收到指示运行移动应用中指定功能模块的指令时,对指定功能模块进行解密,其中,移动应用具有分别加密的多个功能模块;
运行单元52,用于运行解密后的指定功能模块,其中,移动应用中未运行的功能模块处于未解密状态。
可选地,解密单元对指定功能模块进行解密包括:解密单元获取多个功能模块的多个私钥中与指定功能模块对应的目标私钥,其中,任意两个功能模块对应的私钥不同;解密单元通过目标私钥对指定功能模块进行解密。
可选地,运行装置还包括:侦测单元,用于在运行解密后的指定功能模块之前,可对移动应用进行应用构造侦测;其中,在对移动应用进行应用构造侦测的结果满足预设条件的情况下,执行运行解密后的指定功能模块的步骤。
具体地,侦测单元还用于:判断移动应用的包名是否与预设包名匹配;判断移动应用的签名是否与预设签名匹配;判断移动应用的多个功能模块是否与预设功能模块匹配;其中,在判断出移动应用的包名与预设包名匹配、移动应用的签名与预设签名匹配且移动应用的多个功能模块与预设功能模块匹配的情况下,确定对移动应用进行应用构造侦测的结果满足预设条件。
可选地,运行装置还包括:判断单元,用于在运行解密后的指定功能模块之前或之后,可判断移动应用中的功能模块是否发生更新;更新单元,用于在判断出移动应用中的功能模块发生更新的情况下,对移动应用中发生更新的功能模块进行更新。
上述的判断单元还用于:获取云端对应于移动应用的多个目标模块;将多个功能模块中的每个功能模块与对应的目标模块进行比较,其中,在至少一个功能模块与对应的目标模块不相同的情况下,判断出移动应用的至少一个功能模块发生更新。
本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种移动应用的重构方法,其特征在于,包括:
获取待打包的移动应用的所有源代码;
将所有所述源代码划分为多个功能模块;
将加密后的多个所述功能模块整体打包为移动应用。
2.根据权利要求1所述的方法,其特征在于,将加密后的多个所述功能模块整体打包为移动应用包括:
通过公钥分别对多个所述功能模块进行加密,其中,任意两个所述功能模块采用的公钥不同;
将经由公钥加密的多个所述功能模块打包为移动应用。
3.一种移动应用的运行方法,其特征在于,包括:
在接收到指示运行移动应用中指定功能模块的指令时,对所述指定功能模块进行解密,其中,所述移动应用具有分别加密的多个功能模块;
运行解密后的所述指定功能模块,其中,所述移动应用中未运行的所述功能模块处于未解密状态。
4.根据权利要求3所述的方法,其特征在于,对所述指定功能模块进行解密包括:
获取多个所述功能模块的多个私钥中与所述指定功能模块对应的目标私钥,其中,任意两个所述功能模块对应的私钥不同;
通过所述目标私钥对所述指定功能模块进行解密。
5.根据权利要求3或4所述的方法,其特征在于,在运行解密后的所述指定功能模块之前,所述方法还包括:
对所述移动应用进行应用构造侦测;
其中,在对所述移动应用进行应用构造侦测的结果满足预设条件的情况下,执行运行解密后的所述指定功能模块的步骤。
6.根据权利要求5所述的方法,其特征在于,对所述移动应用进行应用构造侦测包括:
判断所述移动应用的包名是否与预设包名匹配;
判断所述移动应用的签名是否与预设签名匹配;
判断所述移动应用的多个所述功能模块是否与预设功能模块匹配;
其中,在判断出所述移动应用的包名与所述预设包名匹配、所述移动应用的签名与所述预设签名匹配且所述移动应用的多个所述功能模块与所述预设功能模块匹配的情况下,确定对所述移动应用进行应用构造侦测的结果满足所述预设条件。
7.根据权利要求3所述的方法,其特征在于,在运行解密后的所述指定功能模块之前或之后,所述方法还包括:
判断所述移动应用中的所述功能模块是否发生更新;
在判断出所述移动应用中的所述功能模块发生更新的情况下,对所述移动应用中发生更新的所述功能模块进行更新。
8.根据权利要求7所述的方法,其特征在于,判断所述移动应用是否发生更新包括:
获取云端对应于所述移动应用的多个目标模块;
将多个所述功能模块中的每个所述功能模块与对应的所述目标模块进行比较,其中,在至少一个所述功能模块与对应的所述目标模块不相同的情况下,判断出所述移动应用的至少一个所述功能模块发生更新。
9.一种移动应用的重构装置,其特征在于,包括:
获取单元,用于获取待打包的移动应用的所有源代码;
划分单元,用于将所有所述源代码划分为多个功能模块;
打包单元,用于将加密后的多个所述功能模块整体打包为移动应用。
10.一种移动应用的运行装置,其特征在于,包括:
解密单元,用于在接收到指示运行移动应用中指定功能模块的指令时,对所述指定功能模块进行解密,其中,所述移动应用具有分别加密的多个功能模块;
运行单元,用于运行解密后的所述指定功能模块,其中,所述移动应用中未运行的所述功能模块处于未解密状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2016109074103 | 2016-10-18 | ||
CN201610907410 | 2016-10-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106570354A true CN106570354A (zh) | 2017-04-19 |
Family
ID=60414227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610931997.1A Pending CN106570354A (zh) | 2016-10-18 | 2016-10-31 | 移动应用的重构方法和装置、运行方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106570354A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711445A (zh) * | 2019-10-26 | 2021-04-27 | 广州星际悦动股份有限公司 | 一种应用程序的管理方法及系统 |
CN113282893A (zh) * | 2021-04-27 | 2021-08-20 | 南方电网数字电网研究院有限公司 | 源代码加固方法、装置、计算机设备和存储介质 |
CN114721634A (zh) * | 2022-03-25 | 2022-07-08 | 武汉海昌信息技术有限公司 | 一种基于自定义类加载器的分包打包及加密方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902858A (zh) * | 2013-12-25 | 2014-07-02 | 武汉安天信息技术有限责任公司 | 一种apk应用加固的方法及系统 |
CN104102860A (zh) * | 2014-08-11 | 2014-10-15 | 北京奇虎科技有限公司 | 安卓平台应用程序的保护方法、运行方法、装置及系统 |
CN104462883A (zh) * | 2014-11-09 | 2015-03-25 | 刘鹏 | 一种apk文件加固的方法 |
CN105450662A (zh) * | 2015-12-25 | 2016-03-30 | 小米科技有限责任公司 | 加密方法及装置 |
CN105704149A (zh) * | 2016-03-24 | 2016-06-22 | 国网江苏省电力公司电力科学研究院 | 一种电力移动应用安全防护方法 |
-
2016
- 2016-10-31 CN CN201610931997.1A patent/CN106570354A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902858A (zh) * | 2013-12-25 | 2014-07-02 | 武汉安天信息技术有限责任公司 | 一种apk应用加固的方法及系统 |
CN104102860A (zh) * | 2014-08-11 | 2014-10-15 | 北京奇虎科技有限公司 | 安卓平台应用程序的保护方法、运行方法、装置及系统 |
CN104462883A (zh) * | 2014-11-09 | 2015-03-25 | 刘鹏 | 一种apk文件加固的方法 |
CN105450662A (zh) * | 2015-12-25 | 2016-03-30 | 小米科技有限责任公司 | 加密方法及装置 |
CN105704149A (zh) * | 2016-03-24 | 2016-06-22 | 国网江苏省电力公司电力科学研究院 | 一种电力移动应用安全防护方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711445A (zh) * | 2019-10-26 | 2021-04-27 | 广州星际悦动股份有限公司 | 一种应用程序的管理方法及系统 |
CN112711445B (zh) * | 2019-10-26 | 2023-12-12 | 广州星际悦动股份有限公司 | 一种应用程序的管理方法及系统 |
CN113282893A (zh) * | 2021-04-27 | 2021-08-20 | 南方电网数字电网研究院有限公司 | 源代码加固方法、装置、计算机设备和存储介质 |
CN114721634A (zh) * | 2022-03-25 | 2022-07-08 | 武汉海昌信息技术有限公司 | 一种基于自定义类加载器的分包打包及加密方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108241517B (zh) | 一种软件升级方法、客户端及电子设备 | |
CN105553951B (zh) | 数据传输方法和装置 | |
CN103888251B (zh) | 一种云环境中虚拟机可信保障的方法 | |
CN109460966A (zh) | 基于请求方类别的合同签订方法、装置及终端设备 | |
CN104283853B (zh) | 一种提高信息安全性的方法、终端设备及网络设备 | |
CN107851167A (zh) | 在计算环境中保护计算数据的技术 | |
CN109902494A (zh) | 数据加密存储方法、装置,以及文件存储系统 | |
CN110661748B (zh) | 一种日志的加密方法、解密方法及装置 | |
US10726130B2 (en) | Method and device for verifying upgrade of diagnosis connector of diagnostic equipment, and diagnosis connector | |
CN103902915B (zh) | 一种可信工控终端及其构建方法 | |
CN107423626A (zh) | 一种基于连续Hash值的BIOS更新信任链的方法 | |
CN108718313A (zh) | 应用软件数据安全使用方法、终端设备及服务器 | |
CN107135077A (zh) | 软件防护方法及装置 | |
CN106570354A (zh) | 移动应用的重构方法和装置、运行方法和装置 | |
CN107294710A (zh) | 一种vTPM2.0的密钥迁移方法及装置 | |
CN105184119B (zh) | 一种软件的安全保护方法 | |
CN117240625A (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN108768938B (zh) | 一种网页数据加解密方法及装置 | |
CN113055153B (zh) | 一种基于全同态加密算法的数据加密方法、系统和介质 | |
CN110266653A (zh) | 一种鉴权方法、系统及终端设备 | |
CN104182691B (zh) | 数据保密方法及装置 | |
CN107087002B (zh) | 一种数据的加解密方法、装置及电子设备 | |
CN108965315A (zh) | 一种终端设备的可信认证方法、装置及终端设备 | |
CN107527084A (zh) | 电子卡处理方法及装置 | |
CN105022651B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170419 |