面向Java语言逆向技术的研究与实现
致谢 | 第5-6页 |
摘要 | 第6-7页 |
ABSTRACT | 第7-8页 |
1 引言 | 第11-16页 |
1.1 研究背景及意义 | 第11-12页 |
1.2 研究现状 | 第12-14页 |
1.2.1 反编译技术研究现状 | 第12-13页 |
1.2.2 逆向工程抽象模型研究现状 | 第13-14页 |
1.3 本文主要研究工作 | 第14页 |
1.4 本文的组织结构 | 第14-16页 |
2 逆向工程技术 | 第16-24页 |
2.1 逆向技术定义 | 第16-17页 |
2.2 反编译技术 | 第17-19页 |
2.3 逆向工程高层次抽象技术 | 第19-23页 |
2.3.1 UML简介 | 第20-21页 |
2.3.2 源程序分析技术 | 第21-23页 |
2.4 本章小结 | 第23-24页 |
3 Java反编译机制及规则 | 第24-36页 |
3.1 面向对象语言JAVA | 第24-25页 |
3.2. class文件 | 第25-27页 |
3.3 字节码 | 第27-28页 |
3.4 类文件基本格式 | 第28-30页 |
3.4.1 方法和字段描述符 | 第29页 |
3.4.2 类文件结构 | 第29-30页 |
3.4.3 属性 | 第30页 |
3.5 反编译具体过程 | 第30-32页 |
3.6 破解混淆码 | 第32-35页 |
3.6.1 混淆定义 | 第32-33页 |
3.6.2 破解混淆的代码 | 第33页 |
3.6.3 调试程序Omniscient破译编码 | 第33-35页 |
3.7 本章小结 | 第35-36页 |
4 UML类图抽象机制及规则 | 第36-47页 |
4.1 类静态信息获取 | 第36-40页 |
4.1.1 词法分析和语法分析 | 第36-39页 |
4.1.2 分析数据源获取静态关联信息 | 第39-40页 |
4.2 类抽取机制 | 第40-42页 |
4.2.1 实体类型 | 第41-42页 |
4.2.2 属性转换 | 第42页 |
4.2.3 角色分离 | 第42页 |
4.3 源代码抽象UML类图的规则 | 第42-46页 |
4.3.1 类与类之间的关系 | 第42-43页 |
4.3.2 源代码抽象规则 | 第43-45页 |
4.3.3 代码逆向表示 | 第45-46页 |
4.4 本章小结 | 第46-47页 |
5 逆向工具MyRec的实现 | 第47-54页 |
5.1 反编译模块实现 | 第48-51页 |
5.2 UML类图抽象模块实现 | 第51-53页 |
5.3 本章小结 | 第53-54页 |
6 逆向工具MyRec实验及结果分析 | 第54-63页 |
6.1 测试环境 | 第54页 |
6.2 测试用例和对象 | 第54页 |
6.3 实验及结果分析 | 第54-62页 |
6.4 本章小结 | 第62-63页 |
7 总结及展望 | 第63-64页 |
参考文献 | 第64-67页 |
附录A | 第67-69页 |
附录B | 第69-71页 |
作者简历及攻读硕士学位期间取得的研究成果 | 第71-73页 |
学位论文数据集 | 第73页 |