我想在获取之前修改下一条指令,在 foo 函数中这篇文章*p
的最佳答案中,指向主函数中的下一条指令。我想修改 where*p
点的内容。例如,我想将下一条指令更改为跳转指令。我该怎么做?
void foo()
{
void** p = search((void**)&p, __builtin_return_address(0));
// modify content of where *p points at.
}
int main()
{
foo();
//next instruction. *p points here
return 0;
}
我想在 intel Core-i7 3632QM 处理器上使用 gcc 编译器来执行此操作。