1、毕业 开题报告课 题 基于 ARM 处理器反编译技术 学员单位 四大队三营 姓 名 曹 华 学 号 4042013023 导师单位 导师姓名 张 有 为 职 称 设计论文开题题目:基于 ARM 处理器反编译技术1、 选题描述1. 选题背景以 ARM 微处理器为核心的嵌入式系统在国防、通信等领域的关键电子设备中得到普遍应用,利用逆向工程技术对其代码的结构和功能进行分析理解具有十分重要的意义,类型分析技术是代码反编译的关键步骤之一。类型分析技术是在分析 ARM 汇编指令语义信息的基础上,结合类型变量的定义, 归纳总结了类型特征的提取规则,实现了 ARM 汇编指令类型特征的提取;结合中间语言的特性,
2、设计了中间语言语句的类型属性生成方法,重点阐述了针对中间语言语句表达式中不同种类运算符的处理方法,为原始的未包含类型信息的中间语言添加了类型属性;利用中间语言的类型属性,提出了基于双向数据流分析的类型传播方法,解决了类型信息精确化的问题;分析了存储单元寻址表达式之间的关系特性,设计了数组及结构类型的重构方法;设计并实现了用于 ARM 反编译的类型分析原型工具。通过大量实例验证了基本类型和复合类型分析方法的正确性,对 ARM 反编译中的类型分析问题讨论地比较全面、实现简单,具有较强的实用性和可推广性。 2. 选题依据和意义缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码、设计思想及理
3、念, 以便复制 , 改造、移植和发展;从源码上对软件的可靠性和安全性进行验证,对那些直接与 CPU 相关的目标代码进行安全性分析。3. 研究目标分析 ARM 处理器指令的特点,以及编译以后可执行的二进制文件代码的特征;分解标识出指令代码和数据代码。4. 研究内容ARM 汇编指令语义信息,类型变量,以及类型特征的提取规则。5. 国内外现状目前大部分 ARM 反编译软件是用高级语言编写的,但由于技术保密等原因,绝大部分软件是以机器码形式提供给用户,机器码可读性极差,因此人们需要有一种能将机器码程序翻译成易于阅读和理解的高级语言程序的软件工具,这就是反编译系统。反编译作为一种软件分析和理解的工具,是软件逆向工程的重要组成部分。可以说自编译技术产生以来,人们就开始了反编译技术的研究,但反编译技术远不如编译技术发展迅速 。2、 研究方案 1、 总体方案基于对 ARM 处理器结构及功能的研究,实现 ARM 反编译技术。2、 详细设计(1 )建立基于静态分析的初始控制流图,利用动态跟踪修正控制流图(2 )通过代码重建和控制流重构工作,实现多源反编译3、 工作安排第一阶段(大四上学期)完成对课题的进一步分析了解,收集各类文献撰写好开题报告。第二阶段(大四下学期)完成课题,并对其进行后续的调试完善,最后完成论文的撰写工作。4、 参考文献1周丽娜著,ARM 反编译中的类型分析技术研究