预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN110059455A(43)申请公布日2019.07.26(21)申请号201910283828.5(22)申请日2019.04.09(71)申请人北京迈格威科技有限公司地址100190北京市海淀区科学院南路2号A座316-318(72)发明人马福鑫曹志敏(74)专利代理机构北京钲霖知识产权代理有限公司11722代理人李志新李静波(51)Int.Cl.G06F21/14(2013.01)权利要求书1页说明书5页附图2页(54)发明名称代码加密方法、装置、电子设备和计算机可读存储介质(57)摘要本发明提供了代码加密方法、装置、电子设备和计算机可读存储介质。代码加密方法包括:对源代码进行编译,生成原始中间文件;提取原始中间文件中的字节码信息,其中,字节码信息包括一条或多条原始指令;拦截字节码信息中的一条或多条原始指令,根据预先获得的常量字符串的指令特征,对一条或多条原始指令进行过滤,获得一条或多条原始指令中包含指令特征的原始指令所对应的明文常量字符串;对明文常量字符串执行加密处理,获得加密常量字符串;利用加密常量字符串替换明文常量字符串,并且插入与加密处理相对应的解密处理的代码,获得经加密的中间文件。本发明实施例提高了应用程序的安全级别,提高了查找加密处理的效率。CN110059455ACN110059455A权利要求书1/1页1.一种代码加密方法,所述方法包括:代码编译步骤,对源代码进行编译,生成原始中间文件;字节码信息提取步骤,提取所述原始中间文件中的字节码信息,其中,所述字节码信息包括一条或多条原始指令;指令拦截和过滤步骤,拦截所述字节码信息中的所述一条或多条原始指令,根据预先获得的常量字符串的指令特征,对所述一条或多条原始指令进行过滤,获得所述一条或多条原始指令中包含所述指令特征的原始指令所对应的明文常量字符串;字符串加密步骤,对所述明文常量字符串执行加密处理,获得加密常量字符串;替换插入步骤,利用所述加密常量字符串替换所述明文常量字符串,并且插入与所述加密处理相对应的解密处理的代码,获得经加密的中间文件。2.根据权利要求1所述的方法,其中,所述指令特征包括加载常量指令特征。3.根据权利要求1所述的方法,其中,所述原始中间文件包括类文件。4.根据权利要求1所述的方法,其中,所述字节码信息提取步骤包括:利用字节码插件或者中间文件分解命令提取所述原始中间文件中的所述字节码信息。5.根据权利要求1所述的方法,其中,利用字节码操纵框架、字节码编辑类库和字节码工程库中的任一种执行所述字符串加密步骤和所述替换插入步骤。6.根据权利要求1所述的方法,其中,在中间文件初始化过程中执行所述字符串加密步骤和所述替换插入步骤。7.一种代码加密装置,所述装置包括:代码编译模块,配置用于对源代码进行编译,生成原始中间文件;字节码信息提取模块,配置用于提取所述原始中间文件中的字节码信息,其中,所述字节码信息包括一条或多条原始指令;指令拦截和过滤模块,配置用于拦截所述字节码信息中的所述一条或多条原始指令,根据预先获得的常量字符串的指令特征,对所述一条或多条原始指令进行过滤,获得所述一条或多条原始指令中包含所述指令特征的原始指令所对应的明文常量字符串;字符串加密模块,配置用于对所述明文常量字符串执行加密处理,获得加密常量字符串;替换插入模块,配置用于利用所述加密常量字符串代替所述明文常量字符串,并且插入与所述加密处理相对应的解密处理的代码,获得经加密的中间文件。8.一种电子设备,所述电子设备包括:存储器,用于存储指令;以及处理器,用于调用所述存储器存储的所述指令执行如权利要求1-6中任一项所述的方法。9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时,执行如权利要求1-6中任一项所述的方法。2CN110059455A说明书1/5页代码加密方法、装置、电子设备和计算机可读存储介质技术领域[0001]本发明一般地涉及计算机软件程序,更具体地涉及代码加密方法、装置、电子设备和计算机可读存储介质。背景技术[0002]随着科学技术的发展和技术产业化应用水平的提升,移动终端的应用程序越来越普及。由于有巨大的利益诱惑,针对应用程序的破解和攻击也越来越猛烈。尤其是一些涉及到支付、人脸识别、私密等类型的应用程序成为首当其冲的攻击对象。[0003]目前,计算机程序产品源代码加密方案通常借助第三方的加固工具对源代码进行加固和混淆,以及做一些防拦截、防调试的策略,目的是防止被破解或者给破解增加难度。然而,很多存在于用户接口和程序逻辑中的字符串以明文的形式存在,被反编译后会暴露产品逻辑,给破解带来了极大的方便。破解者可以通过全局搜索常量字符串信