二进制翻译中自修改代码的缓存策略研究

二进制翻译中自修改代码的缓存策略研究

论文摘要

自修改代码是二进制翻译研究中的难点和影响翻译效率的重要因素。众多文献介绍了自修改代码对二进制翻译效率的影响,但均缺乏量化分析;自修改代码具有在程序执行过程中动态地改变程序自身执行指令的特点,在计算机安全领域有广泛的应用。在自修改代码频繁出现时,二进制翻译器中如何设计和实现高效的代码缓存策略是加速二进制翻译效率值得研究的问题。针对上述问题,利用QEMU作为实验平台,对自修改代码和非自修改代码进行了大量的测试,量化地分析了自修改代码对翻译器的翻译效率和翻译块数量的影响。在量化分析了自修改代码对翻译效率影响的基础上,结合翻译器以基本块和Trace翻译的优点,精确的自修改代码缓存策略PSCM(Precise Self-modifying Code cache Management policy)在以Trace为翻译机制的前提下,通过基本块的精确替换方式,替换由于自修改造成的代码缓存中不一致的翻译块。PSCM通过页块映射把发生自修代码的物理页映射到具体的基本翻译块,通过Trace的定位确定基本翻译块对应的Trace,通过代码缓存管理维护代码缓存中的基本翻译块和Trace链,通过精确的块替换方法替换由于自修改代码造成的代码缓存中失效的基本翻译块。研究结果表明,在QEMU翻译器上,自修改代码随着自修改同比次数增长,其执行时间的增加速度平均是非自修改程序的5.81倍。平均每增加1次自修改,对应在QEMU上的翻译块数量增加10.51。翻译器以Trace为翻译机制的效率较基本块有明显优势。对于PSCM的测试表明,在代码缓存(Code cache)中的翻译块的数量(Flush Blocks counts,FB)为11时,PSCM策略加速因子为3.95;PSCM策略加速因子随着FB的增加而增加,数据说明利用PSCM策略能够改进翻译器在自修改代码翻译的效率。

论文目录

  • 摘要
  • ABSTRACT
  • 1 绪论
  • 1.1 课题背景
  • 1.2 国内外研究进展与现状
  • 1.3 本文研究的内容
  • 1.4 文章结构
  • 2 自修改代码与二进制翻译效率
  • 2.1 自修改代码
  • 2.2 二进制翻译器的代码缓存
  • 2.3 QEMU 的自修改代码机制
  • 2.4 自修改代码对翻译效率影响的量化分析
  • 2.5 本章小结
  • 3 自修改代码的缓存策略设计
  • 3.1 自修改代码的缓存策略PSCM 简介
  • 3.2 PSCM 设计思想
  • 3.3 PSCM 的核心设计
  • 3.4 PSCM 的自修改代码处理流程
  • 3.5 本章小结
  • 4 PSCM 策略的实现
  • 4.1 页块映射
  • 4.2 TRACE 的定位
  • 4.3 代码缓存的管理
  • 4.4 精确的块替换
  • 4.5 本章小结
  • 5 测试与分析
  • 5.1 评价方法和测试环境
  • 5.2 功能测试
  • 5.3 性能测试与分析
  • 5.4 本章小结
  • 6 总结与展望
  • 致谢
  • 参考文献
  • 相关论文文献

    • [1].代码对比与动态规划[J]. 电脑编程技巧与维护 2017(03)
    • [2].什么样的代码才是好代码[J]. 计算机与网络 2017(06)
    • [3].安全通论(14)——病毒式恶意代码的宏观行为分析[J]. 成都信息工程大学学报 2017(01)
    • [4].恶意代码同源判定技术综述[J]. 通信技术 2017(07)
    • [5].基于方法的克隆代码检测[J]. 信息与电脑(理论版) 2017(13)
    • [6].市代码[J]. 山西教育(招考) 2020(03)
    • [7].有关信息代码[J]. 山西教育(招考) 2019(02)
    • [8].关于机场的冷知识[J]. 意林 2019(22)
    • [9].市代码[J]. 山西教育(招考) 2016(08)
    • [10].利用代码重构改善软件设计[J]. 信息记录材料 2020(09)
    • [11].代码自动生成及代码上下文分析研究综述[J]. 数据通信 2020(02)
    • [12].智能代码补全研究综述[J]. 软件学报 2020(05)
    • [13].基于文本分类技术的恶意代码检测工具应用[J]. 科技经济导刊 2020(27)
    • [14].克隆代码映射的方法与应用[J]. 计算机工程与应用 2017(06)
    • [15].基于增强描述的代码搜索方法[J]. 软件学报 2017(06)
    • [16].银行代码安全审计工作探索与实践[J]. 网络安全技术与应用 2017(08)
    • [17].重视统一信用代码的应用[J]. 浙江经济 2017(19)
    • [18].代码依恋检测与重构研究[J]. 电子科技 2016(11)
    • [19].基于相识度的恶意代码检测[J]. 计算机科学 2015(01)
    • [20].有关信息代码[J]. 山西教育(招考) 2018(03)
    • [21].有关信息代码[J]. 山西教育(招考) 2016(Z1)
    • [22].有关信息代码[J]. 山西教育(招考) 2011(08)
    • [23].基于模糊识别恶意代码检测技术的研究[J]. 微电子学与计算机 2014(06)
    • [24].恶意代码加壳脱壳技术[J]. 辽宁警专学报 2014(05)
    • [25].代码复查的要点探讨[J]. 技术与市场 2013(06)
    • [26].代码规制:构建安全文明网络的必由之路[J]. 保密科学技术 2013(07)
    • [27].消除隔阂,提升效率——MATHWORKS推出基于MATLAB生成HDL代码的产品[J]. 世界电子元器件 2012(05)
    • [28].C~#托管代码调用非托管代码参数传递的实现方法[J]. 软件导刊 2011(01)
    • [29].恶意代码与信息安全[J]. 硅谷 2011(18)
    • [30].代码证书遗失声明[J]. 大众标准化 2010(12)

    标签:;  ;  ;  ;  ;  

    二进制翻译中自修改代码的缓存策略研究
    下载Doc文档

    猜你喜欢