论文部分内容阅读
Java作为一种主流的编程语言,应用框架丰富,开发速度快,且具有平台无关性。鉴于Java语言的优秀特性,许多平台采用Java语言作为首选的应用开发语言。字节码文件作为Java代码编译生成的二进制程序文件,具有固定的格式,是实现平台无关性的要素之一。由于字节码文件的结构特点,且Java平台对字节码文件没有采取任何保护措施,所以通过反编译技术,很容易获取Java程序的源代码。目前已存在多款字节码文件反编译工具,可以轻松地获得Java程序源代码。因此Java应用软件的版权存在被侵犯的风险。为解决此问题,已出现多种Java软件版权保护技术,但这些技术都存在一些不足,Java应用软件在版权方面仍存在一定的安全隐患。考察Java的类加载机制,本文提出基于类加载器的Java软件版权保护技术。该技术加密Java软件并实现自定义Java类加载器。通过加密变换可阻止Java软件被反编译,自定义类加载器保障加密的Java软件可以正确执行。另一面,借鉴源自于RISC指令的可变指令系统思想,依据Java字节码指令的特点,本文提出基于可变指令的加密算法。通过将基于可变指令的加密算法应用于基于类加载器的Java软件版权保护技术,本文设计并实现基于可变指令加密算法的Java软件版权保护系统。该系统发布加密的Java软件和自定义类加载器。使得非法用户无法反编译或者执行经过加密的Java软件,达到保护Java软件知识产权的目的。另一方面,合法用户通过系统发布的类加载器,可以正确执行加密的Java软件。