gpt4 book ai didi

c - 使用 gcc 修改内存中的下一条指令

转载 作者:行者123 更新时间:2023-12-01 07:45:44 26 4
gpt4 key购买 nike

我想在获取之前修改下一条指令,在This post的最佳答案中在 foo 函数中,*p 指向 main 函数中的下一条指令。我想修改*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 编译器执行此操作。

最佳答案

For example I want to change the next instruction to a jump instruction. How to I can do this?

在具有现代操作系统的桌面系统上,除非正在执行的程序已经注意将代码保存在 read-write memory pages 中,否则您不能这样做。 .默认情况下,代码加载到只读内存页中。

关于c - 使用 gcc 修改内存中的下一条指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27485010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com