《表4 REIL的常见指令及其表达式形式》
与传统的表达式树相同,本文表达式树能够通过访问叶节点来确定表达式的操作数,进而得到gadget的副作用信息,获取表达式所依赖的寄存器或内存空间。与传统表达式树的不同之处在于,该表达式树维护了表达式对应的目标变量,并能通过Expr节点方便地提取某个中间变量对应的表达式值,这为获取部分变量的约束提供了便利。特别地,当gadget的长度较长时,构造的表达式树深度也会增加,在极端情况下会近似成为一条链表,这时确定依赖寄存器的效率会大幅降低。为了能够快速得到依赖寄存器的信息,本文采用以空间换时间的思路,在将IR指令转化成表达式树的过程中,为每一个Expr节点维护依赖寄存器的信息。
图表编号 | XD00197526500 严禁用于非法目的 |
---|---|
绘制时间 | 2021.01.15 |
作者 | 蒋楚、王永杰 |
绘制单位 | 国防科技大学电子对抗学院、国防科技大学电子对抗学院 |
更多格式 | 高清、无水印(增值服务) |