声明
致谢
摘要
1 引言
1.1 研究背景及意义
1.2 研究现状
1.2.1 反编译技术研究现状
1.2.2 逆向工程抽象模型研究现状
1.3 本文主要研究工作
1.4 本文的组织结构
2 逆向工程技术
2.1 逆向技术定义
2.2 反编译技术
2.3 逆向工程高层次抽象技术
2.3.1 UML简介
2.3.2 源程序分析技术
2.4 本章小结
3 Java反编译机制及规则
3.1 面向对象语言JAVA
3.2.class文件
3.3 字节码
3.4 类文件基本格式
3.4.1 方法和字段描述符
3.4.2 类文件结构
3.4.3 属性
3.5 反编译具体过程
3.6 破解混淆码
3.6.1 混淆定义
3.6.2 破解混淆的代码
3.6.3 调试程序Omniscient破译编码
3.7 本章小结
4 UML类图抽象机制及规则
4.1 类静态信息获取
4.1.1 词法分析和语法分析
4.1.2 分析数据源获取静态关联信息
4.2 类抽取机制
4.2.1 实体类型
4.2.2 属性转换
4.2.3 角色分离
4.3 源代码抽象UML类图的规则
4.3.1 类与类之间的关系
4.3.2 源代码抽象规则
4.3.3代码逆向表示
4.4 本章小结
5 逆向工具MyRec的实现
5.1 反编译模块实现
5.2 UML类图抽象模块实现
5.3 本章小结
6 逆向工具MyRec实验及结果分析
6.1 测试环境
6.2 测试用例和对象
6.3 实验及结果分析
6.4 本章小结
7 总结及展望
参考文献
附录
作者简历及攻读硕士学位期间取得的研究成果
学位论文数据集