论文部分内容阅读
随着嵌入式系统的不断发展,嵌入式控制系统也趋向于复杂化,针对嵌入式控制软件的逆向分析也变得越来越重要。通过汇编代码逆向分析,可以分析整个软件代码的架构、理解代码的功能和分析出该控制软件的关键控制逻辑算法,帮助用户理解该控制软件,达到用户在理解该软件系统的基础上进行再工程的目的。针对嵌入式控制软件,本文提出了基于该类软件汇编语言的逆向分析方法和策略,包括函数切片、函数调用关系生成、中间语言转换以及数据流分析等方法。其中函数切片与函数调用关系生成是将汇编源代码划分为以函数为单位的模块,并分析函数之间的调用关系,主要用于帮助用户理解整个软件系统的架构;中间语言转换是将汇编语言代码转换为一种类似高级语言的高级中间语言,能帮助更好的理解代码;数据流分析是分析控制参数的数据流向,主要用于帮助用户找到并理解该控制软件的关键控制逻辑算法;以上分析方法和策略最终目的都是为了帮助理解整个控制软件系统。最后,本文实现了函数切片工具和中间语言转换工具,对本文提出的针对嵌入式控制软件汇编语言的逆向分析方法和策略进行了可行性和有效性验证。