论文摘要
软件迷惑技术是指通过对代码进行各种形式的语义等效变换,以去除有助于程序理解的信息,使其变得尽可能模糊、晦涩,从而达到防止软件盗版、保护知识产权目的的一种防逆向工程技术。该技术在保护重要数据和算法、延缓软件破解时间等方面具有重要的应用价值和广泛的应用前景。本文的主要研究内容包括:(1)迷惑理论研究:给出了两种特殊的可被迷惑的程序类,软件算法迷惑器和框架迷惑器的相关定义,以及不存在通用的算法与框架迷惑器的证明;(2)数据编码抵御能力分析:变量编码是一种数据迷惑技术,从本质意义上来讲是一种散射运算。分析了线性编码、混合编码、仿射编码、以及异或编码的抵御能力;(3)基于Java语言的调用流迷惑技术:通过对Java方法的签名(参数类型、数量、返回值类型)进行统一封装,将不同类中的方法交叉合并到某个接口的扩展子类方法当中,引入对象别名机制,阻止对程序进行静态分析;(4) Java字节码指令迷惑技术:将字节码指令按照堆栈操作方式分组,同组内的指令间构成一对多的映射关系,以代码自定义属性的方式将映射规则存储到class文件中。在虚拟机内部嵌入解译器,位于字节码验证器的后端,解译器根据映射规则还原指令的运行时语义。
论文目录
提要第一章 绪论1.1 研究背景1.2 软件保护技术分类1.2.1 防盗版技术1.2.2 防篡改技术1.2.3 防逆向工程技术1.3 软件迷惑技术1.3.1 软件迷惑的分类1.3.2 迷惑质量的度量方法1.3.3 软件迷惑的潜在应用1.4 本文工作第二章 迷惑理论2.1 符号说明2.2 通用迷惑器的形式定义与存在性2.3 特殊函数的可迷惑性2.4 白盒DES2.5 软件保护迷惑2.5.1 算法迷惑器2.5.2 框架迷惑器2.6 小结第三章 变量编码抵御能力分析3.1 引言3.2 变量编码的概念3.3 线性编码3.4 剩余编码3.5 混合编码3.6 仿射编码3.7 异或编码3.8 数据编码的抵御能力3.8.1 编码的抵御能力度量3.8.2 线性编码的抵御能力3.8.3 混合编码的抵御能力3.8.4 仿射编码的抵御能力3.8.5 异或编码的抵御能力3.9 小结第四章 Java程序调用流迷惑技术4.1 Java语言与虚拟机4.1.1 指令集合4.1.2 Java虚拟机4.1.3 字节码验证器4.2 Java程序迷惑技术4.3 调用流迷惑技术4.3.1 基本思想4.3.2 调用形式统一4.3.3 对象池4.4 迷惑增强4.5 实验结果及分析4.6 小结第五章 Java指令迷惑技术5.1 引言5.2 迷惑解译框架5.2.1 概述5.2.2 设计类型5.2.3 置换单元5.2.4 程序转换5.3 框架实现5.3.1 辅助输入5.3.2 指令映射5.4 实验结果及分析5.4.1 实验结果5.4.2 安全分析5.5 小结第六章 结束语6.1 结论6.2 研究展望参考文献攻读博士学位期间发表的论文及其他成果致谢中文摘要Abstract
相关论文文献
标签:软件保护论文; 软件迷惑论文; 虚拟黑盒论文; 数据编码论文; 调用流论文;