|
题目:
雅宝题库答案:
****此区域为收费内容**** 需支付 1 知识币后可查看,1币=0.01元查看答案
雅宝题库解析:
在对程序的行为进行分析时,很多时候我们无法获取程序的源代码。此时,对二进制代码进行分析成为我们理解程序行为的重要手段。在二进制代码的静态分析方法中,将二进制代码反汇编、然后在反汇编代码的基础上进行分析是最为准确的。但是由于反汇编代码的可读性很差,直接对反汇编代码进行人工分析比较困难。本文旨在从二进制代码中恢复出函数相关的信息,包括参数、返回值、局部变量、简单的算术表达式、条件表达式以及控制结构等,从而使二进制代码更加易于理解,对分析二进制代码起到辅助作用。本文首先对已有的方法与技术进行了介绍,然后重点研究和探讨了恢复函数信息相关的关键技术,包括恢复函数的控制结构、对call指令的处理、堆栈位置的识别与指令的向上切片、删除中间寄存器、恢复条件表达式、识别“被保护的寄存器”等。本文最终设计并实现了一个对X86/Win32平台的二进制代码进行函数信息恢复的原型工具,该原型工具可以得到函数对堆栈指针的影响,识别函数的寄存器参数、堆栈参数、局部变量和返回值,恢复出函数的控制结构、简单的算术表达式以及绝大多数的条件表达式,并且最终能输出C语言风格的中间表示。对原型工具进行测试的结果表明,本文所提出的关于恢复函数信息的方法与技术具有可行性、实用性。 |
上一篇:基于有限状态机的SIP故障分析系统设计与实现下一篇:民机飞行品质适航性评估方法应用研究
|