- 4
- 0
- 约1.86万字
- 约 17页
- 2016-08-19 发布于贵州
- 举报
毕业论文-Java程序的保护
陕西职业技术学院计算机科学系学生毕业论文 PAGE 16PAGE PAGE 16 Java程序的保护摘要 由于 Java 语言面向对象和编译成中间代码执行的特点,其在抗反编译和反盗版方 面显得尤其脆弱。本文针对 Java 软件的特点,运用多种方法,综合设计出一个保护 Java 类 文件的方法。Java是一种跨平台的、解释型语言。Java 源代码编译中间“字节码”存储于class文件中。Class文件是一种字节码形式的中间代码,该字节码中包括了很多源代码的信息,例如变量名、方法名 等。因此,Java中间代码的反编译就变得非常容易。目前市场上有许多免费的、商用的反编译软件,都能够生成高质量的反编译后的源代码。所以,对开发人员 来说,如何保护Java程序就变成了一个非常重要的挑战。本文首先讨论了保护Java程序的基本方法,然后对代码混淆问题进行深入研究,最后结合一个实际 的应用程序,分析如何在实践中保护Java程序。 关 键 词: Class;加密;密钥;代码混淆 目前,Java 编程语言的应用在全世界范围正流行,它广泛的应用在 Internet 的数据库、 多媒体、CGI 及动态网页的制作方面。1999 年在美国对 Java 程序员的需求量首次超过 C++。 经调查统计,Java 语言应用在软件领域占领着举足轻重的地位,为人类科技文明进步奠定了 重要基础。然而,Java 语言却存在着巨大的安全隐患。Java 是一种跨平台的、解释型语言。 第一,Java 源代码编译中间“字节码”存储于 Class 文件中。Class 文件是一种字节码形式的中 间代码,该字节码中包括了很多源代码的信息,例如变量名、方法名等;第二,由于跨平台 的需求,Java 的指令集比较简单通用,较容易得出程序的语义信息;第三,Java 编译器将每 一个类编译成一个单独的文件,这也简化了反编译的工作;第四,Java 的 Class 文件中,仍 然保留所有的方法和变量的名称,可以通过这些名称来访问变量和方法,这些符号往往带有 许多语义信息。因此,Java 程序的这些特点,很容易对不经过处理的 Java 程序进行反编译。 目前,市场上有许多优秀的 Java 反编译工具,能够反编译出非常接近源代码的程序。所以, 对开发人员来说,如何保护 Java 程序就变成一个非常重要的任务。第一章 JAVA类文件的安全威胁1.1 JAVA的编译 开发 Java 应用程序首先是使用编辑工具编写 Java 的源代码,然后使用编译器编译成虚 拟机可执行的 Class 类文件。编译后生成的类文件是一种有格式的中间代码——字节码文件, 不能在本地机器上独立运行,只能在 Java 虚拟机里解释执行。Java 编译器不对变量和方法 等符号的引用转换为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号的引 用信息保留在类文件中,由解释器在运行过程中创建内存布局,然后再通过查找表来确定一 个变量或方法所在的地址[1]。 从 Java 类文件的结构及其实际数据可知 Java 类文件保留了源代码文件的大部分信息, 如所有的变量和方法等信息。正是由于这个特点,只要在各个平台上实现了各自的 Java 虚 拟机,不用修改 Java 应用程序的源代码就可以在各个平台上运行,真正做到跨平台的特性, 这也是 Java 能够迅速流行起来的重要原因。1.2 JAVA的反编译 反编译是一个将目标代码转换成源代码的过程[2]。而目标代码是一种用语言表示的代 码,这种语言能通过实机或虚拟机直接执行。从本质上说,他需要根据小规模、低层次的行 为来推断大规模、高层次的行为。因此,反编译目标代码并不容易。 在 JDK 中,有一个反编译器 javap[3],利用该工具可以对 Java 类文件进行反编译。经过 该工具反汇编后得到的结果并不是源代码,但是使用javap进行反编译的 Java 类文件可以得 到成员变量、方法、行号以及局部变量名等信息[4]。在 javap 工具的基础上,一些反编译工 具如 Mocha,WinDis,DjDecompiler 等工具可反编译出和源代码几乎一摸一样的代码。第二章 JAVA语言 Java语言的优点主要表现在:简单、面向对象、多线程、分布性、体系结构中立、安全性等方面2.1简单性 Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。 Java实现了自动的垃圾收集,简化了内存管理的工作。这使程序设计更加简便,同时减少了出错的可能。2.2面向对象Java提供了简单的类机制
您可能关注的文档
- 毕业论文--办公自动化系统--100976841.doc
- 毕业论文--办公自动化系统.doc
- 毕业论文--图书管理系统的设计和实现--120858578.doc
- 毕业论文--图书管理系统的设计和实现.doc
- 毕业论文--基于微博的价值共创消费者社区——企户间的深度与广度沟通.doc
- 毕业论文--学生档案管理系统--172525701.doc
- 毕业论文--学生档案管理系统.doc
- 毕业论文--家居设计之色彩搭配.doc
- 毕业论文--民用建筑施工管理.doc
- 毕业论文--浅析中小企业市场营销战略的抉择.doc
- 山东省惠民县2026届中考语文全真模拟试卷含解析.doc
- 四川省成都市邛崃市达标名校2026届中考语文考前最后一卷含解析.doc
- 期海南省海口五中2026届中考历史四模试卷含解析.doc
- 山东省青岛5中2026届中考历史对点突破模拟试卷含解析.doc
- 黑龙江哈尔滨道外区重点名校2026届中考猜题语文试卷含解析.doc
- 广东省汕尾市海丰县重点名校2026届中考英语五模试卷含答案.doc
- 2026届北京市崇文区重点达标名校中考五模语文试题含解析.doc
- 河南省周口市川汇区18中2026届中考历史押题试卷含解析.doc
- 2026届山东省高青县中考语文模拟试题含解析.doc
- 安徽省合肥市庐江县2026届中考历史最后一模试卷含解析.doc
最近下载
- 人教版五年级下册数学全册教案(表格式).doc
- 电力产业安全生产标准化管理体系 基础及总要求.pdf VIP
- 2024年面向多场景应用的光网络通感一体化架构和关键技术方案研究报告.pdf VIP
- 辽宁省七校协作体2024-2025学年高一下学期3月联考语文答案.docx VIP
- 2026春新人教版数学二年级下册全册教学课件.ppt
- 可靠性课件PPT教学课件.pptx VIP
- [全]学生硬笔作品纸-古诗词书法比赛用A4纸打印模板.docx VIP
- De'miei bollenti spiriti O mio rimorso 激动沸腾的心灵 噢我的悔恨 C调正谱 (原文)).pdf VIP
- 提升绿色施工技术应用的培训方案.pptx VIP
- 2025年互联网营销师广告投放平台ROI数据对接与处理专题试卷及解析.pdf VIP
原创力文档

文档评论(0)