gpt4 book ai didi

c++ - 在 c/c++ 中通过函数在内存中的地址调用函数

转载 作者:IT老高 更新时间:2023-10-28 12:49:39 26 4
gpt4 key购买 nike

如果知道函数的原型(prototype)及其在内存中的地址,是否可以从另一个进程或只知道原型(prototype)和内存地址的某些代码中调用此函数?如果可能,如何在代码中处理返回的类型?

最佳答案

在现代操作系统上,每个进程都有自己的地址空间,并且地址仅在进程内有效。如果您想在其他进程中执行代码,则必须注入(inject)共享库将您的程序附加为调试器

一旦您进入其他程序的地址空间,此代码在任意地址调用函数:

typedef int func(void);
func* f = (func*)0xdeadbeef;
int i = f();

关于c++ - 在 c/c++ 中通过函数在内存中的地址调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8915797/

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