表目录 | 第1-8页 |
图目录 | 第8-10页 |
摘要 | 第10-11页 |
ABSTRACT | 第11-12页 |
第一章 绪论 | 第12-19页 |
·课题背景及意义 | 第12-14页 |
·国内外相关技术研究现状 | 第14-17页 |
·代码逆向分析工具 | 第14-15页 |
·逆向中的代码变换 | 第15-17页 |
·研究内容 | 第17-18页 |
·论文结构安排 | 第18-19页 |
第二章 ARM二进制代码逆向分析的关键技术 | 第19-25页 |
·ARM体系结构 | 第19-20页 |
·程序编译后的代码特征 | 第20-22页 |
·ARM二进制代码解析技术 | 第22-23页 |
·中间代码生成技术 | 第23-24页 |
·本章小结 | 第24-25页 |
第三章 代码语义属性分析 | 第25-37页 |
·程序代码的层次结构 | 第25-26页 |
·指令属性分析 | 第26-32页 |
·操作符属性 | 第27-28页 |
·条件词属性 | 第28-29页 |
·操作数属性 | 第29-32页 |
·指令序列属性分析 | 第32-36页 |
·控制流图 | 第33-35页 |
·过程调用图 | 第35-36页 |
·本章小结 | 第36-37页 |
第四章 二进制逆向中间语言BRIL | 第37-48页 |
·静态单一赋值 | 第37-39页 |
·基于变量位置的SSA表示注记法 | 第37-38页 |
·SSA表示中的数据流信息 | 第38-39页 |
·基于SSA表示的中间语言BRIL | 第39-42页 |
·BRIL文法 | 第39-41页 |
·BRIL对低级指令语义属性的抽象 | 第41-42页 |
·中间语言BRIL的语义 | 第42-47页 |
·中间语言BRIL的抽象语法成分 | 第43-44页 |
·表达式的语义 | 第44-46页 |
·BRIL中间语句的语义 | 第46-47页 |
·本章小结 | 第47-48页 |
第五章 代码变换 | 第48-62页 |
·基于语义字典的代码变换 | 第48-52页 |
·语义字典 | 第48-51页 |
·BRIL代码生成 | 第51-52页 |
·基于SSA的代码变换 | 第52-60页 |
·表达式传播 | 第52-57页 |
·死代码删除 | 第57-59页 |
·表达式代数化简 | 第59-60页 |
·本章小结 | 第60-62页 |
第六章 原型工具CodeSemantics Frontier的设计与实现 | 第62-72页 |
·ARM二进制代码解析模块 | 第62-66页 |
·指令语义属性分析的实现 | 第62-63页 |
·控制流图的构建 | 第63-65页 |
·过程调用图的构建 | 第65-66页 |
·代码变换模块 | 第66-68页 |
·BRIL代码生成 | 第66-67页 |
·BRIL代码优化 | 第67-68页 |
·CodeSemantics Frontier原型工具测试 | 第68-71页 |
·功能测试 | 第68-69页 |
·性能测试与分析 | 第69-71页 |
·本章小结 | 第71-72页 |
结束语 | 第72-74页 |
参考文献 | 第74-77页 |
附录A 中间语言BRIL运算符 | 第77-78页 |
附录B 表达式代数化简常用规则 | 第78-79页 |
作者简历 攻读硕士学位期间完成的主要工作 | 第79-80页 |
致谢 | 第80页 |