论文部分内容阅读
一个复杂的ROP shellcode从语义层面经常会用到循环和递归等控制流形式。条件跳转控制流gadget是循环和递归等控制结构的基础。然而ARMv7指令集中的间接条件跳转指令在ARMv8指令集中已经不再存在。ARMv8指令集中的条件跳转指令的目标地址的偏移已经被硬编码,不能被使用,所以ARMv8架构下只能通过无条件跳转gadget的重复使用实现循环和递归。这不仅执行效率低,而且浪费了大量的内存空间。基于上述问题,对ARMv7架构的条件跳转gadget进行了分析,提出一种ARMv8架构基于CMP指令