本申请公开了一种代码保护的方法、装置、电子设备及存储介质,属于iOS应用安全技术领域,用以解决不能很好地防范代码被反编译的问题,提升了代码被反编译的难度,对代码进行了全方位的保护,提升了代码的安全性,所述方法包括:获取待保护代码的目标信息,其中所述目标信息包括下述中的至少一者:常量字符串、图片资源、可添加额外代码的子代码、所述待保护代码的属性信息;通过与所述目标信息相对应的保护方式,对所述待保护代码进行保护。对所述待保护代码进行保护。对所述待保护代码进行保护。
【技术实现步骤摘要】
一种代码保护的方法、装置、电子设备及存储介质
[0001]本申请属于iOS应用安全
,具体涉及一种代码保护的方法、装置、电子设备及存储介质。
技术介绍
[0002]iOS是由苹果公司开发的移动操作系统,属于类Unix的商业操作系统。
[0003]反编译是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程以及运行方法等设计要素,某些特定情况下可能推导出源代码。但是随着移动应用市场的不断发展,iOS应用程序不可避免的面临着被反编译、逆向破解等安全问题。目前,目前大多数iOS代码保护采用的方法都是采用命令脚本对类名、方法名、变量名等进行随机字符串的替换。
[0004]但是,简单的混淆处理并不能很好的防范代码被反编译,容易泄露核心逻辑。
技术实现思路
[0005]本申请实施例提供一种代码保护的方法、装置、电子设备及存储介质,能够解决代码不能很好地防范被反编译的问题,提升了代码被反编译的难度,提升了代码的安全性,对代码进行了全方位的保护。
[0006]第一方面,本申请实施例提供了一种代码保护的方法,该方法包括:获取待保护代码的目标信息,其中所述目标信息包括下述中的至少一者:常量字符串、图片资源、可添加额外代码的子代码、所述待保护代码的属性信息,通过与所述目标信息相对应的保护方式,对所述待保护代码进行保护。
[0007]第二方面,本申请实施例提供了一种代码保护的装置,该装置包括:获取模块,用于获取待保护代码的目标信息,其中所述目标信息包括下述中的至少一者:常量字符串、图片资源、可添加额外代码的子代码、所述待保护代码的属性信息,保护模块,用于通过与所述目标信息相对应的保护方式,对所述待保护代码。
[0008]第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
[0009]第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
[0010]在本申请实施例中,通过获取待保护代码的目标信息,其中所述目标信息包括下述中的至少一者:常量字符串、图片资源、可添加额外代码的子代码、所述待保护代码的属性信息,通过与所述目标信息相对应的保护方式,对所述待保护代码进行保护,能够解决代码不能很好地防范被反编译的问题,提升了源代码被反编译的难度,提升了源代码的安全性,对代码进行了全方位的保护。
附图说明
[0011]图1是本申请实施例提供的一种代码保护的方法的流程示意图;
[0012]图2是本申请实施例提供的另一种代码保护的方法的流程示意图;
[0013]图3是本申请实施例提供的另一种代码保护的方法的流程示意图;
[0014]图4是本申请实施例提供的另一种代码保护的方法的流程示意图;
[0015]图5是本申请实施例提供的另一种代码保护的方法的流程示意图;
[0016]图6是根据本申请的一个实施例的代码保护的装置的结构示意图;
[0017]图7是根据本申请的一个实施例的电子设备的结构示意图;
[0018]图8是根据本申请的另一个实施例的电子设备的结构示意图。
具体实施方式
[0019]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0020]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0021]下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的一种代码保护的方法、装置、电子设备及存储介质进行详细地说明。
[0022]图1示出本专利技术的一个实施例提供的一种代码保护的方法,该方法可以由电子设备执行,该电子设备可以包括:服务器和/或终端设备,其中终端设备可以例如车载终端或手机终端等。换言之,该方法可以由安装在电子设备的软件或硬件来执行,该方法包括如下步骤:
[0023]步骤102:获取待保护代码的目标信息。
[0024]具体的,待保护代码可以为源代码。
[0025]获取待保护代码的目标信息时,可以对待保护代码进行解析,获取待保护代码中的目标信息。
[0026]其中,目标信息包括下述中的至少一者:常量字符串、图片资源、可添加额外代码的子代码、待保护代码的属性信息。
[0027]可选的,待保护代码的属性信息可以包括代码中能够通过混淆方式进行保护的部分,例如:代码中的类名、方法名、变量名以及资源名等。
[0028]步骤104:通过与所述目标信息相对应的保护方式,对所述待保护代码进行保护。
[0029]具体的,通过多种保护方式对目标信息进行保护,同一类型目标信息存在其对应的保护方式,例如:常量字符串对应一种保护方式,图片资源对应一种保护方式,可添加额外代码的子代码对应一种保护方式,待保护代码的属性信息存在一种保护方式。这样,实现
了通过多种方式对待保护代码进行保护,从而提升了代码被反编译的难度,提升了代码的安全性。
[0030]本专利技术实施例提供的一种代码保护的方法,通过获取待保护代码的目标信息,其中所述目标信息包括下述中的至少一者:常量字符串、图片资源、可添加额外代码的子代码、所述待保护代码的属性信息,通过与所述目标信息相对应的保护方式,对所述待保护代码进行保护,实现了对代码全方位的保护,使得代码的逻辑更加复杂,能够提升代码被反编译的难度,提升代码的安全性,能够解决代码不能很好地防范被反编译的问题。
[0031]在一种实现方式中,与所述常量字符串对应的第一保护方式为加密方式,与所述图片资源对应的第二保护方式为加密方式,与所述子代码对应的第三保护方式为增加无效代码的方式,其中所述无效代码指不改变所述待保护代码的运行逻辑的代码,与所述属性信息对应的第四保护方式为代码混淆方式。
[0032]对目标信息进行保护处理的过程中,可以将获取到的常量字符串以及图片资源通过加密的方式进行保护,可添加额外代码的子代码通过添加无效代码的方式进行保护,并且,添加的无效代码为不改变待保护代码的运行逻辑的代码,待保护代码的属性信息通过混淆的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种代码保护的方法,其特征在于,包括:获取待保护代码的目标信息,其中所述目标信息包括下述中的至少一者:常量字符串、图片资源、可添加额外代码的子代码、所述待保护代码的属性信息;通过与所述目标信息相对应的保护方式,对所述待保护代码进行保护。2.根据权利要求1所述的代码保护的方法,其特征在于,与所述常量字符串对应的第一保护方式为加密方式;与所述图片资源对应的第二保护方式为加密方式;与所述子代码对应的第三保护方式为增加无效代码的方式,其中所述无效代码指不改变所述待保护代码的运行逻辑的代码;与所述属性信息对应的第四保护方式为代码混淆方式。3.根据权利要求1或2所述的代码保护的方法,其特征在于,在所述目标信息包括所述常量字符串的情况下,所述通过与所述目标信息相对应的保护方式,对所述待保护代码进行保护,包括:将所述常量字符串转换为字节,并将所述字节与预设值进行异或加密处理,得到处理后的字节数组;在所述字节数组中添加与所述异或加密所对应的解密代码,以用于所述待保护代码运行时对所述异或加密进行解密。4.根据权利要求1或2所述的代码保护的方法,其特征在于,在所述目标信息包括图片资源的情况下,所述通过与所述目标信息相对应的保护方式,对所述待保护代码进行保护,包括:将所述图片资源进行加密压缩;在所述图片资源的打开程序入口添加与所述加密压缩对应的解密解压代码,并修改所述待保护代码中指示所述图片资源的获取方式的代码。5.根据权利要求1或2所述的代码保护的方法,其特征在于,在所述目标信息包括可添加额外代码的子代码的情况下,所述通过与所述目标信息相对应的保护方式,对所述待保护代码进行保护,包括:基于预设模板生成下述待添加数据中的至少一者:模型类数据、工具类数据、所述模型类数据所对应的变量数据及方法函数、所述工具类数据所对应的变量数据及方法函数、常量数据;从所述待添加数据中随机获取第一数...
【专利技术属性】
技术研发人员:蒋晓海,赵海宾,
申请(专利权)人:北京云测信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。