《表1 新旧条件异常代码的关键数据对比》

《表1 新旧条件异常代码的关键数据对比》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《分支混淆中的条件异常代码构造研究》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

而改进后的条件异常代码中,一是内存访问目标地址取值具有多元性;二是使用整个标志寄存器参与内存访问目标地址运算,而不是仅使用受原分支条件污染的标志位参与运算;三是引入了分支输入参与运算,使污染分析更为困难;四是内存访问的目标地址随分支输入的变化而每次产生变化,而在Lin和贾春福等的工作中,目标内存地址在分支输入整个取值变化范围内仅产生一次变化。在使用_try-_except结构替代if-else结构,使用56~60 k B之间的4 k B地址作为异常访问地址,使用程序加载地址作为正常访问地址的例子下,本文方法与文献[17]和文献[13]中的条件异常代码产生的关键数据对比如表1所示。即新的条件异常代码构造方法中,内存访问地址的变化更加随机,且地址取值因输入的不同而变化;相比旧构造方法中地址值仅在分支条件取值产生变化时而不同的状态,新构造方法能够产生更加随机的地址值,因此能够更好地对抗约束条件获取和代码混淆位置的定位,提升了代码混淆的性能。