在不发生返回地址栈溢出时,使用后备栈机制能够获得100%的返回地址预测精度。
With the backup stack technique used to repair the return-address stack, a 100% return-address prediction accuracy can be achieved unless overflow appears.
由于我们只是跳转到同一个函数,所以返回地址和旧的% ebp是相同的,栈的大小也不会改变。
Because we are just jumping into the same function, the return address and old % ebp will be the same and the stack size won't change.
这意味着我们必须手工重新编写栈来仿造一个返回地址,以使得尾部调用的函数能直接返回到调用它的函数。
This means that we have to manually rewrite the stack to fake a return address so that the tail-called function will return directly to our parent.
应用推荐