1 / 57
文档名称:

Java类文件保护的研究及其实现.pdf

格式:pdf   页数:57
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java类文件保护的研究及其实现.pdf

上传人:779277932 2011/7/22 文件大小:0 KB

下载得到文件列表

Java类文件保护的研究及其实现.pdf

文档介绍

文档介绍:浙江大学
硕士学位论文
Java类文件保护的研究及其实现
姓名:鲍福良
申请学位级别:硕士
专业:软件工程
指导教师:朱晓芸
20050301
类文件保护的研究及其实现摘要编译后的类文件不是真正的二进制文件,丽是一种有格式的中间代码,这就给黑客反编译类文件提供了可能,反编译后的代码和源代码几乎没有差别。这样,一些作者含辛茹苦编写的源代码就会轻丽易举地被黑客窃取,一些重要的算法也会泄漏出去。因此应用程序也就毫无秘密可言,这样在源代码上就会产生很大的安全问题。近年来,已经有许多公司和开发人员对类文件和虚拟机进行了深入的分析,并在此基础上采取了各种方法来保护类文件,在一定程度上起到了保护类文件的作用。如本地编译技术、代码隔离技术、代码混淆技术以及数字水印技术等传统保护方法,但是都有各自的局限性。本文针对这种情况,在传统保护方法的基础上,结合际酰?突Ф擞用程序实现了一个简单而又实用的类文件保护方法,主要的技术点有以下几个方面:胏实现的加密和解密算法来加密和解密类文件,并在定制的胁捎肑技术来调用本地解密库:褂枚ㄖ频腃替换虚拟机默认的丛入加密后的类文件。目前在τ贸绦虻目7⒅泄惴菏褂茫攵訵应用程序的类文件保护方法还是空白,本文结合上述客户端应用程序类文件的保护技术,创新的提出了使用涌诤褪迪址掷氲幕疲篠接口不变,实现部分转移到另外一个类并加密。加密后的τ贸绦蚝涂突Ф擞τ贸绦蛞谎其安全强度可以达到本地应用程序的安全强度。关键词:,安全,类文件,字节码,本地接口,类加载器摘要
.琷关键词:,,琣疭琧瓾琤琤类文件保护的研究及其实现摘要;琲疭,.,.’,,琧..疭簍琣籺,珻
⒍傻男乱淮喑逃镅浴镅砸煌瞥鼍鸵云浼单性、跨平台性等各种优秀特性赢得了许多著名公司的青睐。开发人员使用语言可以在各种机器、各种操作平台中开发应用程序。大量的开发人员、成熟的开发模式以及丰富的开发资源已经使成为企业级应用程序的主流开发工具。它彻底改变了应用软件的开发模式,带来了自机以来又一次技术革命,为迅速发展的信息世界增添了新的活力【】。作为一种程序设计语言,具有许多优秀的特性,如简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、跨平台、高性能、多线程以及动态性等。虻バ语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念就可以用它编写出适合的应用程序。略去了运算符重载、多重继承等模糊的概念,并且通过实现垃圾自动回收机制大大简化了开发人员的内存管理工作。另外,也适合于在移动设备上运行,它的基本解释器及类的支持只有左右,加上标准类库和线程的支持也只有嫦蚨韵语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏:而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。植夹是面向网络的语言。通过它提供的类库可以处理疘椋没Э以通过刂吩谕缟虾芊奖愕胤梦势渌韵蟆右。类文件保护的研究及其实现
平台性使开发人员摆脱了机器的束缚,真正做到了~次编写,到处运行”。嘲粜在编译和运行程序时都要对可能出现的问题进行检查,以消除错误的产生。它提供垃圾自动回收机制来管理内存,防止开发人员在管理内存时容易产生的错误。通过集成的面向对象的异常处理机制,在编译时,编译器提示可能出现但未被处理的异常,帮助开发人员正确地进行选择以防止系统的崩溃。另外,在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。踩用于网络、分布环境下的必须要防止病毒的入侵。不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用各种欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。逑到峁怪辛编译器生成与体系结构独立的字节码指令,只要安装了虚拟机,程序就可在任意的处理器上运行。缙教ㄐ与平台无关的特性使程序可以方便地被移植到网络上的不同机器。同时,的类库中也实现了与不同平台的接口,使这些类库也具有跨平台性。跨馐椭葱解释器直接对字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。咝阅和其它解释执行的语言如不同,字节码的设计使之能很容易地直接转换成对应于特定幕髀耄佣玫浇细叩男阅堋多线程多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,开发人员可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。动态性的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且通过接口来支持多重继类文件保护的研究及其实现浙