CN104751026B - 安卓系统的软件保护方法、软件应用方法及相关装置 - Google Patents
安卓系统的软件保护方法、软件应用方法及相关装置 Download PDFInfo
- Publication number
- CN104751026B CN104751026B CN201310728826.5A CN201310728826A CN104751026B CN 104751026 B CN104751026 B CN 104751026B CN 201310728826 A CN201310728826 A CN 201310728826A CN 104751026 B CN104751026 B CN 104751026B
- Authority
- CN
- China
- Prior art keywords
- code
- software
- protected
- character string
- upset
- 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
Abstract
本发明公开了一种安卓系统的软件保护方法、软件应用方法及相关装置,包括:获取待保护软件对应的第一代码;将该第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,得到与该待保护软件对应的第二代码;并通过扰乱处理程序对该第二代码中的该api字符串代码中的字符串进行代码扰乱处理,得到与该待保护软件对应的第三代码;以及对该第三代码以及该扰乱处理程序对应的扰乱恢复程序进行打包处理,得到该待保护软件的最新安装包apk。采用本发明实施例提供的方法,相比于现有技术,增加了对apk逆向分析的难度,使apk更大程度得到保护。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种安卓系统的软件保护方法、软件应用方法及相关装置。
背景技术
随着移动互联网的迅速发展,智能移动终端越来越多,其中,在移动终端系统中,安卓(Android)系统占据了较大比例。Android系统上的软件安装包(apk,AndroidPackage)主流开发语言为Java,Java语言相比于其他软件开发语言而言,反编译、逆向修改较为容易,因此,攻击者通过反编译apk,嵌入恶意代码、破解付费软件的计费点、嵌入垃圾广告插件等等,可能会导致用户信息泄露、信息丢失,给用户带来损失,另一方面,也使软件的版权不能得到保障,给软件开发者带来损失。
现有的Android软件保护方法主要为代码混淆,在软件发布前,对代码进行代码混淆,代码混淆也称花指令,是将计算机程序代码转换成一种功能上等价,但是难于阅读和理解的形式。但代码混淆只能对用户自定义的类、函数、变量进行混淆处理,为了保证程序的正常运行,对系统应用程序编程接口(api,Application Programming Interface)、资源id、字符串id都不能进行混淆,这就使得攻击者通过在代码中查找系统api、资源id、字符串id,将其进行替换或修改,从而达到篡改apk的目的。因此,对于现有的Android软件保护方法,apk仍然比较容易被逆向分析、被篡改。
发明内容
本发明实施例提供一种安卓Android系统的软件保护方法、软件应用方法及相关装置,用以解决现有技术中存在的apk容易被逆向分析、被篡改的问题。
本发明实施例提供一种Android系统的软件保护方法,包括:
获取待保护软件对应的第一代码;
将所述第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,得到与所述待保护软件对应的第二代码;
通过扰乱处理程序对所述第二代码中的所述api字符串代码中的字符串进行代码扰乱处理,得到与所述待保护软件对应的第三代码;
对所述第三代码以及所述扰乱处理程序对应的扰乱恢复程序进行打包处理,得到所述待保护软件的最新安装包apk。
采用本发明实施例提供的方法,首先将待保护软件对应的第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,然后可以对api函数对应的字符串进行扰乱处理,并且打包时将扰乱恢复程序一起打包,得到apk,以便在安装过程中对扰乱处理的字符串进行恢复,这样,既保证了程序的正常运行,又避免了攻击者针对系统api进行软件篡改的行为,增加了apk被逆向分析的难度。
相应的,本发明实施例还提供一种Android系统的软件保护装置,包括:
代码获取单元,用于获取待保护软件对应的第一代码;
替换单元,用于将所述第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,得到与所述待保护软件对应的第二代码;
扰乱处理单元,用于通过扰乱处理程序对所述第二代码中的所述api字符串代码中的字符串进行代码扰乱处理,得到与所述待保护软件对应的第三代码;
打包单元,用于对所述第三代码以及所述扰乱处理程序对应的扰乱恢复程序进行打包处理,得到所述待保护软件的最新安装包apk。
基于上述软件保护方法,本发明实施例还提供一种Android系统的软件应用方法,包括:
获取所述最新安装包apk;
对所述最新apk进行解压,得到所述待保护软件对应的所述第三代码以及所述扰乱恢复程序;
使用所述扰乱恢复程序对所述第三代码中的经过扰乱处理所述api字符串代码中的字符串进行恢复,得到恢复后的所述待保护软件对应的所述第二代码;
通过执行所述待保护软件对应的所述第二代码,完成所述最新apk的安装。
相应的,本发明实施例还提供一种Android系统的软件应用装置,包括:
安装包获取单元,用于获取所述最新安装包apk;
解压单元,用于对所述最新apk进行解压,得到所述待保护软件对应的所述第三代码以及所述扰乱恢复程序;
扰乱恢复单元,使用所述扰乱恢复程序对所述第三代码中的经过扰乱处理所述api字符串代码中的字符串进行恢复,得到恢复后的所述待保护软件对应的所述第二代码;
执行单元,用于通过执行所述待保护软件对应的所述第二代码,完成所述最新apk的安装。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的Android系统的软件保护方法的流程图之一;
图2为本发明实施例提供的Android系统的软件保护方法的流程图之二;
图3为本发明实施例提供的Android系统的软件应用方法的流程图;
图4为本发明实施例提供的Android系统的软件保护装置的结构示意图;
图5为本发明实施例提供的Android系统的软件应用装置的结构示意图。
具体实施方式
为了给出增加Android系统的软件安装包apk被逆向分析的难度的实现方案,本发明实施例提供了一种安卓Android系统的软件保护方法、软件应用方法及相关装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供一种安卓Android系统的软件保护方法,具体步骤如图1所示,包括:
步骤101、获取待保护软件对应的第一代码。
步骤102、将该第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,得到与该待保护软件对应的第二代码。
步骤103、通过扰乱处理程序对该第二代码中的该api字符串代码中的字符串进行代码扰乱处理,得到与该待保护软件对应的第三代码。
步骤104、对该第三代码以及该扰乱处理程序对应的扰乱恢复程序进行打包处理,得到该待保护软件的最新安装包apk。
在上述步骤101中,获取待保护软件对应的第一代码,可以是获取待保护软件的源代码,将该源代码作为待保护软件对应的第一代码,即可以直接对待保护软件的源代码采用本发明实施例提供的软件保护方法;如果在没有源代码的情况下,也可以获取对待保护软件的源代码进行打包处理得到的原始安装包apk,对该原始apk进行反编译,得到待保护软件反编译后的代码,作为该待保护软件对应的第一代码,针对该第一代码采用本发明实施例提供的软件保护方法对待保护软件进行保护。其中,对原始apk进行反编译,有多种方法,可以通过相关反编译工具(如apktool),将apk反编译为smali代码,将smali代码作为待保护软件对应的第一代码,采用的反编译方法与现有技术中相同,在此不再赘述。
采用本发明实施例提供的方法,首先将待保护软件对应的第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,然后可以对api函数对应的字符串进行扰乱处理,并且打包时将扰乱恢复程序一起打包,得到apk,以便在安装过程中对扰乱处理的字符串进行恢复,这样,既保证了程序的正常运行,又避免了攻击者针对系统api进行软件篡改的行为,增加了apk被逆向分析的难度。
下面结合附图,用具体实施例对本发明提供的方法及装置和相应系统进行详细描述。具体实施步骤如图2所示,包括:
步骤201、获取对待保护软件的源代码进行打包处理得到的原始安装包apk。此处,原始安装包apk也可以是对待保护软件进行过其他保护处理后打包得到的。
步骤202、对该原始apk进行反编译,本实施例通过反编译工具apktool将apk反编译为smali代码,将该smali代码作为待保护软件对应的第一代码。
步骤203、将该第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,得到与待保护软件对应的第二代码。
其中,将该第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,可以采用现有技术中的反射调用机制调用系统api,具体的反射调用机制,通过Java代码举例说明。例如,原有代码中通过getDeviceId函数获得移动设备身份码(IMEI,International Mobile Equipment Identity),如下:
String imei=TelephonyManager.getDeviceId();
当对该getDeviceId函数采用反射调用机制时,将上述代码替换为:
Class c=Class.forName("TelephonyManager");
Class[]parameterTypes=new Class[1];
parameterTypes[0]=char[].class;
Method tt=c.getMethod("getDeviceId",parameterTypes);
char[]pp={''};
String imei=(String)tt.invoke(c.newInstance(),pp);
通过对该第一代码中的所有系统api函数采用如上方式进行处理之后,使得所有系统api函数实现以字符串方式被调用,将替换之后得到的代码作为待保护软件对应的第二代码。
步骤204、通过扰乱处理程序对该第二代码中的api字符串代码中的字符串进行代码扰乱处理,得到与待保护软件对应的第三代码。其中,除了对字符串进行扰乱处理之外,还可以对第二代码中的所有的资源id、字符串id进行代码扰乱处理。
本步骤中,扰乱处理程序可以采用较为底层的语言开发,比如c语言、汇编语言等不容易被逆向分析的语言,扰乱处理可以通过扰乱处理模块来实现,该扰乱处理模块包含与扰乱处理程序对应的扰乱恢复程序。扰乱处理模块将字符串/整数进行扰乱处理,扰乱处理可以采用现有技术中的3DES、AES等加密算法实现,也可以通过自定义的扰乱算法实现。
例如,对字符串getDeviceId进行扰乱处理后,字符串“getDeviceId”替换为“43fdgfdsfdsgrhdfd553dd3evcfdsfsd”无意义的字符串,则上述采用反射调用机制处理的代码替换为:
Class c=Class.forName("TelephonyManager");
Class[]parameterTypes=new Class[1];
parameterTypes[0]=char[].class;
Method tt=c.getMethod(RAOLUAN("43fdgfdsfdsgrhdfd553dd3evcfdsfsd"),
parameterTypes);
char[]pp={''};
String imei=(String)tt.invoke(c.newInstance(),pp);
步骤205、对该第三代码以及该扰乱处理程序对应的扰乱恢复程序进行打包处理,得到该待保护软件的最新安装包apk。其中,将扰乱恢复程序一起打包,在apk安装时,能够对扰乱处理的字符串、资源id、字符串id进行恢复,保证程序的正常运行。
采用本发明实施例的软件保护方法得到的最新安装包apk,对系统api字符串、资源id、字符串id都进行了保护,增加了攻击者逆向分析的难度,使软件更好的得到保护。
基于本发明实施例提供的上述Android系统的软件保护方法,本发明实施例还提供一种Android系统的软件应用方法,如图3所示,包括:
步骤301、获取最新安装包apk。其中,该最新apk是经过上述软件保护方法保护的apk。
步骤302、对该最新apk进行解压,得到待保护软件对应的第三代码以及扰乱恢复程序。
步骤303、使用该扰乱恢复程序对该第三代码中的经过扰乱处理的api字符串代码中的字符串进行恢复,得到恢复后的该待保护软件对应的第二代码。其中,还包括对该第三代码中的经过扰乱处理的资源id、字符串id进行恢复。
步骤304、通过执行待保护软件对应的该第二代码,完成最新apk的安装。
基于同一发明构思,根据本发明上述实施例提供的Android系统的软件保护方法,相应地,本发明另一实施例还提供了Android系统的软件保护装置,应用于服务器,装置结构示意图如图4所示,具体包括:
代码获取单元401,用于获取待保护软件对应的第一代码;
替换单元402,用于将该第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,得到与该待保护软件对应的第二代码;
扰乱处理单元403,用于通过扰乱处理程序对该第二代码中的该api字符串代码中的字符串进行代码扰乱处理,得到与该待保护软件对应的第三代码;
打包单元404,用于对该第三代码以及该扰乱处理程序对应的扰乱恢复程序进行打包处理,得到该待保护软件的最新安装包apk。
进一步的,代码获取单元401,具体用于获取待保护软件的源代码,作为该待保护软件对应的第一代码;或者获取对待保护软件的源代码进行打包处理得到的原始安装包apk,对该原始apk进行反编译,得到该待保护软件反编译后的代码,作为该待保护软件对应的第一代码。
进一步的,扰乱处理单元403,具体用于对该第二代码中的该api字符串代码中的字符串,以及资源id、字符串id进行代码扰乱处理。
上述各单元的功能可对应于图1至图2所示流程中的相应处理步骤,在此不再赘述。
基于上述Android系统的软件保护装置,本发明实施例还提供一种Android系统的软件应用装置,应用于运行Android系统的移动终端,装置结构示意图如图5所示,包括:
安装包获取单元501,用于获取该最新安装包apk;
解压单元502,用于对该最新apk进行解压,得到该待保护软件对应的该第三代码以及该扰乱恢复程序;
扰乱恢复单元503,使用该扰乱恢复程序对该第三代码中的经过扰乱处理该api字符串代码中的字符串进行恢复,得到恢复后的该待保护软件对应的该第二代码;
执行单元504,用于通过执行该待保护软件对应的该第二代码,完成该最新apk的安装。
进一步的,扰乱恢复单元503,具体用于对该第三代码中的经过扰乱处理的该api字符串代码中的字符串,以及资源id、字符串id进行恢复。
上述各单元的功能可对应于图3所示流程中的相应处理步骤,在此不再赘述。
综上该,本发明实施例提供的方案,获取待保护软件对应的第一代码;将该第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,得到与该待保护软件对应的第二代码;并通过扰乱处理程序对该第二代码中的该api字符串代码中的字符串进行代码扰乱处理,得到与该待保护软件对应的第三代码;以及对该第三代码以及该扰乱处理程序对应的扰乱恢复程序进行打包处理,得到该待保护软件的最新安装包apk。采用本发明实施例提供的方法,相比于现有技术,增加了对apk逆向分析的难度,使apk更大程度得到保护。
本申请的实施例所提供的Android系统的软件保护装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要Android系统的软件保护装置具有上述功能,都应该在本申请的保护范围之内。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种安卓Android系统的软件保护方法,其特征在于,包括:
获取待保护软件对应的第一代码;
将所述第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,得到与所述待保护软件对应的第二代码;
通过扰乱处理程序对所述第二代码中的所述api字符串代码中的字符串,以及资源id、字符串id进行代码扰乱处理,得到与所述待保护软件对应的第三代码;
对所述第三代码以及所述扰乱处理程序对应的扰乱恢复程序进行打包处理,得到所述待保护软件的最新安装包apk。
2.如权利要求1所述的方法,其特征在于,获取待保护软件对应的第一代码,具体包括:
获取待保护软件的源代码,作为所述待保护软件对应的第一代码;或者
获取对待保护软件的源代码进行打包处理得到的原始安装包apk,对该原始apk进行反编译,得到所述待保护软件反编译后的代码,作为所述待保护软件对应的第一代码。
3.一种基于权利要求1所述的方法的安卓Android系统的软件应用方法,其特征在于,包括:
获取所述最新安装包apk;
对所述最新apk进行解压,得到所述待保护软件对应的所述第三代码以及所述扰乱恢复程序;
使用所述扰乱恢复程序对所述第三代码中的经过扰乱处理的所述api字符串代码中的字符串,以及资源id、字符串id进行恢复,得到恢复后的所述待保护软件对应的所述第二代码;
通过执行所述待保护软件对应的所述第二代码,完成所述最新apk的安装。
4.一种安卓Android系统的软件保护装置,其特征在于,包括:
代码获取单元,用于获取待保护软件对应的第一代码;
替换单元,用于将所述第一代码中的系统应用程序编程接口api函数代码,替换为用于以字符串方式进行api调用的api字符串代码,得到与所述待保护软件对应的第二代码;
扰乱处理单元,用于通过扰乱处理程序对所述第二代码中的所述api字符串代码中的字符串,以及资源id、字符串id进行代码扰乱处理,得到与所述待保护软件对应的第三代码;
打包单元,用于对所述第三代码以及所述扰乱处理程序对应的扰乱恢复程序进行打包处理,得到所述待保护软件的最新安装包apk。
5.如权利要求4所述的装置,其特征在于,所述代码获取单元,具体用于获取待保护软件的源代码,作为所述待保护软件对应的第一代码;或者
获取对待保护软件的源代码进行打包处理得到的原始安装包apk,对该原始apk进行反编译,得到所述待保护软件反编译后的代码,作为所述待保护软件对应的第一代码。
6.一种基于权利要求4所述的装置的安卓Android系统的软件应用装置,其特征在于,包括:
安装包获取单元,用于获取所述最新安装包apk;
解压单元,用于对所述最新apk进行解压,得到所述待保护软件对应的所述第三代码以及所述扰乱恢复程序;
扰乱恢复单元,使用所述扰乱恢复程序对所述第三代码中的经过扰乱处理所述api字符串代码中的字符串,以及资源id、字符串id进行恢复,得到恢复后的所述待保护软件对应的所述第二代码;
执行单元,用于通过执行所述待保护软件对应的所述第二代码,完成所述最新apk的安装。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310728826.5A CN104751026B (zh) | 2013-12-25 | 2013-12-25 | 安卓系统的软件保护方法、软件应用方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310728826.5A CN104751026B (zh) | 2013-12-25 | 2013-12-25 | 安卓系统的软件保护方法、软件应用方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104751026A CN104751026A (zh) | 2015-07-01 |
CN104751026B true CN104751026B (zh) | 2018-11-02 |
Family
ID=53590700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310728826.5A Active CN104751026B (zh) | 2013-12-25 | 2013-12-25 | 安卓系统的软件保护方法、软件应用方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104751026B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932902B (zh) * | 2015-07-09 | 2019-07-12 | 魅族科技(中国)有限公司 | 一种生成apk文件的方法及终端 |
CN105701410B (zh) * | 2015-12-31 | 2019-03-01 | 华为技术有限公司 | 一种获得源代码中信息的方法、装置及系统 |
CN106650340B (zh) * | 2016-11-16 | 2019-12-06 | 中国人民解放军国防科学技术大学 | 一种采用动态细粒度代码隐藏与混淆技术的二进制软件保护方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324872A (zh) * | 2013-07-12 | 2013-09-25 | 上海交通大学 | 基于指令混淆的Android应用程序保护方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE438151T1 (de) * | 2006-12-21 | 2009-08-15 | Ericsson Telefon Ab L M | Verschleierung von computerprogrammcodes |
US8955043B2 (en) * | 2010-01-27 | 2015-02-10 | Microsoft Corporation | Type-preserving compiler for security verification |
-
2013
- 2013-12-25 CN CN201310728826.5A patent/CN104751026B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324872A (zh) * | 2013-07-12 | 2013-09-25 | 上海交通大学 | 基于指令混淆的Android应用程序保护方法及系统 |
Non-Patent Citations (2)
Title |
---|
[Android]利用java反射调用隐藏Api;于海洋-童鞋;《http://blog.csdn.net/y_haiyang/article/details/9924925》;20130812;1-3页 * |
技巧篇:结合反射技术实现多算法动态加密;东邪独孤;《http://blog.csdn.net/tcjiaan/article/details/7202418》;20120115;1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104751026A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834859B (zh) | 一种Android应用中恶意行为的动态检测方法 | |
EP2962193B1 (en) | Compiler based obfuscation | |
EP2897072B1 (en) | Device for obfuscating code and method for same | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
CN107992723A (zh) | 一种基于动态链接库的Java源码保护方法 | |
US20160203087A1 (en) | Method for providing security for common intermediate language-based program | |
US20090138863A1 (en) | Method And Apparatus For Protecting .NET Programs | |
CN103914637B (zh) | 一种安卓平台的可执行程序加密方法 | |
US20170024230A1 (en) | Method, apparatus, and computer-readable medium for ofuscating execution of an application on a virtual machine | |
CN105022936A (zh) | 一种类class文件加密解密方法和装置 | |
CN107480476B (zh) | 一种基于ELF感染的Android本地层指令编译虚拟化加壳方法 | |
CN105303073B (zh) | 软件代码保护方法 | |
CN104268444A (zh) | 一种云OS Java源代码保护方法 | |
CN106599627A (zh) | 基于虚拟机保护应用安全的方法及装置 | |
CN108399319A (zh) | 源代码保护方法、应用服务器及计算机可读存储介质 | |
CN109598107A (zh) | 一种基于应用安装包文件的代码转换方法及装置 | |
CN103473104A (zh) | 一种基于关键词上下文频率矩阵的应用重打包辨别方法 | |
CN104298534A (zh) | 基于Lua语言的编程方法和装置 | |
US10867017B2 (en) | Apparatus and method of providing security and apparatus and method of executing security for common intermediate language | |
CN106897587A (zh) | 加固应用、加载加固应用的方法和装置 | |
CN107133502A (zh) | 一种应用程序的处理方法及装置 | |
CN104751026B (zh) | 安卓系统的软件保护方法、软件应用方法及相关装置 | |
CN107871066B (zh) | 基于安卓系统的代码编译方法及装置 | |
CN110532737A (zh) | Jar包加密管理方法、装置、计算机设备及存储介质 | |
CN107577925B (zh) | 基于双重ARM指令虚拟的Android应用程序保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |