可嵌入水印的混淆编译框架设计

可嵌入水印的混淆编译框架设计

论文摘要

互联网的飞速发展是有目共睹的,它在改变了我们的生活方式的同时,同样也在改变着软件部署和软件盗版的形式。随着P2P(Peer To Peer)网络的大范围应用,盗版者不再是少数专业的盗版人士而是成千上万的个体,如何对软件进行有效的保护成为影响软件产业良性发展的重要课题。根据产品实现手段,软件保护技术分为两类,一类是纯软件的,另一类是纯硬件或软硬结合的。由于部署便捷和几乎为零的单份拷贝附加成本,软件保护技术的主要集中在第一类,而这类研究又主要集中在混淆、加密、软件水印三个领域。现实世界的攻击是多角度与多层次的,为了给软件提供更强的保护,将多种技术结合起来是一种有效的选择。本文设计了一套混淆与软件水印相结合的软件保护方案,利用混淆编译防止程序被反编译,利用软件水印证明真正的拥有者。整个方案包括转换器与基于FSM单元(FSM-Based Unit)两部分,转换器是一个独立的软件,用于对源程序进行混淆转换并嵌入水印,基于FSM单元嵌入到类似CLR的虚拟机中,用于程序的恢复与水印提取。方案中采用的混淆技术是一种动态的映射,混淆后的程序不包括所有程序信息,部分信息被转移到编译器中,由于缺乏必要信息,想通过静、动态分析的方法反编译大型程序将非常困难。水印信息在转换规则和傀儡指令两个地方嵌入,其中,利用规则构造的水印只能由具有相同规则的编译器提取,对于傀儡指令中嵌入的水印,无论编译器能否编译它,都可将水印提出。这种设计可以使某一编译器被破解后不会影响不同规则的编译器,还可以方便地提取水印信息。为了能自动嵌入与提取水印,论文专门设计了水印嵌入算法,算法自动寻找合适的循环指令,然后在其傀儡指令中加入水印,通过该算法嵌入的水印能自动被提取。水印信息中包括原程序的数字签名等内容,目的是防止最普遍的加入式攻击。为了测试实际运行效果,本文设计并实现了一个原型系统,系统在同一界面集成了转换器与基于FSM单元两部分,通过运行该系统显示了系统概貌并确定了系统正式的目标要求和开发方案。在论文最后对系统进行了反编译测试,通过对测试结果的分析证明,对采用该方案的大型程序进行反编译或试图破坏水印非常困难,这是一个实用、有效的软件保护框架。

论文目录

  • 摘要
  • Abstract
  • 插图索引
  • 附表索引
  • 第1章 绪论
  • 1.1 项目来源、目的和意义
  • 1.2 项目背景
  • 1.3 本文的主要工作
  • 1.4 本文的内容结构
  • 第2章 软件保护技术与研究现状
  • 2.1 软件保护工具
  • 2.1.1 硬件工具
  • 2.1.2 软件工具
  • 2.2 字节码保护技术研究现状
  • 2.2.1 隔离 Java 程序
  • 2.2.2 对 Class 文件进行加密
  • 2.2.3 转换成本地代码
  • 2.2.4 代码混淆
  • 2.2.5 几种技术的总结
  • 2.3 混淆技术研究现状
  • 2.3.1 符号混淆
  • 2.3.2 数据混淆
  • 2.3.3 控制混淆
  • 2.3.4 增加混淆控制
  • 2.3.5 控制流重组
  • 2.3.6 预防性混淆
  • 2.4 小结
  • 第3章 混淆编译框架与水印系统设计
  • 3.1 引言
  • 3.2 整体框架设计
  • 3.3 基于 FSM 单元的编译器设计
  • 3.3.1 基于 FSM 单元的编译器类型
  • 3.3.2 类型选择
  • 3.3.3 混淆编译器实现原理
  • 3.3.4 基于FSM 单元设计
  • 3.4 程序转换器设计
  • 3.5 水印设计
  • 3.5.1 水印信息设计
  • 3.5.2 利用转换规则构造水印
  • 3.5.3 在傀儡指令中嵌入水印
  • 3.5.4 提取水印
  • 3.6 小结
  • 第4章 原型系统与实用转换器实现
  • 4.1 引言
  • 4.2 原型系统设计
  • 4.2.1 原型系统平台
  • x与 Wx-1设计'>4.2.2 Wx与 Wx-1设计
  • 4.3 原型系统实现
  • 4.3.1 转换器实现
  • 4.3.2 基于 FSM 单元实现
  • 4.4 系统运行测试
  • 4.4.1 混淆转换
  • 4.4.2 循环指令转换
  • 4.4.3 基于 FSM 单元的解释输出
  • 4.4.4 嵌入不同水印信息的代码对比
  • 4.5 实用转换器实现
  • 4.6 小结
  • 第5章 反编译测试与结果分析
  • 5.1 引言
  • 5.2 反编译测试
  • 5.3 安全分析
  • 5.4 小结
  • 结论
  • 参考文献
  • 致谢
  • 附录 攻读学位期间完成的论文和参加的项目
  • 攻读学位期间所发表的学术论文目录
  • 攻读学位期间参加的项目
  • 相关论文文献

    • [1].安海峰水印作品[J]. 歌海 2019(06)
    • [2].一种基于程序执行时间量化分析的软件水印方法[J]. 电子与信息学报 2020(08)
    • [3].云平台中软件水印的应用研究[J]. 电脑知识与技术 2020(20)
    • [4].简单删除文档中的尴尬水印[J]. 电脑知识与技术(经验技巧) 2019(09)
    • [5].一种抗任意角度旋转的全息水印算法[J]. 包装工程 2017(17)
    • [6].为您的图片打上精彩别致的水印[J]. 电脑知识与技术(经验技巧) 2016(03)
    • [7].基于决策树的水印鲁棒性研究[J]. 电脑编程技巧与维护 2015(04)
    • [8].软件水印及其研究现状概述[J]. 计算机应用与软件 2015(04)
    • [9].一键图片加水印[J]. 少年电脑世界 2020(Z2)
    • [10].网上就能为图片添加水印[J]. 电脑爱好者(普及版) 2009(09)
    • [11].在线添加图片水印[J]. 电脑迷 2008(06)
    • [12].柔情似水,印证我心 手把手教“妮”做水印[J]. 电脑爱好者 2009(10)
    • [13].图片水印轻松去除[J]. 电脑迷 2010(04)
    • [14].带你参观能驱赶“水印”的驱逐舰[J]. 电脑爱好者 2010(06)
    • [15].图片水印快去除[J]. 电脑迷 2010(12)
    • [16].点点鼠标 图片水印去无踪[J]. 电脑爱好者(普及版) 2010(11)
    • [17].图片去水印的“编外”技法[J]. 电脑爱好者 2016(07)
    • [18].江南水印(四首)[J]. 芙蓉 2015(05)
    • [19].《水印玻璃杯》[J]. 雪莲 2015(18)
    • [20].《水印玻璃杯》[J]. 雪莲 2015(17)
    • [21].一种基于代码混淆的静态软件水印的方案[J]. 河南科学 2013(12)
    • [22].水印诗画[J]. 诗歌月刊 2013(03)
    • [23].为图片巧加“隐形”水印[J]. 网友世界 2010(Z1)
    • [24].在线添加水印,改图网最给力[J]. 网友世界 2011(14)
    • [25].凭有水印图片,能找类似无水印图片[J]. 网友世界 2011(15)
    • [26].基于语义特征的电子海图权限水印研究[J]. 通信学报 2016(11)
    • [27].基于分层嵌入认证与恢复的自嵌入水印算法[J]. 计算机工程 2016(09)
    • [28].基于整数小波变换的可逆数据库水印[J]. 桂林理工大学学报 2017(01)
    • [29].云计算环境约束下的软件水印方案[J]. 网络与信息安全学报 2016(09)
    • [30].基于扩频调制和多水印的非对称水印算法[J]. 数据通信 2015(02)

    标签:;  ;  ;  ;  ;  ;  

    可嵌入水印的混淆编译框架设计
    下载Doc文档

    猜你喜欢