声明
摘要
第1章 绪论
1.1 研究背景
1.1.1 脚本语言和Python的发展
1.1.2 Python程序和字节码文件
1.2 操作码替换与合并的研究意义
1.3 论文的主要工作
1.4 论文结构
第2章 Python总体架构与传统的防逆转方式
2.1 Python总体架构
2.1.1 Python模块
2.1.2 Python运行时系统
2.1.3 Python虚拟机
2.2 传统的Python字节码文件防逆转方式
2.2.1 代码混淆技术
2.2.2 文件加密技术
2.2.3 本地编译技术
2.2.4 数字水印技术
2.3 本章小结
第3章 Python字节码文件与其解释执行机制
3.1 Python字节码文件
3.1.1 PyCodeObject
3.1.2 co_code域
3.2 Python字节码文件的解释执行
3.3 本章小结
第4章 操作码替换与合并的设计
4.1 操作码序列
4.2 操作码替换的设计
4.2.1 寻找操作码编译和解释执行规律
4.2.2 打乱操作码映射关系
4.3 操作码合并的设计
4.3.1 提取操作码信息
4.3.2 频率统计
4.3.3 提取基本块信息
4.3.4 扩充操作码集
4.4 操作码合并示例
4.4.1 获取段代码的操作码信息
4.4.2 频率统计
4.4.3 获取基本块信息
4.4.4 扩充操作码集
4.4.5 操作码序列合并前后比较
4.5 本章小结
第5章 操作码替换与合并方式的性能评测
5.1.1 操作码替换安全性分析
5.1.2 操作码替换实验检验
5.2 操作码合并性能评测
5.2.1 安全性分析
5.2.2 执行效率分析
5.2.3 存储空间分析
5.2.4 操作码合并实验
5.3 本章小结
第6章 全文总结
6.2 下一步工作
参考文献
致谢
在读期间发表的学术论文与取得的研究成果