基于异常的中间语言代码混淆器的设计与实现
摘要 | 第1-5页 |
ABSTRACT | 第5-10页 |
第一章 绪论 | 第10-17页 |
·中间语言的应用及发展趋势 | 第10-11页 |
·中间语言的不安全因素 | 第11页 |
·对存在的不安全因素的保护措施 | 第11-15页 |
·通过服务器端执行 | 第12-13页 |
·Native Code | 第13-14页 |
·加密 | 第14页 |
·混淆 | 第14-15页 |
·不同保护技术的比较 | 第15页 |
·论文的主要结构和所做的工作 | 第15-17页 |
第二章 代码混淆和 JVM 字节码 | 第17-31页 |
·简介 | 第17页 |
·混淆变换 | 第17-18页 |
·混淆变换分类 | 第18-22页 |
·外形混淆 | 第18-19页 |
·数据混淆 | 第19-21页 |
·控制混淆 | 第21-22页 |
·预防混淆 | 第22页 |
·JVM 的类结构和 JVM 字节码 | 第22-27页 |
·Java 类文件的总体结构 | 第23-24页 |
·Class 文件结构的具体分析 | 第24-27页 |
·JAVA 语言的异常处理机制 | 第27-30页 |
·异常产生的原因 | 第27-28页 |
·异常处理 | 第28-30页 |
·小结 | 第30-31页 |
第三章 异常和控制流混淆的分析 | 第31-49页 |
·异常的控制流分析 | 第31-34页 |
·过程内分析 | 第31-32页 |
·过程间分析 | 第32-34页 |
·异常的字节码分析 | 第34-38页 |
·throw | 第34页 |
·try-catch | 第34-35页 |
·try-catch-catch | 第35-36页 |
·try-catch-finally | 第36-38页 |
·控制流混淆分析 | 第38-48页 |
·不透明结构 | 第38-43页 |
·计算混淆 | 第43-46页 |
·聚集混淆 | 第46-47页 |
·顺序混淆 | 第47-48页 |
·小结 | 第48-49页 |
第四章 基于异常的代码混淆的设计 | 第49-58页 |
·混淆设计的原则 | 第49-50页 |
·基本思想 | 第50-51页 |
·直接异常链接 | 第51-53页 |
·简单举例 | 第52-53页 |
·间接异常链接 | 第53-54页 |
·多重异常链接 | 第54-55页 |
·使用异常混淆的实例 | 第55-56页 |
·插入和合并 TRY-CATCH 语句的方法 | 第56-57页 |
·插入 try-catch | 第56-57页 |
·合并 try-catch | 第57页 |
·小结 | 第57-58页 |
第五章 代码混淆器的设计与实现 | 第58-71页 |
·混淆器的功能概述 | 第58-60页 |
·混淆器需要实现的混淆变换 | 第58-59页 |
·混淆器接受的指令和含义 | 第59-60页 |
·混淆器的结构和模块设计 | 第60-62页 |
·混淆器的结构 | 第60页 |
·混淆器的流程图 | 第60-62页 |
·源代码对象 | 第62页 |
·类文件分析与构建内部表达式 | 第62-65页 |
·类的继承层次结构 | 第63页 |
·控制流图 | 第63-65页 |
·构建映射图 | 第65-68页 |
·语言特点 | 第65-67页 |
·变换隐秘性映射图 | 第67页 |
·混淆优先级 | 第67-68页 |
·应用混淆变换 | 第68-69页 |
·Done 谓词 | 第68页 |
·SelectCode 算法 | 第68-69页 |
·SelectTransform 算法 | 第69页 |
·使用混淆算法 | 第69页 |
·重建应用程序 | 第69-70页 |
·讨论和小结 | 第70-71页 |
第六章 代码混淆器的测试与性能分析 | 第71-76页 |
·代码混淆的性能评估 | 第71-73页 |
·混淆器混淆性能测试 | 第73-76页 |
·执行开销分析与测试 | 第73页 |
·混淆耐受性和隐秘性的分析 | 第73-76页 |
第七章 总结与展望 | 第76-77页 |
致谢 | 第77-78页 |
参考文献 | 第78-81页 |
攻硕期间取得的研究成果 | 第81-82页 |