Eta*_*tan 2 c++ function-pointers
我有一些二进制数据,其中包含一堆函数,并希望调用其中一个.我知道这些函数的签名以及相对于文件开头的偏移量.调用约定是默认约定:__cdecl.该文件已加载到具有执行权限的内存页面中.
例如(A,B,C是一些类型的)
void myFunction (A *arg1, B arg2, C arg3); // Signature
int myOffset = 0x42; // Offset
Run Code Online (Sandbox Code Playgroud)
我该如何指定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
Run Code Online (Sandbox Code Playgroud)