浅议基于动态二进制翻译的逆向调试器的设计与实现

浅议基于动态二进制翻译的逆向调试器的设计与实现

ID:34809668

大小:3.11 MB

页数:65页

时间:2019-03-11

浅议基于动态二进制翻译的逆向调试器的设计与实现_第1页
浅议基于动态二进制翻译的逆向调试器的设计与实现_第2页
浅议基于动态二进制翻译的逆向调试器的设计与实现_第3页
浅议基于动态二进制翻译的逆向调试器的设计与实现_第4页
浅议基于动态二进制翻译的逆向调试器的设计与实现_第5页
资源描述:

《浅议基于动态二进制翻译的逆向调试器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、西安电子科技大学硕士学位论文基于动态二进制翻译的逆向调试器的设计与实现姓名:刘涛申请学位级别:硕士专业:计算机软件与理论指导教师:刘西洋20080101摘要随着现代软件系统复杂程度的不断提高,作为软件错误诊断和程序理解的重要手段之一的调试也变得越来越重要。可逆向调试技术可以支持向后回滚程序状态,使程序状态回到其历史执行点。程序员利用逆向调试器能加速定位程序中的错误和缺陷,从而大大提高软件开发的效率。逆向调试的基础是程序的逆向执行,当前程序逆向执行研究主要集中在程序设计语言级别的逆向支持和通过程序植入来记录和重现程序历史状态等几种途径。本文研究了利用动态二

2、进制翻译技术对程序进行植入来实现对程序执行状态的记录和重放技术,并在此基础上设计和实现了基于QEMU的逆向调试器PORD。PORD主要由两部分构成,其一是基于修改的QEMU的虚拟机,它用来执行被调试程序。另一部分是提供用户命令界面的R-GDB,它是在GDB的基础上修改而来的,两部分之间通过远程调试协议进行通信,由R-GDB解析用户命令并通知虚拟机执行相应的操作。根据为保存程序状态而进行植入方式的不同,PORD具有Binary-Translate模式和Binary.Copy两种模式。前者应用在源程序和宿主机拥有不同的指令集架构的情形下,可以为程序员提供跨平

3、台的可逆调试环境。当具有相同指令集架构时,Binary.Copy模式可以提供与本地执行速度相当的逆向调试环境。实验证明了本文设计并实现的逆向调试器PORD在保证传统调试器功能的前提下能够快速高效的逆向回滚,重现程序的历史状态。关键词:动态二进制翻译逆向执行可逆调试软件调试AbstractWiththegrowingcomplexityofmodemsoftwaresystems,debuggingismoreandmoreimportanttechnologytodiagnosefaultsandbugsofsoftware,especiallythet

4、echnologyofreversibledebugging.Areversibledebuggercanexecuteprogrambackwardtohistoricalpoints,whichenablesprogrammerstospeedupthelocationofthecauseoftheprogramfailureandimprovethedebuggingefficiencydramatically.Reversibledebuggingisbasedonreversibleexecution.Thecurrentresearcheso

5、freversibleexecutionmainlyfocusonthedesigningnewprogramminglanguagetosupportreversibleexecutionandtherecordingandreplayingprogram’Shistoricstatusthroughprograminstrumentation.Thisthesisstudiesatechnologyofrecordingandreplayingprogram’Sstatusthroughprograminstrumentationbasedthete

6、chnologyofdynamicbinarytranslation.AndthisthesisdesignsandimplementsareversibledebuggercalledPORDwhichisonthebasisofthetechnology。PORDmainlyincludestwoparts,oneisvirtualmachinebasedthemodifiedQEMUtorunthedebuggee,andanotherisR-GDBbasedthemodifiedGDBtointerpretusercommands.R—GDBco

7、mmunicateswithvirtualmachinethroughthemodifiedgdbremotedebuggingprotoc01.R—GDBinterpretstheusercommandandnotifiesthevirtualmachinetoexecutecorrespondingactions.PORDprovidestwomodesinreverseexecution:Binary··TranslateandBinary··Copymode.Binary—Translatemodeisappliedtothecasethatth

8、eguestapplicationandthehostplatformposse

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。