【技术实现步骤摘要】
一种程序文件加密和解密方法、装置及电子设备
[0001]本专利技术涉及程序安全处理
,具体涉及一种程序文件加密和解密方法、装置及电子设备。
技术介绍
[0002]目前,在互联网和传统服务等领域中,大量使用编程语言进行开发,很多编程语言都具有着跨平台、使用方便等各种优秀的特性,例如Java编程语言。Java编程语言可以一次编译,随处运行,只要环境中安装了Java虚拟机(JVM,Java Virtual Machine)就可以运行Java程序。Java是解释型语言,编译器会把Java代码变成中间代码,然后在Java虚拟机上解析执行。由于中间代码与平台无关,因此,Java编程语言可以很好地跨平台执行,具有良好的可移植性。但是中间代码中包含了源代码的信息,导致很容易通过反编译得到源代码。
[0003]为了提高源代码的安全性和防止源代码泄露,通常的主要措施会将编程语言代码做混淆,混淆代码就是将代码转换成难以读懂的样式,增加破解难度。但混淆之后的代码经过一系列的逻辑鉴别,也会还原为原有代码逻辑,进而得出类源代码,例如对混淆编译后的class文件进行加密处理,通过自定义类加载器进行解密运行程序。但由于自定义的类加载器自身不会被加密,其中的解密逻辑和方法容易暴露,导致经过人工识别后会解密出混淆之前的代码。如果需要对代码进行运行控制,只加密和混淆虽然能够防止一部分场景的代码泄露,无法实现对程序的启动与运行权限的掌控。
技术实现思路
[0004]因此,本专利技术要解决的技术问题在于克服现有存在的容易泄露源代 ...
【技术保护点】
【技术特征摘要】
1.一种程序文件加密方法,其特征在于,包括:获取待加密程序包中需要加密的目标程序、加密配置文件和所述目标程序对应的许可申请信息;根据所述加密配置文件确定所述目标程序的加密方式,所述加密方式包括本地加密和远程加密;根据加密方式的不同,向认证中心发送相应的目标数据,使得所述认证中心根据所述目标数据生成所述目标程序对应的许可证信息以及加密和解密所需的密钥,所述目标数据包括许可申请信息;接收所述认证中心返回的所述目标程序对应的密钥;获取包含有加密后的目标程序的第一加密文件以及包含对应的许可证信息的第二加密文件;根据所述第一加密文件和所述第二加密文件,生成对应的解密程序;根据预设方法生成所述解密程序对应的类库文件以及所述类库文件对应的探针程序;将所述第一加密文件、第二加密文件、所述类库文件以及所述探针程序进行关联。2.根据权利要求1所述的方法,其特征在于,所述根据加密方式的不同,向认证中心发送相应的目标数据,使得所述认证中心根据所述目标数据生成所述目标程序对应的许可证信息以及加密和解密所需的密钥,包括:当所述目标程序的加密方式为本地加密,向所述认证中心发送许可申请信息,使得所述认证中心根据所述许可申请信息生成所述目标程序对应的许可证信息以及本地加密和解密所需的密钥;所述获取包含有加密后的目标程序的第一加密文件以及包含对应的许可证信息的第二加密文件,包括:利用所述密钥对所述目标程序进行加密得到第一加密文件;利用所述密钥对所述许可证信息进行加密得到第二加密文件。3.根据权利要求1所述的方法,其特征在于,所述根据加密方式的不同,向认证中心发送相应的目标数据,使得所述认证中心根据所述目标数据生成所述目标程序对应的许可证信息以及加密和解密所需的密钥,包括:当所述目标程序的加密方式为远程加密,向所述认证中心发送所述许可申请信息以及所述目标程序,使得所述认证中心根据所述许可申请信息生成所述目标程序对应的许可证信息以及利用密钥对所述目标程序进行加密得到第一加密文件、利用所述密钥对所述许可证信息进行加密得到第二加密文件;所述获取包含有加密后的目标程序的第一加密文件以及包含对应的许可证信息的第二加密文件,包括:接收所述认证中心返回的第一加密文件和所述第二加密文件。4.根据权利要求1所述的方法,其特征在于,所述获取包含有加密后的目标程序的第一加密文件以及包含对应的许可证信息的第二加密文件之后,所述方法还包括:利用所述第一加密文件对所述包含有目标程序的待加密程序包中的目标程序进行替换。5.根据权利要求1所述的方法,其特征在于,所述根据预设方法生成所述解密程序对应
的类库文件以及所述类库文件对应的探针程序之后,所述方法还包括:对所述类库文件进行加固。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当接收到所述目标程序对应的新的许可申请信息,将所述新的许可申请信息发送认证中心,使得所述认证中心在判定所述新的许可申请信息中包含的使用期限权限出现延长且所述新的许可申请信息满足续约条件时,重新生成所述目标程序对应的许可证信息。7.一种程序文件解密方法,其特征在于,包括:当监测到待解密文件对应的目标程序的运行请求时,控制所述待解密文件对应的探针程序启动运行,所述待解密文件通过如权利要求...
【专利技术属性】
技术研发人员:李昕泽,
申请(专利权)人:南京四维智联科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。