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

被引量 : 0次 | 上传用户:Lucy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着现代软件系统复杂程度的不断提高,作为软件错误诊断和程序理解的重要手段之一的调试也变得越来越重要。可逆向调试技术可以支持向后回滚程序状态,使程序状态回到其历史执行点。程序员利用逆向调试器能加速定位程序中的错误和缺陷,从而大大提高软件开发的效率。逆向调试的基础是程序的逆向执行,当前程序逆向执行研究主要集中在程序设计语言级别的逆向支持和通过程序植入来记录和重现程序历史状态等几种途径。本文研究了利用动态二进制翻译技术对程序进行植入来实现对程序执行状态的记录和重放技术,并在此基础上设计和实现了基于QEMU的逆向调试器PORD。PORD主要由两部分构成,其一是基于修改的QEMU的虚拟机,它用来执行被调试程序。另一部分是提供用户命令界面的R-GDB,它是在GDB的基础上修改而来的,两部分之间通过远程调试协议进行通信,由R-GDB解析用户命令并通知虚拟机执行相应的操作。根据为保存程序状态而进行植入方式的不同,PORD具有Binary-Translate模式和Binary-Copy两种模式。前者应用在源程序和宿主机拥有不同的指令集架构的情形下,可以为程序员提供跨平台的可逆调试环境。当具有相同指令集架构时,Binary-Copy模式可以提供与本地执行速度相当的逆向调试环境。实验证明了本文设计并实现的逆向调试器PORD在保证传统调试器功能的前提下能够快速高效的逆向回滚,重现程序的历史状态。
其他文献
<正>在宋代,"四川"是"川陕四路"的简称,据顾炎武《日知录》卷31《四川》条记载,"唐时剑南一道,止分东西两川而已,至宋则为益州路、梓州路、利州路、夔州路,谓之川陕四路。后
欧盟行政申诉专员制度自1991年创设以来,作为处理和协调不当行政行为的欧盟机关,产生了积极作用,为权利受到不当行政行为影响的欧盟成员国公民,提供了一个较为直接而迅速的申
本文从参数估计准则和收益率波动性的定量表达这两方面来探讨股市收益的波动性预测改进方法,并由此提出了以收益率偏差绝对值为代替偏差平方并利用非线性最小二乘法来估计参
高锰酸盐指数是地表水、生活饮用水及生活污水监测的重要指标,是水质常规监测项目中较难测得准确的项目之一。通过实验分析高锰酸钾浓度、加热时间、温度、滴定速度、样品酸
网络社会规则与范式的建构一开始就不是平等的。本文参照传统社会学的分层理论,阐述在虚拟世界的分层及其不平等现象,从理论角度探讨网络社会的分层及民主范式的建构。
我国跨文化交际学研究与教学专家尚未对以下两个问题予以足够的重视,即把英美领导人在跨文化交际语境中的公开讲话纳入跨文化交际学的研究范围,从批评的视角分析英美领导人在
目的了解聚乙二醇干扰素治疗过程中发生不良反应.尤其是发热的特点,做好预见性护理,提高抗病毒治疗患儿的依从性。方法对聚乙二醇干扰素治疗的167例患儿治疗后4周内进行观察,记录
卫星导航已经广泛应用于社会的各个领域,如:工业、渔业、土建工程、地理信息产业、气象预报、电信、旅游、娱乐等。已经显示出了巨大的应用潜力。卫星导航的基本作用是向各类
大体量大尺度的高层建筑在我们的生存环境中日渐增多,作为构成城市实体的重要建筑类型,它们承担着更多的公共责任。作为设计者,必须寻找新的手段,高层建筑与地面上的人群之间