[发明专利]一种Java应用程序加密方法及装置在审
申请号: | 201811494590.2 | 申请日: | 2018-12-07 |
公开(公告)号: | CN111291333A | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 杨晓锦;孙宁;乔阳 | 申请(专利权)人: | 中国移动通信集团陕西有限公司;中国移动通信集团有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/53;G06F21/60 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 710075*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 应用程序 加密 方法 装置 | ||
本申请公开了一种Java应用程序加密方法及装置,应用于电子技术领域。该方法包括:确定待加密的Java应用程序的常量池中的第一Tag值序列,对所述第一Tag值序列中的Tag值进行重新排序得到Tag值排序不同的多个第二Tag值序列;将所述多个第二Tag值序列替换所述第一Tag值序列,形成加密的Java应用程序。本申请提供的方法和装置解决现有技术中Java应用程序安全性差,重要算法和数据存在泄漏的技术问题。
技术领域
本申请涉及电子技术领域,尤其涉及一种Java应用程序加密方法及装置。
背景技术
Java是Sun公司推出的能够跨越多平台、可移植性最高的一种面向对象的编程语言,也是截至目前应用最广、特征最丰富、功能最强大的计算机语言。利用Java可以编写基于不同平台,不同系统的各式应用程序,从而使其成为应用范围最广泛的开发语言,特别是在虚拟机程序开发方面。
Java开发技术在虚拟机层面隐藏了底层技术的复杂性以及机器与操作系统的特性,运行程序的物理机器环境各不相同,而Java虚拟机则在不同运行环境上面建立了统一的运行平台,实现了在任意一台虚拟机上编译的程序都能在其他虚拟机上运行。这一灵活性的编译特性的关键在于,Java编译器的输出不是可执行代码,而是字节码。字节码是高度优化的指令集合,这些指令由Java运行时系统(通常所谓的虚拟机)执行。由于字节码文件不是真正的二进制文件,而是一种符合Java虚拟机规范格式的中间代码,其中保留了大量Java应用程序的信息,这给反编译提供了条件和基础。基于Java程序中中间代码的特性,反编译出的代码具有很高的可读性和逻辑性,所以导致现有Java应用程序安全性差,重要算法和数据存在泄漏,毫无保密性可言的技术问题。
发明内容
本申请提供一种Java应用程序加密方法及装置,用以解决现有技术中Java应用程序安全性差,重要算法和数据存在泄漏的技术问题。
第一方面,本申请实施例提供一种Java应用程序加密方法,包括:
确定待加密的Java应用程序的常量池中的第一Tag值序列,对所述第一Tag值序列中的Tag值进行重新排序得到Tag值排序不同的多个第二Tag值序列;
将所述多个第二Tag值序列替换所述第一Tag值序列,形成加密的Java应用程序。
本申请实施例所提供的方法,根据Java字节码的特点,对常量池的修改达到干扰其余集合数据的目的(即实现对Java应用程序的加密保护)。常量池中的数据结构遵循Java虚拟机规范,不同的常量Tag值代表不同类型的常量数据结构,重定义的常量Tag值可以达到干扰字节码文件其余数据结构调用常量的目的,修改后的常量被字节码文件中的其余集合调用后会出现数据格式不符、越界等错误,具有干扰反编译的功能。
在一种可选的实施方式中,该方法还包括:
将所述第一Tag值序列与所述多个第二Tag值序列的映射关系写入授权文件;使得所述加密的Java应用程序在虚拟机中加载时从授权文件中读取所述映射关系将多个第二Tag值序列替换成所述第一Tag值序列。
该实例中,将字节码中原始常量池中Tag值序列中Tag值的顺序调整得到多个新的Tag值序列,并且保存新Tag值序列与原始Tag值序列之间的映射关系,在保证非授权用户不能反编译字节码的情况下,授权用户根据该映射关系可以获得正确的Tag值序列对字节码进行正常读取。
在一种可选的实施方式中,所述将所述多个第二Tag值序列替换所述第一Tag值序列包括:
采用高级加密标准AES对所述多个第二Tag值序列进行加密;
将加密后的所述多个第二Tag值序列替换所述第一Tag值序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团陕西有限公司;中国移动通信集团有限公司,未经中国移动通信集团陕西有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811494590.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电力系统动态等值方法及装置
- 下一篇:一种秸秆回收利用装置