软件保护技术 / 计算机科学与技术学科前沿丛书、计算机科学与技术学科研究生系列教材(中文版)
作者: 王建民、王朝坤等
出版时间:2013年7月
出版社:清华大学出版社
- 清华大学出版社
- 9787302317210
- 178796
- 0045158225-8
- 16开
- 2013年7月
- 工学
- 软件工程
- TP311.522
- 计算机类
- 本科
《软件保护技术(中文版)》适合作为高等学校高年级本科生以及研究生相关课程的教材和自学教材,也可作为计算机软件安全研究和开发的指导参考书。
第1章 引言
1.1 软件保护的背景及意义
1.2 软件保护场景
1.3 软件攻击模型
1.3.1 攻击者的能力
1.3.2 攻击者的目标
1.3.3 针对软件保护的通用攻击方式
1.3.4 针对软件水印的特定攻击方式
1.4 研究现状
1.5 软件保护方案
1.5.1 基于审计的保护方案
1.5.2 基于硬件的保护方案
1.5.3 基于软件的保护方案
1.6 关于软件保护的专利及法律条文
1.6.1 美国
1.6.2 欧盟
1.6.3 日本
1.6.4 中国
参考文献
参考文献注释
第2章 软件保护基础
2.1 代码操纵技术
2.1.1 字节码查看工具
2.1.2 字节码操纵工具
2.1.3 字节码操纵示例
2.2 程序分析技术
2.3 Class文件结构
2.4 拆分与编码知识
2.4.1 整数拆分
2.4.2 图编码
参考文献
参考文献注释
第3章 软件水印技术
3.1 国内外研究现状
3.2 软件水印的概念、模型及分类
3.2.1 软件水印概念
3.2.2 软件水印系统的模型
3.2.3 软件水印的分类
3.3 评价指标
3.3.1 数据率
3.3.2 隐蔽性
3.3.3 弹性
3.3.4 代价
3.3.5 效率
3.3.6 可信度
3.4 若干关键算法
3.4.1 静态水印算法
3.4.2 动态水印算法
3.4.3 半动态水印算法
3.5 软件水印系统
3.5.1 现有水印系统
3.5.2 TRUP平台
参考文献
参考文献注释
第4章 软件混淆技术
4.1 引言
4.2 混淆技术的概念、分类及评估
4.2.1 概念
4.2.2 分类
4.2.3 评估
4.3 混淆算法
4.3.1 设计混淆
4.3.2 数据混淆
4.3.3 控制流混淆
4.3.4 预防混淆
4.4 混淆工具
4.5 混淆算法的检验与比较
4.5.1 实验说明
4.5.2 混淆算法的效果
4.5.3 混淆算法的正确性测试
4.5.4 混淆算法对程序性能的影响
4.5.5 混淆算法对程序优化的抵抗力
参考文献
参考文献注释
第5章 软件防篡改技术
5.1 引言
5.2 软件防篡改技术的分类方式和设计准则
5.2.1 攻击类型
5.2.2 分类方式
5.2.3 设计准则
5.3 软件防篡改技术
5.3.1 校验和
5.3.2 多块加密
5.3.3 哨兵
5.3.4 断言检查
5.3.5 隐式哈希
5.3.6 Tester—Corrector
5.3.7 控制流图检测
5.3.8 基于分支函数的检测
5.3.9 联机检测
5.3.10 指针置空响应法
5.3.11 加密
5.3.12 硬件方式
5.4 软件防篡改技术辅助方案
5.4.1 TPM
5.4.2 SWATT
5.4.3 混淆
5.4.4 程序定制
5.5 软件防篡改的研究前景
5.5.1 软件防篡改技术的度量机制
5.5.2 将检测和响应结合
5.5.3 将防篡改技术与软件水印技术相结合
参考文献
参考文献注释
第6章 软件保护综合技术
6.1 水印与混淆技术的结合
6.1.1 semi—danamic水印算法与混淆算法结合
6.1.2 .NET平台的软件保护
6.2 水印与防篡改技术的结合
6.3 水印感知的Java软件可信运行环境
6.3.1 Java虚拟机现有安全策略
6.3.2 基于脆弱水印的可信运行环境
参考文献
参考文献注释
第7章 总结和展望
7.1 本书内容总结
7.2 展望
附录A 按操作码字节值排列的操作码助记符
A.1 标准操作码
A.2 快速操作码
A.3 保留操作码
附录B 习题及解答