的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。
学位论文作者签名:郭玉於、
日期:20Jo年6月c7日
江苏大学硕士学位论文
第一章引言
1.1研究背景及意义
Java是由sun公司开发的新一代编程语言,自1995年推出以来,Java已经
逐步成为业界最流行的
软件开发平台,被业界广泛接受,各大公司纷纷推出各
自支持Java的产品。Java语言从诞生之日起就以“一次编译,到处运行”的简单性、跨平台性等赢得许多著名公司的青睐。大量的开发人员、成熟的开发模式以及丰富的开发资源,已经使Java成为企业级应用
程序的主流开发工具。它彻底改变了应用软件的开发模式,带来了软件开发的一次革命。目前,Java软件广泛的应用在各类企业应用、嵌入式应用和移动终端等领域,为高速发展的
信息技术带来了新的动力。
Java程序的编译过程与C/C++程序的编译过程截然不同。C/C++程序经编译后生成的是二进制的机器码,这种代码只有在特定平台上才能运行,通过查找表编译器可以将所有变量和方法符号的引用转换成特定的内存偏移量【11。而Java编译器却既不能把变量和方法等符号的引用转换为数值引用,也不能确定程序执行过程中的内存布局,而是将这些符号的引用信息保留在class文件中【21,由解释器在运行过程中创建内存布局,然后再通过查找表来确定一个变量或方法所在的地址【31。因此Java字节码文件中保留了所有方法和变量的信息符号,而这些符号根据编码规则通常带有语义信息【4】,这就为反编译Java类文件提供了可能。也正是由于Java本身的这种特性,使得Java类文件很容易被反编译成与原文件非常相似的文件,这就严重威胁到开发者的权益和信息的安全性,所以寻求一种有效的保护Java软件的方法【5。7】成为当务之急。为了保护Java类文件程序,代码混淆技术应需而生。代码混淆技术是在不改变程序功能的前提下,对代码进行混淆变换,使得混淆后的代码更难以被反编译。Java语言的迅速发展推动了对代码混淆技术的研究热潮,通过对Java字节码混淆变换,可以有效的保护Java软件开发者的权益和信息的安全。同时这个研究过程也可以推动
计算机科学向前发展。
江苏大学硕士学位论文
1.2国内外研究现状
代码混淆技术是20世纪90年代末兴起的一种软件安全保护