首页> 中文学位 >用于Java软件保护的代码混淆技术研究与实现
【6h】

用于Java软件保护的代码混淆技术研究与实现

代理获取

目录

文摘

英文文摘

声明

第一章引言

1.1研究背景及意义

1.2国内外混淆技术研究现状

1.3本文研究内容

1.4论文章节安排

第二章Java类文件格式和类文件检验机制

2.1 CLASS文件结构

2.1.1 ClassFile结构

2.1.2常量池

2.1.3字段

2.1.4方法

2.1.5属性

2.2 CLASS文件检验机制

2.2.1字节码检验器

2.2.2 Class文件的检验过程

2.3本章小结

第三章代码混淆技术

3.1代码混淆定义及应用

3.1.1混淆定义

3.1.2混淆应用

3.2混淆的分类

3.2.1外形混淆

3.2.2数据混淆

3.2.3控制混淆

3.2.4预防混淆

3.3对四种混淆技术的简单分析

3.4本章小结

第四章标识符重命名混淆算法

4.1重命名目的

4.2重命名范围

4.3标识符重命名混淆算法

4.3.1滥用标识符算法

4.3.2重载无关联方法算法

4.3.3非法标识符替换算法

4.3.4重写静态方法算法

4.4算法分析

4.5本章小结

第五章混淆器JIRO设计与实现

5.1设计目标

5.2 JIRO系统结构

5.3 JIRO主要工作流程

5.4主要模块设计与实现

5.4.1开发环境

5.4.2用户图形界面设计

5.4.3执行控制子系统

5.4.4配置信息采集解析子系统

5.4.5代码优化子系统

5.4.6标识符重命名混淆子系统

5.4.7 I/O操作子系统

5.4.8 class文件操作子系统

5.5本章小结

第六章JIRO功能测试和性能分析

6.1 JIRO功能分析与测试

6.1.1混淆变换的正确性分析与测试

6.1.2混淆变换强度分析与测试

6.1.3混淆变换耐受性分析与测试

6.2 JIRO对程序执行开销影响分析

6.3 JIRO测试与应用情况分析

6.3.1 JIRO测试

6.3.2 JIRO应用情况分析

6.4本章小结

总结与展望

参考文献

附录

攻读硕士期间取得的学术成果

致谢

展开▼

摘要

由于Java程序很容易被反编译和逆向工程,使得保护知识产权和保密信息在不信任环境中不被窃取变得很困难,因此迫切需要有效的保护Java软件的方法。而目前最实用的解决方法就是对Java程序进行混淆。代码混淆技术就是在不改变语义的情况下,使得混淆后的程序很难被反编译工具破解或者破解后的程序可读性很差,从而达到保护Java软件的目的。目前,对代码混淆技术的研究主要集中在控制流混淆和数据流混淆上,这两种混淆技术在提高程序的复杂度和抗攻击能力的同时,增加了程序额外的执行开销,这种执行开销有时甚至会导致程序不能正常运行。 针对上面的情况,本文以保护Java软件、提高程序复杂度和抗攻击能力、同时不增加程序额外的执行开销为目的,深入研究了标识符重命名混淆技术,并设计实现了一种Java软件混淆工具。本文主要工作如下: 1.研究Java类文件、代码混淆技术及其研究现状,对现有的混淆技术进行详细的分类和比较,并在此基础之上针对控制流混淆和数据流混淆的不足,提出四种标识符重命名混淆算法,包括滥用标识符、重载无关联方法、非法标识符替换以及重写静态方法,并分析了四种算法对程序执行开销的影响。 2.设计并实现一种Java软件混淆工具—JIRO(Java Identifier RenamingObfuscator),该混淆工具主要包括代码优化和代码混淆两种功能,其中代码混淆功能模块所使用的关键技术是本文提出的四种标识符重命名混淆算法。 3.在JIRO上做大量实验,并结合实验从混淆变换的正确性、混淆变换的强度和混淆变换耐受性三个方面对JIRO的功能进行分析。根据统计得到的实验数据,分析JIRO对程序执行开销的影响,并对JIRO进行测试和对其应用情况进行分析。 论文工作表明,基于标识符重命名混淆技术的混淆工具JIRO,具有很好的混淆效果,同时没有增加程序的额外执行开销,能够有效的保护Java软件。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号