防反编译的加密、解密方法、装置、设备和存储介质制造方法及图纸

技术编号:35512934 阅读:20 留言:0更新日期:2022-11-09 14:28
本发明专利技术实施例提供一种防反编译的加密、解密方法、装置、设备和存储介质。该加密方法包括:利用获取到的私钥对目标代码文件进行加密,得到加密后的目标代码文件;根据私钥对应的公钥以及目标信息得到解密辅助信息;目标信息包括:用户授权码和解密外设的时钟信息中的至少一项根据所述解密辅助信息,将解密程序的代码分散存储至解密外设中;所述解密程序用于对所述加密后的目标代码文件进行解密。上述方案中加密后的目标代码文件不容易被反编译,并且由于没有改动代码的处理逻辑,解密后不影响执行效率。执行效率。执行效率。

【技术实现步骤摘要】
防反编译的加密、解密方法、装置、设备和存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种防反编译的加密、解密方法、装置、设备和存储介质。

技术介绍

[0002]根据Java虚拟机规范,由Java语言编译生成的Class文件,其采用一种类似C语言结构体的伪结构进行存储,所以非常容易通过逆向工程进行反编译。
[0003]现有技术中普遍采用代码混淆方式来防止Class文件被反编译。由于对代码的执行逻辑进行了等效的改动,会影响代码在运行时的执行效率,而且还可能造成程序逻辑错误,增加排查问题的难度。

技术实现思路

[0004]本专利技术实施例提供一种防反编译的加密、解密方法、装置、设备和存储介质,以解决防止Class文件被反编译时导致的影响代码的执行效率的技术问题。
[0005]具体地,本专利技术实施例提供了以下技术方案:
[0006]第一方面,本专利技术实施例提供了一种防反编译的加密方法,包括:
[0007]利用获取到的私钥对目标代码文件进行加密,得到加密后的目标代码文件;
[0008]根据所述私钥对应的公钥,以及目标信息得到解密辅助信息;所述目标信息包括:用户授权码和解密外设的时钟信息中的至少一项;
[0009]根据所述解密辅助信息,将解密程序的代码分散存储至解密外设中;所述解密程序用于对所述加密后的目标代码文件进行解密。
[0010]可选地,解密辅助信息包括:代码块的拆分信息和存储位置信息,所述根据所述解密辅助信息,将解密程序的代码分散存储至解密外设中,包括:
[0011]根据所述代码块的拆分信息,按照预设规则将解密程序的代码拆分成多个代码块;
[0012]根据所述存储位置信息,按照目标顺序将所述代码块分散存储至所述解密外设中;所述目标顺序为除所述多个代码块在所述解密程序中的原顺序之外的顺序。
[0013]可选地,所述解密辅助信息为字节码;所述字节码中的存储位置信息包括以下至少一项:起始代码块的起始位置、结束代码块的起始位置和各个代码块的起始位置。
[0014]可选地,利用获取到的私钥对目标代码文件进行加密之前,还包括:
[0015]根据所述目标代码文件的标识信息,确定所述目标代码文件是否需要加密;
[0016]若所述目标代码文件需要加密,则执行利用获取到的私钥对目标代码文件进行加密的步骤。
[0017]可选地,所述目标代码文件的标识信息包括魔法数;或,
[0018]所述目标代码文件的标识信息包括魔法数以及以下至少一项:版本号、文件包名、类名、描述符;
[0019]所述魔法数用于指示所述目标代码文件的类型。
[0020]可选地,所述利用获取到的私钥对目标代码文件进行加密之后,还包括:
[0021]将加密标识写入加密后的目标代码文件中的预设位置。
[0022]可选地,所述方法还包括:
[0023]获取用户设备信息和用户身份识别信息,用户设备信息包括以下至少一项:CPU信息、操作系统信息、网卡信息;
[0024]根据所述用户设备信息和用户身份识别信息,利用目标加密算法获取所述私钥和所述私钥对应的私钥;
[0025]将公钥拆分为第一部分和第二部分;
[0026]将所述第一部分作为授权证书,并将所述第二部分分散存储至解密外设中。
[0027]可选地,根据所述私钥对应的公钥以及目标信息得到解密辅助信息,包括:
[0028]根据所述授权证书以及目标信息得到解密辅助信息。
[0029]可选地,将随机生成的字符串作为所述用户授权码。
[0030]第二方面,本专利技术实施例提供了一种防反编译的解密方法,包括:
[0031]获取采用私钥加密后得到的目标代码文件以及解密辅助信息;所述解密辅助信息为根据所述私钥对应的公钥以及目标信息得到的,所述目标信息包括:用户授权码和解密外设的时钟信息中的至少一项;
[0032]根据所述解密辅助信息,对所述解密外设中分散存储的解密程序的代码进行还原处理,得到所述解密程序;
[0033]利用所述解密程序和公钥对加密后的目标代码文件进行解密。
[0034]可选地,所述解密辅助信息包括:代码块的拆分信息和存储位置信息,根据所述解密辅助信息,对所述解密外设中分散存储的解密程序的代码进行还原处理,得到所述解密程序,包括:
[0035]根据所述存储位置信息,按照目标顺序获取分散存储在所述解密外设中的多个代码块;所述目标顺序为除所述多个代码块在所述解密程序中的原顺序之外的顺序;
[0036]根据所述代码块的拆分信息以及所述多个代码块,按照预设规则还原得到所述解密程序。
[0037]可选地,所述方法还包括:
[0038]获取用户授权码和授权证书;所述授权证书为所述公钥的第一部分;
[0039]所述解密辅助信息为根据所述授权证书以及目标信息得到的;
[0040]所述公钥的第二部分分散存储在解密外设中,利用所述解密程序和公钥对加密后的目标代码文件进行解密,包括:
[0041]获取所述解密外设中分散存储的公钥的第二部分;
[0042]利用所述解密程序、所述授权证书和所述公钥的第二部分对加密后的目标代码文件进行解密。
[0043]可选地,所述获取解密外设中存储的解密辅助信息之前,还包括:
[0044]接收用户输入的验证码;所述验证码为所述解密外设基于解密外设的标识码以及时间戳生成的;
[0045]响应于所述用户输入,触发执行获取解密外设中存储的解密辅助信息的步骤。
[0046]可选地,所述解密辅助信息为字节码;所述字节码中的存储位置信息包括以下至少一项:起始代码块的起始位置、结束代码块的起始位置和各个代码块的起始位置。
[0047]第三方面,本专利技术实施例提供了一种防反编译的加密装置,包括:
[0048]加密模块,用于利用获取到的私钥对目标代码文件进行加密,得到加密后的目标代码文件;
[0049]处理模块,用于根据所述私钥对应的公钥,以及目标信息得到解密辅助信息;所述目标信息包括:用户授权码和解密外设的时钟信息中的至少一项;
[0050]所述处理模块,还用于根据所述解密辅助信息,将解密程序的代码分散存储至解密外设中;所述解密程序用于对所述加密后的目标代码文件进行解密。
[0051]第四方面,本专利技术实施例提供了一种防反编译的解密装置,包括:
[0052]获取模块,用于获取采用私钥加密后得到的目标代码文件以及解密辅助信息;所述解密辅助信息为根据所述私钥对应的公钥以及目标信息得到的,所述目标信息包括:用户授权码和解密外设的时钟信息中的至少一项;
[0053]处理模块,用于根据所述解密辅助信息,对所述解密外设中分散存储的解密程序的代码进行还原处理,得到所述解密程序;
[0054]解密模块,用于利用所述解密程序和公钥对加密后的目标代码文件进行解密。
[005本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防反编译的加密方法,其特征在于,包括:利用获取到的私钥对目标代码文件进行加密,得到加密后的目标代码文件;根据所述私钥对应的公钥以及目标信息得到解密辅助信息;所述目标信息包括:用户授权码和解密外设的时钟信息中的至少一项;根据所述解密辅助信息,将解密程序的代码分散存储至解密外设中;所述解密程序用于对所述加密后的目标代码文件进行解密。2.根据权利要求1所述的方法,其特征在于,所述解密辅助信息包括:代码块的拆分信息和存储位置信息,根据所述解密辅助信息,将解密程序的代码分散存储至解密外设中,包括:根据所述代码块的拆分信息,按照预设规则将解密程序的代码拆分成多个代码块;根据所述存储位置信息,按照目标顺序将所述代码块分散存储至所述解密外设中;所述目标顺序为除所述多个代码块在所述解密程序中的原顺序之外的顺序。3.根据权利要求2所述的方法,其特征在于,所述解密辅助信息为字节码;所述字节码中的存储位置信息包括以下至少一项:起始代码块的起始位置、结束代码块的起始位置和各个代码块的起始位置。4.根据权利要求1

3任一项所述的方法,其特征在于,所述利用获取到的私钥对目标代码文件进行加密之前,还包括:根据所述目标代码文件的标识信息,确定所述目标代码文件是否需要加密;若所述目标代码文件需要加密,则执行利用获取到的私钥对目标代码文件进行加密的步骤。5.根据权利要求4所述的方法,其特征在于,所述目标代码文件的标识信息包括魔法数;或,所述目标代码文件的标识信息包括魔法数以及以下至少一项:版本号、文件包名、类名、描述符;所述魔法数用于指示所述目标代码文件的类型。6.根据权利要求1

3任一项所述的方法,其特征在于,所述利用获取到的私钥对目标代码文件进行加密之后,还包括:将加密标识写入加密后的目标代码文件中的预设位置。7.根据权利要求1

3任一项所述的方法,其特征在于,所述方法还包括:获取用户设备信息和用户身份识别信息,用户设备信息包括以下至少一项:CPU信息、操作系统信息、网卡信息;根据所述用户设备信息和用户身份识别信息,利用目标加密算法获取所述私钥和所述私钥对应的公钥;将公钥拆分为第一部分和第二部分;将所述第一部分作为授权证书,并将所述第二部分分散存储至解密外设中。8.根据权利要求7所述的方法,其特征在于,根据所述私钥对应的公钥以及目标信息得到解密辅助信息,包括:根据所述授权证书以及目标信息得到解密辅助信息。9.一种防反编译的解密方法,其特征在于,包括:
获取采用私钥加密后得到的目标代码文件以及解密辅助信息;所述解密辅助信息为根据所述私钥对应的公钥以及目标信息得到的,所述目标信息包括:用户授权码和解密外设的时钟信息中的至少一项;根据所述解密辅助信息,对所述解密外设中分散存储的解密程序的代码进行还原处理,得到所述解密程序;利用所述解密程序和公钥对加密后的目标代码文件进行解密。10.根据权利要求9所述的方法,其特征在于,所述解密辅助信息包括:代码块的拆分信息和存储位置信息,根据所述解密辅助信息,对...

【专利技术属性】
技术研发人员:唐鹏卢维清刘春林
申请(专利权)人:奇安信网神信息技术北京股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1