当前位置:主页 > 科技论文 > 计算机论文 >

ARM反编译中的类型分析技术研究

发布时间:2021-03-07 21:43
  以ARM微处理器为核心的嵌入式系统在国防、通信等领域的关键电子设备中得到普遍应用,利用逆向工程技术对其代码的结构和功能进行分析理解具有十分重要的意义,类型分析技术是代码反编译的关键步骤之一。本文在分析ARM汇编指令语义信息的基础上,结合类型变量的定义,归纳总结了类型特征的提取规则,实现了ARM汇编指令类型特征的提取;结合中间语言的特性,设计了中间语言语句的类型属性生成方法,重点阐述了针对中间语言语句表达式中不同种类运算符的处理方法,为原始的未包含类型信息的中间语言添加了类型属性;利用中间语言的类型属性,提出了基于双向数据流分析的类型传播方法,解决了类型信息精确化的问题;分析了存储单元寻址表达式之间的关系特性,设计了数组及结构类型的重构方法;设计并实现了用于ARM反编译的类型分析原型工具。通过大量实例验证了基本类型和复合类型分析方法的正确性,对ARM反编译中的类型分析问题讨论地比较全面、实现简单,具有较强的实用性和可推广性。 

【文章来源】:战略支援部队信息工程大学河南省

【文章页数】:71 页

【学位级别】:硕士

【部分图文】:

ARM反编译中的类型分析技术研究


反编译的典型阶段长期以来,微软系列的操作系统在办公、家庭计算机中占据主导地位,运行于这些计

序列,表达式,示例,语句


uuu:R3二 Rl;;;u:R3二 Rl;;;u:R4二 Rl<<R2;;;图4表达式传播示例如图4所示的中间语句序列(a)中,由于(l)、(2)两处都对Rl进行了定义,不满足条件1,因此不能进行传播;中间语句序列(b)中语句(l)处对R3的重新定义改变了R3的值,因此不能进行传播;中间语句序列(c)中语句51与u、s2与u都满足两个传播条件,因此可以进行传播,传播结果为 R4:(Rl+2)<<(R3)。2.无用代码删除在经过表达式传播之后,中间代码中的一些语句不再影响程序的执行,成为冗余的指令

框架图,类型分析,反编译,框架


类型信息进行重构的过程。其基本思想是根据变量的使用方式发掘隐含在程序中的数据类型信息,首先分析基本数据类型,之后在基本数据类型分析结果的基础上进行复合数据类型的分析。本文中类型分析的目标是标准C语言中的基本类型(int,shortini,unsignedini等)和部分复合类型(数组、结构体)。首先通过对单条ARM汇编指令的类型特征进行分析可以得到一些基本的类型信息,而中间语句中的表达式是由多个操作数和运算符构成的,不同的运算符对参与运算的各个操作数之间的类型存在一定的类型制约关系。因此,可以对这些制约关系进行分析并将其作为中间语言指令类型的推导规则,由己知类型信息的操作数推导得到未知类型信息的操作数的类型,从而得到中间语言的类型属性。而类型属性中的类型信息很有可能是一些基本类型的集合,这种类型的信息并不是类型分析的最终目标,必须通过一定的方法尽可能地得到更小的类型信息集合即更精确的类型。最后,通过对基本类型信息的综合分析,对部分复合类型进行重构。综合上述描述,类型分析框架如图5所示,此框架也是论文研究的整体框架。///指令类型型型型型型型型型型

【参考文献】:
期刊论文
[1]非纯变量下标的数组类型恢复[J]. 陈凯明,刘宗田.  计算机工程与设计. 2001(05)
[2]8086C逆编译数据类型恢复技术[J]. 刘宗田,李力.  计算机研究与发展. 1992(04)

硕士论文
[1]反编译中的数据类型恢复问题[D]. 夏靓.东南大学 2005



本文编号:3069850

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3069850.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户1a63d***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com