gpt4 book ai didi

c++ - 如何从二进制数据调用函数

转载 作者:太空狗 更新时间:2023-10-29 23:29:27 27 4
gpt4 key购买 nike

我有一些包含一堆函数的二进制数据,我想调用其中的一个。我知道这些函数的签名以及相对于文件开头的偏移量。调用约定是默认的:__cdecl。该文件已加载到具有执行权限的内存页中。

例如(ABC是某些类型)

void myFunction (A *arg1, B arg2, C arg3); // Signature
int myOffset = 0x42; // Offset

如何指定 myOffset 指向 myFunction

最佳答案

// define a function pointer
typedef __cdecl void (*your_function) (A *arg1, B arg2, C arg3);
your_function ftr;

char * memory = 0x123456; // base segment address

fptr = (your_function)(memory + 0x42); //calculate memory address

(*ftpr)(a,b,b); // call function

关于c++ - 如何从二进制数据调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1581818/

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