-
基于Matlab的一维条形码检测之讨论与总结
资源介绍
3.3 讨论与小结
混合符号执行技术已经成为重要的代码执行空间遍历技术。与传统静态符号
执行技术不同,混合符号执行技术充分利用了程序运行时信息,提高了符号执行
的准确性,促进了符号执行技术的发展。另一方面,随着业界对二进制程序分析
需求的不断增长,面向二进制程序的混合符号执行技术变得越来越重要。
本章介绍了符号执行技术的早期发展和不足,讨论了静态符号执行技术到混
合符号执行的转变,分析了源代码级混合符号执行与二进制代码级混合符号执行
所面临的问题,并对典型的面向二进制程序的混合符号执行系统进行了分类研究,
深入研究了几种符号执行技术实现上的差异。
本文提出了一种面向二进制程序的混合符号执行模式。该模式综合利用了
离线分析和面向中间代码的符号执行,模块化程度高,可扩展性强,支持对不
同平台上运行的二进制程序进行分析。本文基于二进制植入平台PIN实现了执
行轨迹记录功能,能够对Windows/Linux等主流操作系统上应用程序记录执行
轨迹;进一步,本文实现了二进制指令翻译模块,能够将x86等二进制指令翻译
至Valgrind中间语言VEX;最后,本文实现了面向VEX中间代码的混合符号执行
模块,在对执行轨迹重放过程中,将二进制指令翻译到中间语言后,进行混合符
号执行。本章实现的混合符号执行原型系统SymReplayer为后文的校验和感知的
模糊测试技术及智能测试例生成技术奠定了基础。
– 40 –